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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<SearchContactsForRole xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <ContactTypes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
  </ContactTypes>
  <ExcludeRole>00000000-0000-0000-0000-000000000000</ExcludeRole>
  <IncludeDetails>false</IncludeDetails>
  <RoleGroups xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
  </RoleGroups>
  <Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
  </Roles>
  <SearchBy>00000000-0000-0000-0000-000000000000</SearchBy>
  <SearchText>String</SearchText>
</SearchContactsForRole>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SearchContactsForRoleResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <Contacts xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.Models">
    <d2p1:ContactSummaryModel>
      <d2p1:ContactFullName>String</d2p1:ContactFullName>
      <d2p1:ContactId>00000000-0000-0000-0000-000000000000</d2p1:ContactId>
      <d2p1:ContactTypeId>00000000-0000-0000-0000-000000000000</d2p1:ContactTypeId>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:EmailAddress>String</d2p1:EmailAddress>
      <d2p1:EmploymentGeographicArea>String</d2p1:EmploymentGeographicArea>
      <d2p1:EmploymentIndustry>String</d2p1:EmploymentIndustry>
      <d2p1:EmploymentRole>String</d2p1:EmploymentRole>
      <d2p1:IsRemovedContact>false</d2p1:IsRemovedContact>
      <d2p1:MobileNumber>String</d2p1:MobileNumber>
      <d2p1:PhoneNumber>String</d2p1:PhoneNumber>
      <d2p1:PrimaryAddress>String</d2p1:PrimaryAddress>
      <d2p1:ProfilePhotoThumbnailUrl>String</d2p1:ProfilePhotoThumbnailUrl>
      <d2p1:ProfilePhotoUrl>String</d2p1:ProfilePhotoUrl>
      <d2p1:TimezoneName>String</d2p1:TimezoneName>
    </d2p1:ContactSummaryModel>
  </Contacts>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</SearchContactsForRoleResponse>