Platform API

<back to all web services

GetConnectionRequests

Requires Authentication
The following routes are available for this service:
All Verbs/api/contacts/{ContactId}/connectionrequests/received
All Verbs/api/contacts/{ContactId}/connectionrequests/sent
import 'package:servicestack/servicestack.dart';

class ContactSummaryModel implements IConvertible
{
    /**
    * Contact linked to the profile
    */
    // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
    String? ContactId;

    /**
    * Full name of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Full name of the contact linked to the profile", Name="ContactFullName")
    String? ContactFullName;

    /**
    * Email Address of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Email Address of the contact linked to the profile", Name="EmailAddress")
    String? EmailAddress;

    /**
    * Mobile Number of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Mobile Number of the contact linked to the profile", Name="MobileNumber")
    String? MobileNumber;

    /**
    * Primary Phone Number of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Primary Phone Number of the contact linked to the profile", Name="PhoneNumber")
    String? PhoneNumber;

    /**
    * Type of contact (person, organisation etc.) linked to the profile
    */
    // @ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeId")
    String? ContactTypeId;

    /**
    * Profile photo of contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl")
    String? ProfilePhotoUrl;

    /**
    * Thumbnail photo of contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl")
    String? ProfilePhotoThumbnailUrl;

    /**
    * Profile description
    */
    // @ApiMember(DataType="string", Description="Profile description", Name="Description")
    String? Description;

    /**
    * Employment Industry
    */
    // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")
    String? EmploymentIndustry;

    /**
    * Employment Role
    */
    // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")
    String? EmploymentRole;

    /**
    * Areas of Work
    */
    // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")
    String? EmploymentGeographicArea;

    /**
    * Timezone Name
    */
    // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")
    String? TimezoneName;

    /**
    * The primary address of the contact
    */
    // @ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query")
    String? PrimaryAddress;

    /**
    * Have all connections to the contact been removed?
    */
    // @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact")
    bool? IsRemovedContact;

    ContactSummaryModel({this.ContactId,this.ContactFullName,this.EmailAddress,this.MobileNumber,this.PhoneNumber,this.ContactTypeId,this.ProfilePhotoUrl,this.ProfilePhotoThumbnailUrl,this.Description,this.EmploymentIndustry,this.EmploymentRole,this.EmploymentGeographicArea,this.TimezoneName,this.PrimaryAddress,this.IsRemovedContact});
    ContactSummaryModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactId = json['ContactId'];
        ContactFullName = json['ContactFullName'];
        EmailAddress = json['EmailAddress'];
        MobileNumber = json['MobileNumber'];
        PhoneNumber = json['PhoneNumber'];
        ContactTypeId = json['ContactTypeId'];
        ProfilePhotoUrl = json['ProfilePhotoUrl'];
        ProfilePhotoThumbnailUrl = json['ProfilePhotoThumbnailUrl'];
        Description = json['Description'];
        EmploymentIndustry = json['EmploymentIndustry'];
        EmploymentRole = json['EmploymentRole'];
        EmploymentGeographicArea = json['EmploymentGeographicArea'];
        TimezoneName = json['TimezoneName'];
        PrimaryAddress = json['PrimaryAddress'];
        IsRemovedContact = json['IsRemovedContact'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactId': ContactId,
        'ContactFullName': ContactFullName,
        'EmailAddress': EmailAddress,
        'MobileNumber': MobileNumber,
        'PhoneNumber': PhoneNumber,
        'ContactTypeId': ContactTypeId,
        'ProfilePhotoUrl': ProfilePhotoUrl,
        'ProfilePhotoThumbnailUrl': ProfilePhotoThumbnailUrl,
        'Description': Description,
        'EmploymentIndustry': EmploymentIndustry,
        'EmploymentRole': EmploymentRole,
        'EmploymentGeographicArea': EmploymentGeographicArea,
        'TimezoneName': TimezoneName,
        'PrimaryAddress': PrimaryAddress,
        'IsRemovedContact': IsRemovedContact
    };

    getTypeName() => "ContactSummaryModel";
    TypeContext? context = _ctx;
}

class ContactConnectionModel implements IConvertible
{
    /**
    * Connection Id (if applicable)
    */
    // @ApiMember(DataType="Guid?", Description="Connection Id (if applicable)", Name="ConnectionId")
    String? ConnectionId;

    /**
    * Connection Request Id (if applicable)
    */
    // @ApiMember(DataType="Guid?", Description="Connection Request Id (if applicable)", Name="ConnectionRequestId")
    String? ConnectionRequestId;

    /**
    * Details of the contact
    */
    // @ApiMember(DataType="ContactSummaryModel", Description="Details of the contact", IsRequired=true, Name="Contact")
    ContactSummaryModel? Contact;

    /**
    * Contact's role Id in the connection
    */
    // @ApiMember(DataType="Guid", Description="Contact's role Id in the connection", IsRequired=true, Name="ContactRoleId")
    String? ContactRoleId;

    /**
    * Contact's role name in the connection
    */
    // @ApiMember(DataType="string", Description="Contact's role name in the connection", Name="ContactRoleName")
    String? ContactRoleName;

    /**
    * Requestor Contact Id
    */
    // @ApiMember(DataType="Guid", Description="Requestor Contact Id", IsRequired=true, Name="RequestorContactId")
    String? RequestorContactId;

    /**
    * Requestor Contact Name
    */
    // @ApiMember(DataType="Guid", Description="Requestor Contact Name", Name="RequestorContactName")
    String? RequestorContactName;

    /**
    * Requestor contact's role Id in the connection
    */
    // @ApiMember(DataType="Guid", Description="Requestor contact's role Id in the connection", IsRequired=true, Name="RequestorRoleId")
    String? RequestorRoleId;

    /**
    * Requestor's role name in the connection
    */
    // @ApiMember(DataType="string", Description="Requestor's role name in the connection", Name="RequestorRoleName")
    String? RequestorRoleName;

    /**
    * Primary role in the connection to display
    */
    // @ApiMember(DataType="string", Description="Primary role in the connection to display", Name="PrimaryRoleName")
    String? PrimaryRoleName;

    /**
    * Connection Status Id
    */
    // @ApiMember(DataType="Guid", Description="Connection Status Id", IsRequired=true, Name="ConnectionStatusId")
    String? ConnectionStatusId;

    /**
    * Connection Status Name
    */
    // @ApiMember(DataType="string", Description="Connection Status Name", Name="ConnectionStatusName")
    String? ConnectionStatusName;

    /**
    * Is this a pending connection request?
    */
    // @ApiMember(DataType="bool", Description="Is this a pending connection request?", Name="IsConnectionRequest")
    bool? IsConnectionRequest;

    /**
    * Is this an incoming connection request?
    */
    // @ApiMember(DataType="bool", Description="Is this an incoming connection request?", Name="IsIncoming")
    bool? IsIncoming;

    DateTime? FromDate;
    /**
    * Details of the contact suggesting this connection
    */
    // @ApiMember(DataType="ContactSummaryModel", Description="Details of the contact suggesting this connection", IsRequired=true, Name="SuggesterContact")
    ContactSummaryModel? SuggesterContact;

    /**
    * Can this connection be cancelled?
    */
    // @ApiMember(DataType="bool", Description="Can this connection be cancelled?", Name="AllowCancel")
    bool? AllowCancel;

    /**
    * Can this connection be removed?
    */
    // @ApiMember(DataType="bool", Description="Can this connection be removed?", Name="AllowRemove")
    bool? AllowRemove;

    ContactConnectionModel({this.ConnectionId,this.ConnectionRequestId,this.Contact,this.ContactRoleId,this.ContactRoleName,this.RequestorContactId,this.RequestorContactName,this.RequestorRoleId,this.RequestorRoleName,this.PrimaryRoleName,this.ConnectionStatusId,this.ConnectionStatusName,this.IsConnectionRequest,this.IsIncoming,this.FromDate,this.SuggesterContact,this.AllowCancel,this.AllowRemove});
    ContactConnectionModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ConnectionId = json['ConnectionId'];
        ConnectionRequestId = json['ConnectionRequestId'];
        Contact = JsonConverters.fromJson(json['Contact'],'ContactSummaryModel',context!);
        ContactRoleId = json['ContactRoleId'];
        ContactRoleName = json['ContactRoleName'];
        RequestorContactId = json['RequestorContactId'];
        RequestorContactName = json['RequestorContactName'];
        RequestorRoleId = json['RequestorRoleId'];
        RequestorRoleName = json['RequestorRoleName'];
        PrimaryRoleName = json['PrimaryRoleName'];
        ConnectionStatusId = json['ConnectionStatusId'];
        ConnectionStatusName = json['ConnectionStatusName'];
        IsConnectionRequest = json['IsConnectionRequest'];
        IsIncoming = json['IsIncoming'];
        FromDate = JsonConverters.fromJson(json['FromDate'],'DateTime',context!);
        SuggesterContact = JsonConverters.fromJson(json['SuggesterContact'],'ContactSummaryModel',context!);
        AllowCancel = json['AllowCancel'];
        AllowRemove = json['AllowRemove'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ConnectionId': ConnectionId,
        'ConnectionRequestId': ConnectionRequestId,
        'Contact': JsonConverters.toJson(Contact,'ContactSummaryModel',context!),
        'ContactRoleId': ContactRoleId,
        'ContactRoleName': ContactRoleName,
        'RequestorContactId': RequestorContactId,
        'RequestorContactName': RequestorContactName,
        'RequestorRoleId': RequestorRoleId,
        'RequestorRoleName': RequestorRoleName,
        'PrimaryRoleName': PrimaryRoleName,
        'ConnectionStatusId': ConnectionStatusId,
        'ConnectionStatusName': ConnectionStatusName,
        'IsConnectionRequest': IsConnectionRequest,
        'IsIncoming': IsIncoming,
        'FromDate': JsonConverters.toJson(FromDate,'DateTime',context!),
        'SuggesterContact': JsonConverters.toJson(SuggesterContact,'ContactSummaryModel',context!),
        'AllowCancel': AllowCancel,
        'AllowRemove': AllowRemove
    };

    getTypeName() => "ContactConnectionModel";
    TypeContext? context = _ctx;
}

class GetConnectionRequestsResponse implements IConvertible
{
    List<ContactConnectionModel>? ConnectionRequests;
    ResponseStatus? ResponseStatus;

    GetConnectionRequestsResponse({this.ConnectionRequests,this.ResponseStatus});
    GetConnectionRequestsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ConnectionRequests = JsonConverters.fromJson(json['ConnectionRequests'],'List<ContactConnectionModel>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ConnectionRequests': JsonConverters.toJson(ConnectionRequests,'List<ContactConnectionModel>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetConnectionRequestsResponse";
    TypeContext? context = _ctx;
}

class GetConnectionRequests implements IConvertible
{
    /**
    * Contact to get connection requests for
    */
    // @ApiMember(Description="Contact to get connection requests for", IsRequired=true, Name="ContactId")
    String? ContactId;

    /**
    * Filter connection requests for the specified contact types
    */
    // @ApiMember(Description="Filter connection requests for the specified contact types", IsRequired=true, Name="ContactTypes")
    List<String>? ContactTypes = [];

    /**
    * Include ignored connection requests?
    */
    // @ApiMember(Description="Include ignored connection requests?", IsRequired=true, Name="IncludeIgnoredRequests")
    bool? IncludeIgnoredRequests;

    GetConnectionRequests({this.ContactId,this.ContactTypes,this.IncludeIgnoredRequests});
    GetConnectionRequests.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactId = json['ContactId'];
        ContactTypes = JsonConverters.fromJson(json['ContactTypes'],'List<String>',context!);
        IncludeIgnoredRequests = json['IncludeIgnoredRequests'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactId': ContactId,
        'ContactTypes': JsonConverters.toJson(ContactTypes,'List<String>',context!),
        'IncludeIgnoredRequests': IncludeIgnoredRequests
    };

    getTypeName() => "GetConnectionRequests";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
    'ContactSummaryModel': TypeInfo(TypeOf.Class, create:() => ContactSummaryModel()),
    'ContactConnectionModel': TypeInfo(TypeOf.Class, create:() => ContactConnectionModel()),
    'GetConnectionRequestsResponse': TypeInfo(TypeOf.Class, create:() => GetConnectionRequestsResponse()),
    'List<ContactConnectionModel>': TypeInfo(TypeOf.Class, create:() => <ContactConnectionModel>[]),
    'GetConnectionRequests': TypeInfo(TypeOf.Class, create:() => GetConnectionRequests()),
});

Dart GetConnectionRequests DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/contacts/{ContactId}/connectionrequests/received HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ContactTypes: 
	[
		00000000-0000-0000-0000-000000000000
	],
	IncludeIgnoredRequests: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ConnectionRequests: 
	[
		{
			ConnectionId: 00000000000000000000000000000000,
			ConnectionRequestId: 00000000000000000000000000000000,
			Contact: 
			{
				ContactFullName: String,
				EmailAddress: String,
				MobileNumber: String,
				PhoneNumber: String,
				ProfilePhotoUrl: String,
				ProfilePhotoThumbnailUrl: String,
				Description: String,
				EmploymentIndustry: String,
				EmploymentRole: String,
				EmploymentGeographicArea: String,
				TimezoneName: String,
				PrimaryAddress: String,
				IsRemovedContact: False
			},
			ContactRoleName: String,
			RequestorContactName: String,
			RequestorRoleName: String,
			PrimaryRoleName: String,
			ConnectionStatusName: String,
			IsConnectionRequest: False,
			IsIncoming: False,
			FromDate: 0001-01-01,
			SuggesterContact: 
			{
				ContactFullName: String,
				EmailAddress: String,
				MobileNumber: String,
				PhoneNumber: String,
				ProfilePhotoUrl: String,
				ProfilePhotoThumbnailUrl: String,
				Description: String,
				EmploymentIndustry: String,
				EmploymentRole: String,
				EmploymentGeographicArea: String,
				TimezoneName: String,
				PrimaryAddress: String,
				IsRemovedContact: False
			},
			AllowCancel: False,
			AllowRemove: False
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}