Platform API

<back to all web services

GetConnectionsToContact

Get connections to the specified contact for the requestor contact

Requires Authentication
The following routes are available for this service:
All Verbs/api/contacts/{ContactId}/connections

export enum SortOrder
{
    Ascending = 'Ascending',
    Descending = 'Descending',
}

export class PagedModel
{
    /** @description Page Number to retrieve */
    // @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber")
    public PageNumber: number;

    /** @description Number of records to retrieve */
    // @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize")
    public PageSize: number;

    /** @description Index of field to sort results by */
    // @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex")
    public SortIndex: number;

    /** @description Sort Order - Ascending or Descending */
    // @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder")
    public SortOrder: SortOrder;

    public constructor(init?: Partial<PagedModel>) { (Object as any).assign(this, init); }
}

export class ContactSummaryModel
{
    /** @description Contact linked to the profile */
    // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
    public ContactId: string;

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

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

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

    /** @description 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")
    public PhoneNumber: string;

    /** @description 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")
    public ContactTypeId: string;

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

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

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

    /** @description Employment Industry */
    // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")
    public EmploymentIndustry: string;

    /** @description Employment Role */
    // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")
    public EmploymentRole: string;

    /** @description Areas of Work */
    // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")
    public EmploymentGeographicArea: string;

    /** @description Timezone Name */
    // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")
    public TimezoneName: string;

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

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

    public constructor(init?: Partial<ContactSummaryModel>) { (Object as any).assign(this, init); }
}

export class ContactConnectionModel
{
    /** @description Connection Id (if applicable) */
    // @ApiMember(DataType="Guid?", Description="Connection Id (if applicable)", Name="ConnectionId")
    public ConnectionId?: string;

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

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

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

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

    /** @description Requestor Contact Id */
    // @ApiMember(DataType="Guid", Description="Requestor Contact Id", IsRequired=true, Name="RequestorContactId")
    public RequestorContactId: string;

    /** @description Requestor Contact Name */
    // @ApiMember(DataType="Guid", Description="Requestor Contact Name", Name="RequestorContactName")
    public RequestorContactName: string;

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

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

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

    /** @description Connection Status Id */
    // @ApiMember(DataType="Guid", Description="Connection Status Id", IsRequired=true, Name="ConnectionStatusId")
    public ConnectionStatusId: string;

    /** @description Connection Status Name */
    // @ApiMember(DataType="string", Description="Connection Status Name", Name="ConnectionStatusName")
    public ConnectionStatusName: string;

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

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

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

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

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

    public constructor(init?: Partial<ContactConnectionModel>) { (Object as any).assign(this, init); }
}

// @ApiResponse(Description="Connections to the specified contact for the requestor contact")
export class GetConnectionsToContactResponse
{
    public Connections: ContactConnectionModel[];
    public TotalConnections: number;
    public ResponseStatus: ResponseStatus;

    public constructor(init?: Partial<GetConnectionsToContactResponse>) { (Object as any).assign(this, init); }
}

/** @description Get connections to the specified contact for the requestor contact */
// @Api(Description="Get connections to the specified contact for the requestor contact")
export class GetConnectionsToContact extends PagedModel
{
    /** @description Contact Id to get connections for */
    // @ApiMember(DataType="Guid", Description="Contact Id to get connections for", IsRequired=true, Name="ContactId")
    public ContactId: string;

    /** @description Type of the contact to get connections for (i.e. Real/ virtual Person/ Organisation) */
    // @ApiMember(DataType="Guid", Description="Type of the contact to get connections for (i.e. Real/ virtual Person/ Organisation)", IsRequired=true, Name="ContactTypeId")
    public ContactTypeId: string;

    /** @description Contact Id requesting the details - Current user or licensee */
    // @ApiMember(DataType="Guid", Description="Contact Id requesting the details - Current user or licensee", IsRequired=true, Name="RequestorContactId")
    public RequestorContactId: string;

    /** @description Return all connections or paged results? */
    // @ApiMember(Description="Return all connections or paged results?", Name="IsPagedMode")
    public IsPagedMode: boolean;

    /** @description Option to return removed connections */
    // @ApiMember(Description="Option to return removed connections", Name="IncludeRemoved")
    public IncludeRemoved: boolean;

    public constructor(init?: Partial<GetConnectionsToContact>) { super(init); (Object as any).assign(this, init); }
}

TypeScript GetConnectionsToContact 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}/connections HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	IsPagedMode: False,
	IncludeRemoved: False,
	PageNumber: 0,
	PageSize: 0,
	SortIndex: 0,
	SortOrder: Ascending
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Connections: 
	[
		{
			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
		}
	],
	TotalConnections: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}