Platform API

<back to all web services

GetContactsManagingOrgProfile

Gets a list of contacts that are currently managing the userProfileId supplied.

Requires Authentication
The following routes are available for this service:
All Verbs/api/contacts/{UserProfileId}/managingorgprofile
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class UserProfileSummaryModel implements JsonSerializable
{
    public function __construct(
        /** @description User Profile Id */
        // @ApiMember(DataType="Guid", Description="User Profile Id", Name="UserProfileId")
        /** @var string */
        public string $UserProfileId='',

        /** @description User linked to the profile */
        // @ApiMember(DataType="Guid", Description="User linked to the profile", Name="UserId")
        /** @var string */
        public string $UserId='',

        /** @description Contact linked to the profile */
        // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
        /** @var string */
        public string $ContactId='',

        /** @description User linked to the profile */
        // @ApiMember(DataType="string", Description="User linked to the profile", Name="UserName")
        /** @var string|null */
        public ?string $UserName=null,

        /** @description User Profile Name */
        // @ApiMember(DataType="string", Description="User Profile Name", Name="ProfileName")
        /** @var string|null */
        public ?string $ProfileName=null,

        /** @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")
        /** @var string|null */
        public ?string $ContactFullName=null,

        /** @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")
        /** @var string|null */
        public ?string $EmailAddress=null,

        /** @description Email signature of the contact linked to the profile */
        // @ApiMember(DataType="string", Description="Email signature of the contact linked to the profile", Name="EmailSignature")
        /** @var string|null */
        public ?string $EmailSignature=null,

        /** @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")
        /** @var string|null */
        public ?string $MobileNumber=null,

        /** @description Phone number of the contact linked to the profile */
        // @ApiMember(DataType="string", Description="Phone number of the contact linked to the profile", Name="PhoneNumber")
        /** @var string|null */
        public ?string $PhoneNumber=null,

        /** @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")
        /** @var string */
        public string $ContactTypeId='',

        /** @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="ContactTypeName")
        /** @var string|null */
        public ?string $ContactTypeName=null,

        /** @description First name of the contact linked to the profile */
        // @ApiMember(DataType="string", Description="First name of the contact linked to the profile", Name="FirstName")
        /** @var string|null */
        public ?string $FirstName=null,

        /** @description Surname of the contact linked to the profile */
        // @ApiMember(DataType="string", Description="Surname of the contact linked to the profile", Name="Surname")
        /** @var string|null */
        public ?string $Surname=null,

        /** @description Title of contact linked to the profile */
        // @ApiMember(DataType="string", Description="Title of contact linked to the profile", Name="Title")
        /** @var string|null */
        public ?string $Title=null,

        /** @description Legal name of contact linked to the profile */
        // @ApiMember(DataType="string", Description="Legal name of contact linked to the profile", Name="LegalName")
        /** @var string|null */
        public ?string $LegalName=null,

        /** @description Trading name of contact linked to the profile */
        // @ApiMember(DataType="string", Description="Trading name of contact linked to the profile", Name="TradingName")
        /** @var string|null */
        public ?string $TradingName=null,

        /** @description Australian Business Number */
        // @ApiMember(DataType="string", Description="Australian Business Number", Name="Abn", ParameterType="query")
        /** @var string|null */
        public ?string $Abn=null,

        /** @description Australian Company Number */
        // @ApiMember(DataType="string", Description="Australian Company Number", Name="Acn", ParameterType="query")
        /** @var string|null */
        public ?string $Acn=null,

        /** @description Australian Registered Body Number */
        // @ApiMember(DataType="string", Description="Australian Registered Body Number", Name="Arbn", ParameterType="query")
        /** @var string|null */
        public ?string $Arbn=null,

        /** @description Indicates if the Contact is registered for GST. */
        // @ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST.", Name="GstRegistered", ParameterType="query")
        /** @var bool|null */
        public ?bool $GstRegistered=null,

        /** @description True if english is a secondary language for the contact. */
        // @ApiMember(DataType="bool", Description="True if english is a secondary language for the contact.", Name="ESL", ParameterType="query")
        /** @var bool|null */
        public ?bool $ESL=null,

        /** @description Language that is the primary language for the contact. */
        // @ApiMember(DataType="string", Description="Language that is the primary language for the contact.", Name="Language", ParameterType="query")
        /** @var string|null */
        public ?string $Language=null,

        /** @description True if an interpreter is required. */
        // @ApiMember(DataType="bool", Description="True if an interpreter is required.", Name="InterpreterRequired", ParameterType="query")
        /** @var bool|null */
        public ?bool $InterpreterRequired=null,

        /** @description Licensee specific notes about the contact. */
        // @ApiMember(DataType="string", Description="Licensee specific notes about the contact.", Name="LicenseeNotes", ParameterType="query")
        /** @var string|null */
        public ?string $LicenseeNotes=null,

        /** @description Profile photo of contact linked to the profile */
        // @ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl")
        /** @var string|null */
        public ?string $ProfilePhotoUrl=null,

        /** @description Thumbnail photo of contact linked to the profile */
        // @ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl")
        /** @var string|null */
        public ?string $ProfilePhotoThumbnailUrl=null,

        /** @description Profile photo id of contact linked to the profile */
        // @ApiMember(DataType="Guid", Description="Profile photo id of contact linked to the profile", Name="ProfileImageId")
        /** @var string */
        public string $ProfileImageId='',

        /** @description Profile description */
        // @ApiMember(DataType="string", Description="Profile description", Name="Description")
        /** @var string|null */
        public ?string $Description=null,

        /** @description Employment Industry */
        // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")
        /** @var string|null */
        public ?string $EmploymentIndustry=null,

        /** @description Employment Role */
        // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")
        /** @var string|null */
        public ?string $EmploymentRole=null,

        /** @description Areas of Work */
        // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")
        /** @var string|null */
        public ?string $EmploymentGeographicArea=null,

        /** @description The contacts timezone. */
        // @ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query")
        /** @var string */
        public string $Timezone='',

        /** @description Timezone Name */
        // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")
        /** @var string|null */
        public ?string $TimezoneName=null,

        /** @description The primary address of the contact */
        // @ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query")
        /** @var string|null */
        public ?string $PrimaryAddress=null,

        /** @description Is this an active contact? Or an inactive contact (deleted account)? */
        // @ApiMember(DataType="bool", Description="Is this an active contact? Or an inactive contact (deleted account)?", Name="IsActiveContact")
        /** @var bool|null */
        public ?bool $IsActiveContact=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['UserProfileId'])) $this->UserProfileId = $o['UserProfileId'];
        if (isset($o['UserId'])) $this->UserId = $o['UserId'];
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['UserName'])) $this->UserName = $o['UserName'];
        if (isset($o['ProfileName'])) $this->ProfileName = $o['ProfileName'];
        if (isset($o['ContactFullName'])) $this->ContactFullName = $o['ContactFullName'];
        if (isset($o['EmailAddress'])) $this->EmailAddress = $o['EmailAddress'];
        if (isset($o['EmailSignature'])) $this->EmailSignature = $o['EmailSignature'];
        if (isset($o['MobileNumber'])) $this->MobileNumber = $o['MobileNumber'];
        if (isset($o['PhoneNumber'])) $this->PhoneNumber = $o['PhoneNumber'];
        if (isset($o['ContactTypeId'])) $this->ContactTypeId = $o['ContactTypeId'];
        if (isset($o['ContactTypeName'])) $this->ContactTypeName = $o['ContactTypeName'];
        if (isset($o['FirstName'])) $this->FirstName = $o['FirstName'];
        if (isset($o['Surname'])) $this->Surname = $o['Surname'];
        if (isset($o['Title'])) $this->Title = $o['Title'];
        if (isset($o['LegalName'])) $this->LegalName = $o['LegalName'];
        if (isset($o['TradingName'])) $this->TradingName = $o['TradingName'];
        if (isset($o['Abn'])) $this->Abn = $o['Abn'];
        if (isset($o['Acn'])) $this->Acn = $o['Acn'];
        if (isset($o['Arbn'])) $this->Arbn = $o['Arbn'];
        if (isset($o['GstRegistered'])) $this->GstRegistered = $o['GstRegistered'];
        if (isset($o['ESL'])) $this->ESL = $o['ESL'];
        if (isset($o['Language'])) $this->Language = $o['Language'];
        if (isset($o['InterpreterRequired'])) $this->InterpreterRequired = $o['InterpreterRequired'];
        if (isset($o['LicenseeNotes'])) $this->LicenseeNotes = $o['LicenseeNotes'];
        if (isset($o['ProfilePhotoUrl'])) $this->ProfilePhotoUrl = $o['ProfilePhotoUrl'];
        if (isset($o['ProfilePhotoThumbnailUrl'])) $this->ProfilePhotoThumbnailUrl = $o['ProfilePhotoThumbnailUrl'];
        if (isset($o['ProfileImageId'])) $this->ProfileImageId = $o['ProfileImageId'];
        if (isset($o['Description'])) $this->Description = $o['Description'];
        if (isset($o['EmploymentIndustry'])) $this->EmploymentIndustry = $o['EmploymentIndustry'];
        if (isset($o['EmploymentRole'])) $this->EmploymentRole = $o['EmploymentRole'];
        if (isset($o['EmploymentGeographicArea'])) $this->EmploymentGeographicArea = $o['EmploymentGeographicArea'];
        if (isset($o['Timezone'])) $this->Timezone = $o['Timezone'];
        if (isset($o['TimezoneName'])) $this->TimezoneName = $o['TimezoneName'];
        if (isset($o['PrimaryAddress'])) $this->PrimaryAddress = $o['PrimaryAddress'];
        if (isset($o['IsActiveContact'])) $this->IsActiveContact = $o['IsActiveContact'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->UserProfileId)) $o['UserProfileId'] = $this->UserProfileId;
        if (isset($this->UserId)) $o['UserId'] = $this->UserId;
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->UserName)) $o['UserName'] = $this->UserName;
        if (isset($this->ProfileName)) $o['ProfileName'] = $this->ProfileName;
        if (isset($this->ContactFullName)) $o['ContactFullName'] = $this->ContactFullName;
        if (isset($this->EmailAddress)) $o['EmailAddress'] = $this->EmailAddress;
        if (isset($this->EmailSignature)) $o['EmailSignature'] = $this->EmailSignature;
        if (isset($this->MobileNumber)) $o['MobileNumber'] = $this->MobileNumber;
        if (isset($this->PhoneNumber)) $o['PhoneNumber'] = $this->PhoneNumber;
        if (isset($this->ContactTypeId)) $o['ContactTypeId'] = $this->ContactTypeId;
        if (isset($this->ContactTypeName)) $o['ContactTypeName'] = $this->ContactTypeName;
        if (isset($this->FirstName)) $o['FirstName'] = $this->FirstName;
        if (isset($this->Surname)) $o['Surname'] = $this->Surname;
        if (isset($this->Title)) $o['Title'] = $this->Title;
        if (isset($this->LegalName)) $o['LegalName'] = $this->LegalName;
        if (isset($this->TradingName)) $o['TradingName'] = $this->TradingName;
        if (isset($this->Abn)) $o['Abn'] = $this->Abn;
        if (isset($this->Acn)) $o['Acn'] = $this->Acn;
        if (isset($this->Arbn)) $o['Arbn'] = $this->Arbn;
        if (isset($this->GstRegistered)) $o['GstRegistered'] = $this->GstRegistered;
        if (isset($this->ESL)) $o['ESL'] = $this->ESL;
        if (isset($this->Language)) $o['Language'] = $this->Language;
        if (isset($this->InterpreterRequired)) $o['InterpreterRequired'] = $this->InterpreterRequired;
        if (isset($this->LicenseeNotes)) $o['LicenseeNotes'] = $this->LicenseeNotes;
        if (isset($this->ProfilePhotoUrl)) $o['ProfilePhotoUrl'] = $this->ProfilePhotoUrl;
        if (isset($this->ProfilePhotoThumbnailUrl)) $o['ProfilePhotoThumbnailUrl'] = $this->ProfilePhotoThumbnailUrl;
        if (isset($this->ProfileImageId)) $o['ProfileImageId'] = $this->ProfileImageId;
        if (isset($this->Description)) $o['Description'] = $this->Description;
        if (isset($this->EmploymentIndustry)) $o['EmploymentIndustry'] = $this->EmploymentIndustry;
        if (isset($this->EmploymentRole)) $o['EmploymentRole'] = $this->EmploymentRole;
        if (isset($this->EmploymentGeographicArea)) $o['EmploymentGeographicArea'] = $this->EmploymentGeographicArea;
        if (isset($this->Timezone)) $o['Timezone'] = $this->Timezone;
        if (isset($this->TimezoneName)) $o['TimezoneName'] = $this->TimezoneName;
        if (isset($this->PrimaryAddress)) $o['PrimaryAddress'] = $this->PrimaryAddress;
        if (isset($this->IsActiveContact)) $o['IsActiveContact'] = $this->IsActiveContact;
        return empty($o) ? new class(){} : $o;
    }
}

class GetContactsManagingOrgProfileResponse implements JsonSerializable
{
    public function __construct(
        /** @description A list of contacts eligible, and managing the passed in Organisation Profile. */
        // @ApiMember(DataType="List<UserProfileSummaryModel>", Description="A list of contacts eligible, and managing the passed in Organisation Profile.", Name="ContactsManagingOrgProfile")
        /** @var array<UserProfileSummaryModel>|null */
        public ?array $ContactsNotManagingOrgProfile=null,

        /** @var int */
        public int $TotalContactsManagingOrgProfile=0,
        /** @description Service Stack Response Status. */
        // @ApiMember(DataType="ResponseStatus", Description="Service Stack Response Status.", Name="ResponseStatus")
        /** @var ResponseStatus|null */
        public ?ResponseStatus $ResponseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactsNotManagingOrgProfile'])) $this->ContactsNotManagingOrgProfile = JsonConverters::fromArray('UserProfileSummaryModel', $o['ContactsNotManagingOrgProfile']);
        if (isset($o['TotalContactsManagingOrgProfile'])) $this->TotalContactsManagingOrgProfile = $o['TotalContactsManagingOrgProfile'];
        if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactsNotManagingOrgProfile)) $o['ContactsNotManagingOrgProfile'] = JsonConverters::toArray('UserProfileSummaryModel', $this->ContactsNotManagingOrgProfile);
        if (isset($this->TotalContactsManagingOrgProfile)) $o['TotalContactsManagingOrgProfile'] = $this->TotalContactsManagingOrgProfile;
        if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

/** @description Gets a list of contacts that are currently managing the userProfileId supplied. */
// @Api(Description="Gets a list of contacts that are currently managing the userProfileId supplied.")
class GetContactsManagingOrgProfile implements JsonSerializable
{
    public function __construct(
        /** @description Id of the Organisation Profile record being managed. */
        // @ApiMember(DataType="Guid", Description="Id of the Organisation Profile record being managed.", IsRequired=true, Name="UserProfileId", ParameterType="query")
        /** @var string */
        public string $UserProfileId=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['UserProfileId'])) $this->UserProfileId = $o['UserProfileId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->UserProfileId)) $o['UserProfileId'] = $this->UserProfileId;
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetContactsManagingOrgProfile 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/contacts/{UserProfileId}/managingorgprofile HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetContactsManagingOrgProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <UserProfileId>00000000-0000-0000-0000-000000000000</UserProfileId>
</GetContactsManagingOrgProfile>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetContactsManagingOrgProfileResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <ContactsNotManagingOrgProfile xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.Models">
    <d2p1:UserProfileSummaryModel>
      <d2p1:Abn>String</d2p1:Abn>
      <d2p1:Acn>String</d2p1:Acn>
      <d2p1:Arbn>String</d2p1:Arbn>
      <d2p1:ContactFullName>String</d2p1:ContactFullName>
      <d2p1:ContactId>00000000-0000-0000-0000-000000000000</d2p1:ContactId>
      <d2p1:ContactTypeId>00000000-0000-0000-0000-000000000000</d2p1:ContactTypeId>
      <d2p1:ContactTypeName>String</d2p1:ContactTypeName>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:ESL>false</d2p1:ESL>
      <d2p1:EmailAddress>String</d2p1:EmailAddress>
      <d2p1:EmailSignature>String</d2p1:EmailSignature>
      <d2p1:EmploymentGeographicArea>String</d2p1:EmploymentGeographicArea>
      <d2p1:EmploymentIndustry>String</d2p1:EmploymentIndustry>
      <d2p1:EmploymentRole>String</d2p1:EmploymentRole>
      <d2p1:FirstName>String</d2p1:FirstName>
      <d2p1:GstRegistered>false</d2p1:GstRegistered>
      <d2p1:InterpreterRequired>false</d2p1:InterpreterRequired>
      <d2p1:IsActiveContact>false</d2p1:IsActiveContact>
      <d2p1:Language>String</d2p1:Language>
      <d2p1:LegalName>String</d2p1:LegalName>
      <d2p1:LicenseeNotes>String</d2p1:LicenseeNotes>
      <d2p1:MobileNumber>String</d2p1:MobileNumber>
      <d2p1:PhoneNumber>String</d2p1:PhoneNumber>
      <d2p1:PrimaryAddress>String</d2p1:PrimaryAddress>
      <d2p1:ProfileImageId>00000000-0000-0000-0000-000000000000</d2p1:ProfileImageId>
      <d2p1:ProfileName>String</d2p1:ProfileName>
      <d2p1:ProfilePhotoThumbnailUrl>String</d2p1:ProfilePhotoThumbnailUrl>
      <d2p1:ProfilePhotoUrl>String</d2p1:ProfilePhotoUrl>
      <d2p1:Surname>String</d2p1:Surname>
      <d2p1:Timezone>00000000-0000-0000-0000-000000000000</d2p1:Timezone>
      <d2p1:TimezoneName>String</d2p1:TimezoneName>
      <d2p1:Title>String</d2p1:Title>
      <d2p1:TradingName>String</d2p1:TradingName>
      <d2p1:UserId>00000000-0000-0000-0000-000000000000</d2p1:UserId>
      <d2p1:UserName>String</d2p1:UserName>
      <d2p1:UserProfileId>00000000-0000-0000-0000-000000000000</d2p1:UserProfileId>
    </d2p1:UserProfileSummaryModel>
  </ContactsNotManagingOrgProfile>
  <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>
  <TotalContactsManagingOrgProfile>0</TotalContactsManagingOrgProfile>
</GetContactsManagingOrgProfileResponse>