Platform API

<back to all web services

GetSlimContacts

Get contacts connected to the current contact or licensee (if managing licensee contacts) by criteria, returning minimal number of columns

Requires Authentication
The following routes are available for this service:
All Verbs/api/slimcontacts
"use strict";
/** @typedef {'Ascending'|'Descending'} */
export var SortOrder;
(function (SortOrder) {
    SortOrder["Ascending"] = "Ascending"
    SortOrder["Descending"] = "Descending"
})(SortOrder || (SortOrder = {}));
export class PagedModel {
    /** @param {{PageNumber?:number,PageSize?:number,SortIndex?:number,SortOrder?:SortOrder}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description Page Number to retrieve */
    PageNumber;
    /**
     * @type {number}
     * @description Number of records to retrieve */
    PageSize;
    /**
     * @type {number}
     * @description Index of field to sort results by */
    SortIndex;
    /**
     * @type {SortOrder}
     * @description Sort Order - Ascending or Descending */
    SortOrder;
}
export class ContactSummaryModel {
    /** @param {{ContactId?:string,ContactFullName?:string,EmailAddress?:string,MobileNumber?:string,PhoneNumber?:string,ContactTypeId?:string,ProfilePhotoUrl?:string,ProfilePhotoThumbnailUrl?:string,Description?:string,EmploymentIndustry?:string,EmploymentRole?:string,EmploymentGeographicArea?:string,TimezoneName?:string,PrimaryAddress?:string,IsRemovedContact?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Contact linked to the profile */
    ContactId;
    /**
     * @type {string}
     * @description Full name of the contact linked to the profile */
    ContactFullName;
    /**
     * @type {string}
     * @description Email Address of the contact linked to the profile */
    EmailAddress;
    /**
     * @type {string}
     * @description Mobile Number of the contact linked to the profile */
    MobileNumber;
    /**
     * @type {string}
     * @description Primary Phone Number of the contact linked to the profile */
    PhoneNumber;
    /**
     * @type {string}
     * @description Type of contact (person, organisation etc.) linked to the profile */
    ContactTypeId;
    /**
     * @type {string}
     * @description Profile photo of contact linked to the profile */
    ProfilePhotoUrl;
    /**
     * @type {string}
     * @description Thumbnail photo of contact linked to the profile */
    ProfilePhotoThumbnailUrl;
    /**
     * @type {string}
     * @description Profile description */
    Description;
    /**
     * @type {string}
     * @description Employment Industry */
    EmploymentIndustry;
    /**
     * @type {string}
     * @description Employment Role */
    EmploymentRole;
    /**
     * @type {string}
     * @description Areas of Work */
    EmploymentGeographicArea;
    /**
     * @type {string}
     * @description Timezone Name */
    TimezoneName;
    /**
     * @type {string}
     * @description The primary address of the contact */
    PrimaryAddress;
    /**
     * @type {boolean}
     * @description Have all connections to the contact been removed? */
    IsRemovedContact;
}
export class GetSlimContactsResponse {
    /** @param {{Contacts?:ContactSummaryModel[],TotalContacts?:number,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ContactSummaryModel[]} */
    Contacts;
    /** @type {number} */
    TotalContacts;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class GetSlimContacts extends PagedModel {
    /** @param {{SearchText?:string,ContactTypes?:string[],Statuses?:string[],IncludeRemoved?:boolean,IsPagedMode?:boolean,PageNumber?:number,PageSize?:number,SortIndex?:number,SortOrder?:SortOrder}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {string}
     * @description Specific search text to search for, e.g. Contact Name, Employment Details etc. */
    SearchText;
    /**
     * @type {string[]}
     * @description Contact Types to search for, i.e. People and/or Organisations */
    ContactTypes = [];
    /**
     * @type {string[]}
     * @description Contact statuses to search for, i.e. Real and/or Virtual */
    Statuses = [];
    /**
     * @type {boolean}
     * @description Include contacts previously connected to the contact but now removed. */
    IncludeRemoved;
    /**
     * @type {boolean}
     * @description Return all contacts matching criteria, or paged results? */
    IsPagedMode;
}

JavaScript GetSlimContacts DTOs

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

HTTP + OTHER

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

POST /api/slimcontacts HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"SearchText":"String","ContactTypes":["00000000-0000-0000-0000-000000000000"],"Statuses":["00000000-0000-0000-0000-000000000000"],"IncludeRemoved":false,"IsPagedMode":false,"PageNumber":0,"PageSize":0,"SortIndex":0,"SortOrder":"Ascending"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Contacts":[{"ContactId":"00000000-0000-0000-0000-000000000000","ContactFullName":"String","EmailAddress":"String","MobileNumber":"String","PhoneNumber":"String","ContactTypeId":"00000000-0000-0000-0000-000000000000","ProfilePhotoUrl":"String","ProfilePhotoThumbnailUrl":"String","Description":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","TimezoneName":"String","PrimaryAddress":"String","IsRemovedContact":false}],"TotalContacts":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}