| 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 .csv suffix or ?format=csv
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: text/csv
Content-Type: text/csv
Content-Length: length
{"ContactId":"00000000-0000-0000-0000-000000000000","ContactTypes":["00000000-0000-0000-0000-000000000000"],"IncludeIgnoredRequests":false}
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}