Platform API

<back to all web services

SearchContactsForRole

Search contacts by Name or Email Address, by Role Groups, or by Roles

Requires Authentication
The following routes are available for this service:
All Verbs/api/searchcontactsforroles
"use strict";
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 SearchContactsForRoleResponse {
    /** @param {{Contacts?:ContactSummaryModel[],ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ContactSummaryModel[]} */
    Contacts;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class SearchContactsForRole {
    /** @param {{SearchBy?:string,Roles?:string[],RoleGroups?:string[],SearchText?:string,ExcludeRole?:string,ContactTypes?:string[],IncludeDetails?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Search type: by Name or Email Address, by Role Groups, or by Roles */
    SearchBy;
    /**
     * @type {string[]}
     * @description Roles that contacts are connected to. */
    Roles;
    /**
     * @type {string[]}
     * @description Role Groups that contacts are connected to. */
    RoleGroups;
    /**
     * @type {string}
     * @description For Search by Name or Email Address, filters contact results by this text value. */
    SearchText;
    /**
     * @type {string}
     * @description Excludes contacts already connected to this role. */
    ExcludeRole;
    /**
     * @type {string[]}
     * @description Filters contact results by contact type(s) provided, e.g. Real Persons, Organisations etc. Defaults to real person. */
    ContactTypes;
    /**
     * @type {boolean}
     * @description Determines whether the contact details (Email, mobile number etc.) to be returned. */
    IncludeDetails;
}

JavaScript SearchContactsForRole 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/searchcontactsforroles HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Roles: 
	[
		00000000-0000-0000-0000-000000000000
	],
	RoleGroups: 
	[
		00000000-0000-0000-0000-000000000000
	],
	SearchText: String,
	ContactTypes: 
	[
		00000000-0000-0000-0000-000000000000
	],
	IncludeDetails: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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