Platform API

<back to all web services

GetConnectionRequests

Requires Authentication
The following routes are available for this service:
All Verbs/api/contacts/{ContactId}/connectionrequests/received
All Verbs/api/contacts/{ContactId}/connectionrequests/sent
<?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 ContactSummaryModel implements JsonSerializable
{
    public function __construct(
        /** @description Contact linked to the profile */
        // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
        /** @var string */
        public string $ContactId='',

        /** @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 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 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")
        /** @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 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 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 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 Have all connections to the contact been removed? */
        // @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact")
        /** @var bool|null */
        public ?bool $IsRemovedContact=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['ContactFullName'])) $this->ContactFullName = $o['ContactFullName'];
        if (isset($o['EmailAddress'])) $this->EmailAddress = $o['EmailAddress'];
        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['ProfilePhotoUrl'])) $this->ProfilePhotoUrl = $o['ProfilePhotoUrl'];
        if (isset($o['ProfilePhotoThumbnailUrl'])) $this->ProfilePhotoThumbnailUrl = $o['ProfilePhotoThumbnailUrl'];
        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['TimezoneName'])) $this->TimezoneName = $o['TimezoneName'];
        if (isset($o['PrimaryAddress'])) $this->PrimaryAddress = $o['PrimaryAddress'];
        if (isset($o['IsRemovedContact'])) $this->IsRemovedContact = $o['IsRemovedContact'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->ContactFullName)) $o['ContactFullName'] = $this->ContactFullName;
        if (isset($this->EmailAddress)) $o['EmailAddress'] = $this->EmailAddress;
        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->ProfilePhotoUrl)) $o['ProfilePhotoUrl'] = $this->ProfilePhotoUrl;
        if (isset($this->ProfilePhotoThumbnailUrl)) $o['ProfilePhotoThumbnailUrl'] = $this->ProfilePhotoThumbnailUrl;
        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->TimezoneName)) $o['TimezoneName'] = $this->TimezoneName;
        if (isset($this->PrimaryAddress)) $o['PrimaryAddress'] = $this->PrimaryAddress;
        if (isset($this->IsRemovedContact)) $o['IsRemovedContact'] = $this->IsRemovedContact;
        return empty($o) ? new class(){} : $o;
    }
}

class ContactConnectionModel implements JsonSerializable
{
    public function __construct(
        /** @description Connection Id (if applicable) */
        // @ApiMember(DataType="Guid?", Description="Connection Id (if applicable)", Name="ConnectionId")
        /** @var string|null */
        public ?string $ConnectionId=null,

        /** @description Connection Request Id (if applicable) */
        // @ApiMember(DataType="Guid?", Description="Connection Request Id (if applicable)", Name="ConnectionRequestId")
        /** @var string|null */
        public ?string $ConnectionRequestId=null,

        /** @description Details of the contact */
        // @ApiMember(DataType="ContactSummaryModel", Description="Details of the contact", IsRequired=true, Name="Contact")
        /** @var ContactSummaryModel|null */
        public ?ContactSummaryModel $Contact=null,

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

        /** @description Contact's role name in the connection */
        // @ApiMember(DataType="string", Description="Contact's role name in the connection", Name="ContactRoleName")
        /** @var string|null */
        public ?string $ContactRoleName=null,

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

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

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

        /** @description Requestor's role name in the connection */
        // @ApiMember(DataType="string", Description="Requestor's role name in the connection", Name="RequestorRoleName")
        /** @var string|null */
        public ?string $RequestorRoleName=null,

        /** @description Primary role in the connection to display */
        // @ApiMember(DataType="string", Description="Primary role in the connection to display", Name="PrimaryRoleName")
        /** @var string|null */
        public ?string $PrimaryRoleName=null,

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

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

        /** @description Is this a pending connection request? */
        // @ApiMember(DataType="bool", Description="Is this a pending connection request?", Name="IsConnectionRequest")
        /** @var bool|null */
        public ?bool $IsConnectionRequest=null,

        /** @description Is this an incoming connection request? */
        // @ApiMember(DataType="bool", Description="Is this an incoming connection request?", Name="IsIncoming")
        /** @var bool|null */
        public ?bool $IsIncoming=null,

        /** @var DateTime|null */
        public ?DateTime $FromDate=null,
        /** @description Details of the contact suggesting this connection */
        // @ApiMember(DataType="ContactSummaryModel", Description="Details of the contact suggesting this connection", IsRequired=true, Name="SuggesterContact")
        /** @var ContactSummaryModel|null */
        public ?ContactSummaryModel $SuggesterContact=null,

        /** @description Can this connection be cancelled? */
        // @ApiMember(DataType="bool", Description="Can this connection be cancelled?", Name="AllowCancel")
        /** @var bool|null */
        public ?bool $AllowCancel=null,

        /** @description Can this connection be removed? */
        // @ApiMember(DataType="bool", Description="Can this connection be removed?", Name="AllowRemove")
        /** @var bool|null */
        public ?bool $AllowRemove=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ConnectionId'])) $this->ConnectionId = $o['ConnectionId'];
        if (isset($o['ConnectionRequestId'])) $this->ConnectionRequestId = $o['ConnectionRequestId'];
        if (isset($o['Contact'])) $this->Contact = JsonConverters::from('ContactSummaryModel', $o['Contact']);
        if (isset($o['ContactRoleId'])) $this->ContactRoleId = $o['ContactRoleId'];
        if (isset($o['ContactRoleName'])) $this->ContactRoleName = $o['ContactRoleName'];
        if (isset($o['RequestorContactId'])) $this->RequestorContactId = $o['RequestorContactId'];
        if (isset($o['RequestorContactName'])) $this->RequestorContactName = $o['RequestorContactName'];
        if (isset($o['RequestorRoleId'])) $this->RequestorRoleId = $o['RequestorRoleId'];
        if (isset($o['RequestorRoleName'])) $this->RequestorRoleName = $o['RequestorRoleName'];
        if (isset($o['PrimaryRoleName'])) $this->PrimaryRoleName = $o['PrimaryRoleName'];
        if (isset($o['ConnectionStatusId'])) $this->ConnectionStatusId = $o['ConnectionStatusId'];
        if (isset($o['ConnectionStatusName'])) $this->ConnectionStatusName = $o['ConnectionStatusName'];
        if (isset($o['IsConnectionRequest'])) $this->IsConnectionRequest = $o['IsConnectionRequest'];
        if (isset($o['IsIncoming'])) $this->IsIncoming = $o['IsIncoming'];
        if (isset($o['FromDate'])) $this->FromDate = JsonConverters::from('DateTime', $o['FromDate']);
        if (isset($o['SuggesterContact'])) $this->SuggesterContact = JsonConverters::from('ContactSummaryModel', $o['SuggesterContact']);
        if (isset($o['AllowCancel'])) $this->AllowCancel = $o['AllowCancel'];
        if (isset($o['AllowRemove'])) $this->AllowRemove = $o['AllowRemove'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ConnectionId)) $o['ConnectionId'] = $this->ConnectionId;
        if (isset($this->ConnectionRequestId)) $o['ConnectionRequestId'] = $this->ConnectionRequestId;
        if (isset($this->Contact)) $o['Contact'] = JsonConverters::to('ContactSummaryModel', $this->Contact);
        if (isset($this->ContactRoleId)) $o['ContactRoleId'] = $this->ContactRoleId;
        if (isset($this->ContactRoleName)) $o['ContactRoleName'] = $this->ContactRoleName;
        if (isset($this->RequestorContactId)) $o['RequestorContactId'] = $this->RequestorContactId;
        if (isset($this->RequestorContactName)) $o['RequestorContactName'] = $this->RequestorContactName;
        if (isset($this->RequestorRoleId)) $o['RequestorRoleId'] = $this->RequestorRoleId;
        if (isset($this->RequestorRoleName)) $o['RequestorRoleName'] = $this->RequestorRoleName;
        if (isset($this->PrimaryRoleName)) $o['PrimaryRoleName'] = $this->PrimaryRoleName;
        if (isset($this->ConnectionStatusId)) $o['ConnectionStatusId'] = $this->ConnectionStatusId;
        if (isset($this->ConnectionStatusName)) $o['ConnectionStatusName'] = $this->ConnectionStatusName;
        if (isset($this->IsConnectionRequest)) $o['IsConnectionRequest'] = $this->IsConnectionRequest;
        if (isset($this->IsIncoming)) $o['IsIncoming'] = $this->IsIncoming;
        if (isset($this->FromDate)) $o['FromDate'] = JsonConverters::to('DateTime', $this->FromDate);
        if (isset($this->SuggesterContact)) $o['SuggesterContact'] = JsonConverters::to('ContactSummaryModel', $this->SuggesterContact);
        if (isset($this->AllowCancel)) $o['AllowCancel'] = $this->AllowCancel;
        if (isset($this->AllowRemove)) $o['AllowRemove'] = $this->AllowRemove;
        return empty($o) ? new class(){} : $o;
    }
}

class GetConnectionRequestsResponse implements JsonSerializable
{
    public function __construct(
        /** @var array<ContactConnectionModel>|null */
        public ?array $ConnectionRequests=null,
        /** @var ResponseStatus|null */
        public ?ResponseStatus $ResponseStatus=null
    ) {
    }

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

class GetConnectionRequests implements JsonSerializable
{
    public function __construct(
        /** @description Contact to get connection requests for */
        // @ApiMember(Description="Contact to get connection requests for", IsRequired=true, Name="ContactId")
        /** @var string */
        public string $ContactId='',

        /** @description Filter connection requests for the specified contact types */
        // @ApiMember(Description="Filter connection requests for the specified contact types", IsRequired=true, Name="ContactTypes")
        /** @var array<string>|null */
        public ?array $ContactTypes=null,

        /** @description Include ignored connection requests? */
        // @ApiMember(Description="Include ignored connection requests?", IsRequired=true, Name="IncludeIgnoredRequests")
        /** @var bool|null */
        public ?bool $IncludeIgnoredRequests=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['ContactTypes'])) $this->ContactTypes = JsonConverters::fromArray('Guid', $o['ContactTypes']);
        if (isset($o['IncludeIgnoredRequests'])) $this->IncludeIgnoredRequests = $o['IncludeIgnoredRequests'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->ContactTypes)) $o['ContactTypes'] = JsonConverters::toArray('Guid', $this->ContactTypes);
        if (isset($this->IncludeIgnoredRequests)) $o['IncludeIgnoredRequests'] = $this->IncludeIgnoredRequests;
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetConnectionRequests DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /api/contacts/{ContactId}/connectionrequests/received HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ContactId":"00000000-0000-0000-0000-000000000000","ContactTypes":["00000000-0000-0000-0000-000000000000"],"IncludeIgnoredRequests":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ConnectionRequests":[{"ConnectionId":"00000000000000000000000000000000","ConnectionRequestId":"00000000000000000000000000000000","Contact":{"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},"ContactRoleId":"00000000-0000-0000-0000-000000000000","ContactRoleName":"String","RequestorContactId":"00000000-0000-0000-0000-000000000000","RequestorContactName":"String","RequestorRoleId":"00000000-0000-0000-0000-000000000000","RequestorRoleName":"String","PrimaryRoleName":"String","ConnectionStatusId":"00000000-0000-0000-0000-000000000000","ConnectionStatusName":"String","IsConnectionRequest":false,"IsIncoming":false,"FromDate":"0001-01-01T00:00:00.0000000","SuggesterContact":{"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},"AllowCancel":false,"AllowRemove":false}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}