| GET | /api/objects/{ObjectId}/contactconnections | ||
|---|---|---|---|
| GET | /api/projects/{ObjectId}/myteam |
<?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 ObjectContactConnectionModel implements JsonSerializable
{
public function __construct(
/** @var string */
public string $ObjectContactConnectionId='',
/** @var string */
public string $ContactRoleConnectionId='',
/** @var string */
public string $ObjectId='',
/** @var ContactSummaryModel|null */
public ?ContactSummaryModel $Contact=null,
/** @var string */
public string $RoleId='',
/** @var string|null */
public ?string $RoleName=null,
/** @var DateTime */
public DateTime $Created=new DateTime()
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ObjectContactConnectionId'])) $this->ObjectContactConnectionId = $o['ObjectContactConnectionId'];
if (isset($o['ContactRoleConnectionId'])) $this->ContactRoleConnectionId = $o['ContactRoleConnectionId'];
if (isset($o['ObjectId'])) $this->ObjectId = $o['ObjectId'];
if (isset($o['Contact'])) $this->Contact = JsonConverters::from('ContactSummaryModel', $o['Contact']);
if (isset($o['RoleId'])) $this->RoleId = $o['RoleId'];
if (isset($o['RoleName'])) $this->RoleName = $o['RoleName'];
if (isset($o['Created'])) $this->Created = JsonConverters::from('DateTime', $o['Created']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ObjectContactConnectionId)) $o['ObjectContactConnectionId'] = $this->ObjectContactConnectionId;
if (isset($this->ContactRoleConnectionId)) $o['ContactRoleConnectionId'] = $this->ContactRoleConnectionId;
if (isset($this->ObjectId)) $o['ObjectId'] = $this->ObjectId;
if (isset($this->Contact)) $o['Contact'] = JsonConverters::to('ContactSummaryModel', $this->Contact);
if (isset($this->RoleId)) $o['RoleId'] = $this->RoleId;
if (isset($this->RoleName)) $o['RoleName'] = $this->RoleName;
if (isset($this->Created)) $o['Created'] = JsonConverters::to('DateTime', $this->Created);
return empty($o) ? new class(){} : $o;
}
}
// @ApiResponse(Description="Returns the contact connections for the specified object.")
class GetObjectContactConnectionsResponse implements JsonSerializable
{
public function __construct(
/** @var array<ObjectContactConnectionModel>|null */
public ?array $ContactConnections=null,
/** @var ResponseStatus|null */
public ?ResponseStatus $ResponseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ContactConnections'])) $this->ContactConnections = JsonConverters::fromArray('ObjectContactConnectionModel', $o['ContactConnections']);
if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ContactConnections)) $o['ContactConnections'] = JsonConverters::toArray('ObjectContactConnectionModel', $this->ContactConnections);
if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
return empty($o) ? new class(){} : $o;
}
}
/** @description Get contact connections for the specified object. */
// @Api(Description="Get contact connections for the specified object.")
class GetObjectContactConnections implements JsonSerializable
{
public function __construct(
/** @description Object Id to get contact connections for */
// @ApiMember(DataType="Guid", Description="Object Id to get contact connections for", IsRequired=true, Name="ObjectId")
/** @var string */
public string $ObjectId=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ObjectId'])) $this->ObjectId = $o['ObjectId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ObjectId)) $o['ObjectId'] = $this->ObjectId;
return empty($o) ? new class(){} : $o;
}
}
PHP GetObjectContactConnections 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.
GET /api/objects/{ObjectId}/contactconnections HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ContactConnections":[{"ObjectContactConnectionId":"00000000-0000-0000-0000-000000000000","ContactRoleConnectionId":"00000000-0000-0000-0000-000000000000","ObjectId":"00000000-0000-0000-0000-000000000000","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},"RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","Created":"0001-01-01T00:00:00.0000000"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}