| PUT | /api/contactgroups/{ContactGroupId} |
|---|
<?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};
// @ApiResponse(Description="Create contact group")
class UpdateContactGroupResponse implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $Status=null,
/** @var ResponseStatus|null */
public ?ResponseStatus $ResponseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Status'])) $this->Status = $o['Status'];
if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Status)) $o['Status'] = $this->Status;
if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
return empty($o) ? new class(){} : $o;
}
}
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 RoleModel implements JsonSerializable
{
public function __construct(
/** @description Role Id */
// @ApiMember(DataType="Guid", Description="Role Id", IsRequired=true, Name="RoleId")
/** @var string */
public string $RoleId='',
/** @description Role Name */
// @ApiMember(DataType="string", Description="Role Name", Name="RoleName")
/** @var string|null */
public ?string $RoleName=null,
/** @description Is the role a licensee role? */
// @ApiMember(DataType="bool", Description="Is the role a licensee role?", Name="IsLicensee")
/** @var bool|null */
public ?bool $IsLicenseeRole=null,
/** @description Is manage contacts role? */
// @ApiMember(DataType="bool", Description="Is manage contacts role?", Name="IsManageContacts")
/** @var bool|null */
public ?bool $IsManageContacts=null,
/** @description Is the role a Platform role? */
// @ApiMember(DataType="bool", Description="Is the role a Platform role?", Name="IsPlatformRole")
/** @var bool|null */
public ?bool $IsPlatformRole=null,
/** @description Is the role a services role? */
// @ApiMember(DataType="bool", Description="Is the role a services role?", Name="IsServiceRole")
/** @var bool|null */
public ?bool $IsServiceRole=null,
/** @description Is the role a customer role? */
// @ApiMember(DataType="bool", Description="Is the role a customer role?", Name="IsCustomerRole")
/** @var bool|null */
public ?bool $IsCustomerRole=null,
/** @description Is the role a functional role? */
// @ApiMember(DataType="bool", Description="Is the role a functional role?", Name="IsFunctionalRole")
/** @var bool|null */
public ?bool $IsFunctionalRole=null,
/** @description Is the role an auto-accept role? */
// @ApiMember(DataType="bool", Description="Is the role an auto-accept role?", Name="IsRequestAutoAccepted")
/** @var bool|null */
public ?bool $IsRequestAutoAccepted=null,
/** @description Suite that the role belongs to */
// @ApiMember(DataType="Guid", Description="Suite that the role belongs to", Name="SuiteId")
/** @var string */
public string $SuiteId='',
/** @description Suite that the role belongs to */
// @ApiMember(DataType="string", Description="Suite that the role belongs to", Name="SuiteName")
/** @var string|null */
public ?string $SuiteName=null,
/** @description 'A' (Active) or 'I' (Inactive) */
// @ApiMember(DataType="string", Description="'A' (Active) or 'I' (Inactive)", Name="RecordStatus")
/** @var string|null */
public ?string $RecordStatus=null,
/** @description Object Connection Id, which is populated when the roles are returned based on those that are connected to an object. */
// @ApiMember(DataType="Guid", Description="Object Connection Id, which is populated when the roles are returned based on those that are connected to an object.", Name="ObjectConnectionId")
/** @var string */
public string $ObjectConnectionId=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['RoleId'])) $this->RoleId = $o['RoleId'];
if (isset($o['RoleName'])) $this->RoleName = $o['RoleName'];
if (isset($o['IsLicenseeRole'])) $this->IsLicenseeRole = $o['IsLicenseeRole'];
if (isset($o['IsManageContacts'])) $this->IsManageContacts = $o['IsManageContacts'];
if (isset($o['IsPlatformRole'])) $this->IsPlatformRole = $o['IsPlatformRole'];
if (isset($o['IsServiceRole'])) $this->IsServiceRole = $o['IsServiceRole'];
if (isset($o['IsCustomerRole'])) $this->IsCustomerRole = $o['IsCustomerRole'];
if (isset($o['IsFunctionalRole'])) $this->IsFunctionalRole = $o['IsFunctionalRole'];
if (isset($o['IsRequestAutoAccepted'])) $this->IsRequestAutoAccepted = $o['IsRequestAutoAccepted'];
if (isset($o['SuiteId'])) $this->SuiteId = $o['SuiteId'];
if (isset($o['SuiteName'])) $this->SuiteName = $o['SuiteName'];
if (isset($o['RecordStatus'])) $this->RecordStatus = $o['RecordStatus'];
if (isset($o['ObjectConnectionId'])) $this->ObjectConnectionId = $o['ObjectConnectionId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->RoleId)) $o['RoleId'] = $this->RoleId;
if (isset($this->RoleName)) $o['RoleName'] = $this->RoleName;
if (isset($this->IsLicenseeRole)) $o['IsLicenseeRole'] = $this->IsLicenseeRole;
if (isset($this->IsManageContacts)) $o['IsManageContacts'] = $this->IsManageContacts;
if (isset($this->IsPlatformRole)) $o['IsPlatformRole'] = $this->IsPlatformRole;
if (isset($this->IsServiceRole)) $o['IsServiceRole'] = $this->IsServiceRole;
if (isset($this->IsCustomerRole)) $o['IsCustomerRole'] = $this->IsCustomerRole;
if (isset($this->IsFunctionalRole)) $o['IsFunctionalRole'] = $this->IsFunctionalRole;
if (isset($this->IsRequestAutoAccepted)) $o['IsRequestAutoAccepted'] = $this->IsRequestAutoAccepted;
if (isset($this->SuiteId)) $o['SuiteId'] = $this->SuiteId;
if (isset($this->SuiteName)) $o['SuiteName'] = $this->SuiteName;
if (isset($this->RecordStatus)) $o['RecordStatus'] = $this->RecordStatus;
if (isset($this->ObjectConnectionId)) $o['ObjectConnectionId'] = $this->ObjectConnectionId;
return empty($o) ? new class(){} : $o;
}
}
class ContactGroupConnectionModel extends UserProfileSummaryModel implements JsonSerializable
{
/**
* @param string $UserProfileId
* @param string $UserId
* @param string $ContactId
* @param string|null $UserName
* @param string|null $ProfileName
* @param string|null $ContactFullName
* @param string|null $EmailAddress
* @param string|null $EmailSignature
* @param string|null $MobileNumber
* @param string|null $PhoneNumber
* @param string $ContactTypeId
* @param string|null $ContactTypeName
* @param string|null $FirstName
* @param string|null $Surname
* @param string|null $Title
* @param string|null $LegalName
* @param string|null $TradingName
* @param string|null $Abn
* @param string|null $Acn
* @param string|null $Arbn
* @param bool|null $GstRegistered
* @param bool|null $ESL
* @param string|null $Language
* @param bool|null $InterpreterRequired
* @param string|null $LicenseeNotes
* @param string|null $ProfilePhotoUrl
* @param string|null $ProfilePhotoThumbnailUrl
* @param string $ProfileImageId
* @param string|null $Description
* @param string|null $EmploymentIndustry
* @param string|null $EmploymentRole
* @param string|null $EmploymentGeographicArea
* @param string $Timezone
* @param string|null $TimezoneName
* @param string|null $PrimaryAddress
* @param bool|null $IsActiveContact
*/
public function __construct(
string $UserProfileId='',
string $UserId='',
string $ContactId='',
?string $UserName=null,
?string $ProfileName=null,
?string $ContactFullName=null,
?string $EmailAddress=null,
?string $EmailSignature=null,
?string $MobileNumber=null,
?string $PhoneNumber=null,
string $ContactTypeId='',
?string $ContactTypeName=null,
?string $FirstName=null,
?string $Surname=null,
?string $Title=null,
?string $LegalName=null,
?string $TradingName=null,
?string $Abn=null,
?string $Acn=null,
?string $Arbn=null,
?bool $GstRegistered=null,
?bool $ESL=null,
?string $Language=null,
?bool $InterpreterRequired=null,
?string $LicenseeNotes=null,
?string $ProfilePhotoUrl=null,
?string $ProfilePhotoThumbnailUrl=null,
string $ProfileImageId='',
?string $Description=null,
?string $EmploymentIndustry=null,
?string $EmploymentRole=null,
?string $EmploymentGeographicArea=null,
string $Timezone='',
?string $TimezoneName=null,
?string $PrimaryAddress=null,
?bool $IsActiveContact=null,
/** @description Contact Group Id */
// @ApiMember(DataType="Guid", Description="Contact Group Id", Name="ContactGroupId")
/** @var string */
public string $ContactGroupId='',
/** @description Connection id of the contact in the group */
// @ApiMember(DataType="string", Description="Connection id of the contact in the group", Name="ContactGroupConnectionId")
/** @var string */
public string $ContactGroupConnectionId='',
/** @description The Id of the Role this contact is connected to the group with. */
// @ApiMember(DataType="string", Description="The Id of the Role this contact is connected to the group with.", Name="ConnectionRoleId")
/** @var string */
public string $ConnectionRoleId='',
/** @description Order of contacts within a group, the primary contact will have an index of 1. */
// @ApiMember(DataType="int", Description="Order of contacts within a group, the primary contact will have an index of 1.", Name="Index")
/** @var int */
public int $Index=0,
/** @description List of roles that the contact in the contact group has across appliances for e.g. Platform Customer, Nexus customer etc. */
// @ApiMember(DataType="string", Description="List of roles that the contact in the contact group has across appliances for e.g. Platform Customer, Nexus customer etc.", Name="ContactRoles")
/** @var array<RoleModel>|null */
public ?array $ContactRoles=null
) {
parent::__construct($UserProfileId,$UserId,$ContactId,$UserName,$ProfileName,$ContactFullName,$EmailAddress,$EmailSignature,$MobileNumber,$PhoneNumber,$ContactTypeId,$ContactTypeName,$FirstName,$Surname,$Title,$LegalName,$TradingName,$Abn,$Acn,$Arbn,$GstRegistered,$ESL,$Language,$InterpreterRequired,$LicenseeNotes,$ProfilePhotoUrl,$ProfilePhotoThumbnailUrl,$ProfileImageId,$Description,$EmploymentIndustry,$EmploymentRole,$EmploymentGeographicArea,$Timezone,$TimezoneName,$PrimaryAddress,$IsActiveContact);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['ContactGroupId'])) $this->ContactGroupId = $o['ContactGroupId'];
if (isset($o['ContactGroupConnectionId'])) $this->ContactGroupConnectionId = $o['ContactGroupConnectionId'];
if (isset($o['ConnectionRoleId'])) $this->ConnectionRoleId = $o['ConnectionRoleId'];
if (isset($o['Index'])) $this->Index = $o['Index'];
if (isset($o['ContactRoles'])) $this->ContactRoles = JsonConverters::fromArray('RoleModel', $o['ContactRoles']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->ContactGroupId)) $o['ContactGroupId'] = $this->ContactGroupId;
if (isset($this->ContactGroupConnectionId)) $o['ContactGroupConnectionId'] = $this->ContactGroupConnectionId;
if (isset($this->ConnectionRoleId)) $o['ConnectionRoleId'] = $this->ConnectionRoleId;
if (isset($this->Index)) $o['Index'] = $this->Index;
if (isset($this->ContactRoles)) $o['ContactRoles'] = JsonConverters::toArray('RoleModel', $this->ContactRoles);
return empty($o) ? new class(){} : $o;
}
}
/** @description Update the specified contact group */
// @Api(Description="Update the specified contact group")
class UpdateContactGroup implements JsonSerializable
{
public function __construct(
/** @description Id of Contact group to be updated */
// @ApiMember(Description="Id of Contact group to be updated", Name="CustomerGroupId")
/** @var string */
public string $CustomerGroupId='',
/** @var string|null */
public ?string $CustomerName=null,
/** @var string */
public string $NameTypeId='',
/** @var array<ContactGroupConnectionModel>|null */
public ?array $Contacts=null,
/** @var string|null */
public ?string $RecordStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['CustomerGroupId'])) $this->CustomerGroupId = $o['CustomerGroupId'];
if (isset($o['CustomerName'])) $this->CustomerName = $o['CustomerName'];
if (isset($o['NameTypeId'])) $this->NameTypeId = $o['NameTypeId'];
if (isset($o['Contacts'])) $this->Contacts = JsonConverters::fromArray('ContactGroupConnectionModel', $o['Contacts']);
if (isset($o['RecordStatus'])) $this->RecordStatus = $o['RecordStatus'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->CustomerGroupId)) $o['CustomerGroupId'] = $this->CustomerGroupId;
if (isset($this->CustomerName)) $o['CustomerName'] = $this->CustomerName;
if (isset($this->NameTypeId)) $o['NameTypeId'] = $this->NameTypeId;
if (isset($this->Contacts)) $o['Contacts'] = JsonConverters::toArray('ContactGroupConnectionModel', $this->Contacts);
if (isset($this->RecordStatus)) $o['RecordStatus'] = $this->RecordStatus;
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /api/contactgroups/{ContactGroupId} HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CustomerName: String,
Contacts:
[
{
Index: 0,
ContactRoles:
[
{
RoleName: String,
IsLicenseeRole: False,
IsManageContacts: False,
IsPlatformRole: False,
IsServiceRole: False,
IsCustomerRole: False,
IsFunctionalRole: False,
IsRequestAutoAccepted: False,
SuiteName: String,
RecordStatus: String
}
],
UserName: String,
ProfileName: String,
ContactFullName: String,
EmailAddress: String,
EmailSignature: String,
MobileNumber: String,
PhoneNumber: String,
ContactTypeName: String,
FirstName: String,
Surname: String,
Title: String,
LegalName: String,
TradingName: String,
Abn: String,
Acn: String,
Arbn: String,
GstRegistered: False,
ESL: False,
Language: String,
InterpreterRequired: False,
LicenseeNotes: String,
ProfilePhotoUrl: String,
ProfilePhotoThumbnailUrl: String,
Description: String,
EmploymentIndustry: String,
EmploymentRole: String,
EmploymentGeographicArea: String,
TimezoneName: String,
PrimaryAddress: String,
IsActiveContact: False
}
],
RecordStatus: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Status: False,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}