Requires any of the roles: | SystemAdministrator, Manager, Customer |
POST | /phone-numbers/sync |
---|
<?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 EntityInfo implements JsonSerializable
{
public function __construct(
/** @description The ID of the object */
// @ApiMember(Description="The ID of the object")
/** @var string|null */
public ?string $id=null,
/** @description The date the object was created */
// @ApiMember(Description="The date the object was created")
/** @var string|null */
public ?string $dateCreated=null,
/** @description The date the object was last modified */
// @ApiMember(Description="The date the object was last modified")
/** @var string|null */
public ?string $dateLastModified=null,
/** @description The user that created this object */
// @ApiMember(Description="The user that created this object")
/** @var string|null */
public ?string $createdBy=null,
/** @description The user that last modified this object */
// @ApiMember(Description="The user that last modified this object")
/** @var string|null */
public ?string $lastModifiedBy=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['dateCreated'])) $this->dateCreated = $o['dateCreated'];
if (isset($o['dateLastModified'])) $this->dateLastModified = $o['dateLastModified'];
if (isset($o['createdBy'])) $this->createdBy = $o['createdBy'];
if (isset($o['lastModifiedBy'])) $this->lastModifiedBy = $o['lastModifiedBy'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->dateCreated)) $o['dateCreated'] = $this->dateCreated;
if (isset($this->dateLastModified)) $o['dateLastModified'] = $this->dateLastModified;
if (isset($this->createdBy)) $o['createdBy'] = $this->createdBy;
if (isset($this->lastModifiedBy)) $o['lastModifiedBy'] = $this->lastModifiedBy;
return empty($o) ? new class(){} : $o;
}
}
class CustomerBreadcrumb implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $name=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['name'])) $this->name = $o['name'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->name)) $o['name'] = $this->name;
return empty($o) ? new class(){} : $o;
}
}
enum EndpointTypes : string
{
case PhoneNumber = 'PhoneNumber';
case User = 'User';
case FaxNumber = 'FaxNumber';
case EmailAddress = 'EmailAddress';
case Unused_1 = 'Unused_1';
case Unused_2 = 'Unused_2';
case Unused_3 = 'Unused_3';
case Unused_4 = 'Unused_4';
case Unused_5 = 'Unused_5';
case Team = 'Team';
case Assistant = 'Assistant';
}
class Value implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $boolValue=null,
/** @var string|null */
public ?string $stringValue=null,
/** @var float|null */
public ?float $numberValue=null,
/** @var array<Struct>|null */
public ?array $listValue=null,
/** @var Struct|null */
public ?Struct $structValue=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['boolValue'])) $this->boolValue = $o['boolValue'];
if (isset($o['stringValue'])) $this->stringValue = $o['stringValue'];
if (isset($o['numberValue'])) $this->numberValue = $o['numberValue'];
if (isset($o['listValue'])) $this->listValue = JsonConverters::fromArray('Struct', $o['listValue']);
if (isset($o['structValue'])) $this->structValue = JsonConverters::from('Struct', $o['structValue']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->boolValue)) $o['boolValue'] = $this->boolValue;
if (isset($this->stringValue)) $o['stringValue'] = $this->stringValue;
if (isset($this->numberValue)) $o['numberValue'] = $this->numberValue;
if (isset($this->listValue)) $o['listValue'] = JsonConverters::toArray('Struct', $this->listValue);
if (isset($this->structValue)) $o['structValue'] = JsonConverters::to('Struct', $this->structValue);
return empty($o) ? new class(){} : $o;
}
}
/**
* @template array of String
* @template array1 of Value
*/
class Struct extends array implements JsonSerializable
{
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
return empty($o) ? new class(){} : $o;
}
}
enum EndpointFlowSchedules : string
{
case Always = 'Always';
case Scheduled = 'Scheduled';
case Simple = 'Simple';
}
enum SimpleSchedulingRuleTypes : string
{
case Always = 'Always';
case CustomerState = 'CustomerState';
case Time = 'Time';
}
class ScheduleDay implements JsonSerializable
{
public function __construct(
/** @var int */
public int $offset=0,
/** @var DayOfWeek|null */
public ?DayOfWeek $dayOfWeek=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['offset'])) $this->offset = $o['offset'];
if (isset($o['dayOfWeek'])) $this->dayOfWeek = JsonConverters::from('DayOfWeek', $o['dayOfWeek']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->offset)) $o['offset'] = $this->offset;
if (isset($this->dayOfWeek)) $o['dayOfWeek'] = JsonConverters::to('DayOfWeek', $this->dayOfWeek);
return empty($o) ? new class(){} : $o;
}
}
enum SchedulingRuleFrequency : string
{
case None = 'None';
case Secondly = 'Secondly';
case Minutely = 'Minutely';
case Hourly = 'Hourly';
case Daily = 'Daily';
case Weekly = 'Weekly';
case Monthly = 'Monthly';
case Yearly = 'Yearly';
}
class SchedulingRule implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $name=null,
/** @var int */
public int $priority=0,
/** @var string|null */
public ?string $state=null,
/** @var string|null */
public ?string $source=null,
/** @var string|null */
public ?string $condition=null,
/** @var SimpleSchedulingRuleTypes|null */
public ?SimpleSchedulingRuleTypes $simpleRuleType=null,
/** @var string|null */
public ?string $customerState=null,
/** @var string|null */
public ?string $flowId=null,
/** @var Struct|null */
public ?Struct $flowParams=null,
/** @var bool|null */
public ?bool $isAllDay=null,
/** @var string|null */
public ?string $startDate=null,
/** @var string|null */
public ?string $startTime=null,
/** @var string|null */
public ?string $endTime=null,
/** @var array<int>|null */
public ?array $bySetPosition=null,
/** @var array<int>|null */
public ?array $byMonth=null,
/** @var array<int>|null */
public ?array $byWeekNo=null,
/** @var array<int>|null */
public ?array $byYearDay=null,
/** @var array<int>|null */
public ?array $byMonthDay=null,
/** @var array<ScheduleDay>|null */
public ?array $byDay=null,
/** @var array<int>|null */
public ?array $byHour=null,
/** @var array<int>|null */
public ?array $byMinute=null,
/** @var int */
public int $interval=0,
/** @var int */
public int $count=0,
/** @var string|null */
public ?string $untilDate=null,
/** @var SchedulingRuleFrequency|null */
public ?SchedulingRuleFrequency $frequency=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['priority'])) $this->priority = $o['priority'];
if (isset($o['state'])) $this->state = $o['state'];
if (isset($o['source'])) $this->source = $o['source'];
if (isset($o['condition'])) $this->condition = $o['condition'];
if (isset($o['simpleRuleType'])) $this->simpleRuleType = JsonConverters::from('SimpleSchedulingRuleTypes', $o['simpleRuleType']);
if (isset($o['customerState'])) $this->customerState = $o['customerState'];
if (isset($o['flowId'])) $this->flowId = $o['flowId'];
if (isset($o['flowParams'])) $this->flowParams = JsonConverters::from('Struct', $o['flowParams']);
if (isset($o['isAllDay'])) $this->isAllDay = $o['isAllDay'];
if (isset($o['startDate'])) $this->startDate = $o['startDate'];
if (isset($o['startTime'])) $this->startTime = $o['startTime'];
if (isset($o['endTime'])) $this->endTime = $o['endTime'];
if (isset($o['bySetPosition'])) $this->bySetPosition = JsonConverters::fromArray('int', $o['bySetPosition']);
if (isset($o['byMonth'])) $this->byMonth = JsonConverters::fromArray('int', $o['byMonth']);
if (isset($o['byWeekNo'])) $this->byWeekNo = JsonConverters::fromArray('int', $o['byWeekNo']);
if (isset($o['byYearDay'])) $this->byYearDay = JsonConverters::fromArray('int', $o['byYearDay']);
if (isset($o['byMonthDay'])) $this->byMonthDay = JsonConverters::fromArray('int', $o['byMonthDay']);
if (isset($o['byDay'])) $this->byDay = JsonConverters::fromArray('ScheduleDay', $o['byDay']);
if (isset($o['byHour'])) $this->byHour = JsonConverters::fromArray('int', $o['byHour']);
if (isset($o['byMinute'])) $this->byMinute = JsonConverters::fromArray('int', $o['byMinute']);
if (isset($o['interval'])) $this->interval = $o['interval'];
if (isset($o['count'])) $this->count = $o['count'];
if (isset($o['untilDate'])) $this->untilDate = $o['untilDate'];
if (isset($o['frequency'])) $this->frequency = JsonConverters::from('SchedulingRuleFrequency', $o['frequency']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->priority)) $o['priority'] = $this->priority;
if (isset($this->state)) $o['state'] = $this->state;
if (isset($this->source)) $o['source'] = $this->source;
if (isset($this->condition)) $o['condition'] = $this->condition;
if (isset($this->simpleRuleType)) $o['simpleRuleType'] = JsonConverters::to('SimpleSchedulingRuleTypes', $this->simpleRuleType);
if (isset($this->customerState)) $o['customerState'] = $this->customerState;
if (isset($this->flowId)) $o['flowId'] = $this->flowId;
if (isset($this->flowParams)) $o['flowParams'] = JsonConverters::to('Struct', $this->flowParams);
if (isset($this->isAllDay)) $o['isAllDay'] = $this->isAllDay;
if (isset($this->startDate)) $o['startDate'] = $this->startDate;
if (isset($this->startTime)) $o['startTime'] = $this->startTime;
if (isset($this->endTime)) $o['endTime'] = $this->endTime;
if (isset($this->bySetPosition)) $o['bySetPosition'] = JsonConverters::toArray('int', $this->bySetPosition);
if (isset($this->byMonth)) $o['byMonth'] = JsonConverters::toArray('int', $this->byMonth);
if (isset($this->byWeekNo)) $o['byWeekNo'] = JsonConverters::toArray('int', $this->byWeekNo);
if (isset($this->byYearDay)) $o['byYearDay'] = JsonConverters::toArray('int', $this->byYearDay);
if (isset($this->byMonthDay)) $o['byMonthDay'] = JsonConverters::toArray('int', $this->byMonthDay);
if (isset($this->byDay)) $o['byDay'] = JsonConverters::toArray('ScheduleDay', $this->byDay);
if (isset($this->byHour)) $o['byHour'] = JsonConverters::toArray('int', $this->byHour);
if (isset($this->byMinute)) $o['byMinute'] = JsonConverters::toArray('int', $this->byMinute);
if (isset($this->interval)) $o['interval'] = $this->interval;
if (isset($this->count)) $o['count'] = $this->count;
if (isset($this->untilDate)) $o['untilDate'] = $this->untilDate;
if (isset($this->frequency)) $o['frequency'] = JsonConverters::to('SchedulingRuleFrequency', $this->frequency);
return empty($o) ? new class(){} : $o;
}
}
class Schedule implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $timeZoneId=null,
/** @var bool|null */
public ?bool $inherit=null,
/** @var bool|null */
public ?bool $forceClosed=null,
/** @var array<SchedulingRule>|null */
public ?array $rules=null,
/** @var string|null */
public ?string $defaultState=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['timeZoneId'])) $this->timeZoneId = $o['timeZoneId'];
if (isset($o['inherit'])) $this->inherit = $o['inherit'];
if (isset($o['forceClosed'])) $this->forceClosed = $o['forceClosed'];
if (isset($o['rules'])) $this->rules = JsonConverters::fromArray('SchedulingRule', $o['rules']);
if (isset($o['defaultState'])) $this->defaultState = $o['defaultState'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->timeZoneId)) $o['timeZoneId'] = $this->timeZoneId;
if (isset($this->inherit)) $o['inherit'] = $this->inherit;
if (isset($this->forceClosed)) $o['forceClosed'] = $this->forceClosed;
if (isset($this->rules)) $o['rules'] = JsonConverters::toArray('SchedulingRule', $this->rules);
if (isset($this->defaultState)) $o['defaultState'] = $this->defaultState;
return empty($o) ? new class(){} : $o;
}
}
class ScheduledFlow implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $stateName=null,
/** @var string|null */
public ?string $flowId=null,
/** @var Struct|null */
public ?Struct $flowParams=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['stateName'])) $this->stateName = $o['stateName'];
if (isset($o['flowId'])) $this->flowId = $o['flowId'];
if (isset($o['flowParams'])) $this->flowParams = JsonConverters::from('Struct', $o['flowParams']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->stateName)) $o['stateName'] = $this->stateName;
if (isset($this->flowId)) $o['flowId'] = $this->flowId;
if (isset($this->flowParams)) $o['flowParams'] = JsonConverters::to('Struct', $this->flowParams);
return empty($o) ? new class(){} : $o;
}
}
enum TwilioSipRegions : string
{
case NorthAmericaVirginia = 'NorthAmericaVirginia';
case NorthAmericaOregon = 'NorthAmericaOregon';
case EuropeIreland = 'EuropeIreland';
case EuropeFrankfurt = 'EuropeFrankfurt';
case AsiaPacificSingapore = 'AsiaPacificSingapore';
case AsiaPacificTokyo = 'AsiaPacificTokyo';
case AsiaPacificSydney = 'AsiaPacificSydney';
case SouthAmericaSanPaolo = 'SouthAmericaSanPaolo';
}
enum AgentStates : string
{
case Unknown = 'Unknown';
case Ready = 'Ready';
case NotReady = 'NotReady';
case LoggedOut = 'LoggedOut';
case WrapUp = 'WrapUp';
case Outgoing = 'Outgoing';
case Other = 'Other';
}
enum AgentStateReasons : string
{
case Unknown = 'Unknown';
case SetByUser = 'SetByUser';
case MissedCall = 'MissedCall';
case SetBySystem = 'SetBySystem';
}
enum UserModes : string
{
case SoftPhone = 'SoftPhone';
case Sip = 'Sip';
case Flow = 'Flow';
case DataOnly = 'DataOnly';
case ThirdParty = 'ThirdParty';
}
enum UserManagerRoles : string
{
case None = 'None';
case Manager = 'Manager';
case VoicemailAndCallHistory = 'VoicemailAndCallHistory';
case Custom = 'Custom';
}
enum DashboardPermissions : string
{
case ViewFiles = 'ViewFiles';
case ViewNotifications = 'ViewNotifications';
case ViewSessions = 'ViewSessions';
case ViewEndpoints = 'ViewEndpoints';
case ViewReports = 'ViewReports';
case ViewCustomers = 'ViewCustomers';
case ViewFlows = 'ViewFlows';
}
enum UserDataFieldModes : string
{
case Hidden = 'Hidden';
case ReadOnly = 'ReadOnly';
case ReadWrite = 'ReadWrite';
}
enum TagColors : string
{
case Magenta = 'Magenta';
case Red = 'Red';
case Volcano = 'Volcano';
case Orange = 'Orange';
case Gold = 'Gold';
case Lime = 'Lime';
case Green = 'Green';
case Cyan = 'Cyan';
case Blue = 'Blue';
case GeekBlue = 'GeekBlue';
case Purple = 'Purple';
}
class Tag implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $name=null,
/** @var TagColors|null */
public ?TagColors $color=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['color'])) $this->color = JsonConverters::from('TagColors', $o['color']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->color)) $o['color'] = JsonConverters::to('TagColors', $this->color);
return empty($o) ? new class(){} : $o;
}
}
enum ActionUrlHttpMethods : string
{
case GET = 'GET';
case POST = 'POST';
}
class EndpointActionUrl implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $url=null,
/** @var ActionUrlHttpMethods|null */
public ?ActionUrlHttpMethods $method=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['url'])) $this->url = $o['url'];
if (isset($o['method'])) $this->method = JsonConverters::from('ActionUrlHttpMethods', $o['method']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->url)) $o['url'] = $this->url;
if (isset($this->method)) $o['method'] = JsonConverters::to('ActionUrlHttpMethods', $this->method);
return empty($o) ? new class(){} : $o;
}
}
enum CustomerVisibility : string
{
case None = 'None';
case CurrentCustomer = 'CurrentCustomer';
case CurrentAndChildCustomers = 'CurrentAndChildCustomers';
}
class EndpointContact implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $displayName=null,
/** @var string|null */
public ?string $address=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['displayName'])) $this->displayName = $o['displayName'];
if (isset($o['address'])) $this->address = $o['address'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->displayName)) $o['displayName'] = $this->displayName;
if (isset($this->address)) $o['address'] = $this->address;
return empty($o) ? new class(){} : $o;
}
}
class IntegrationData implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $thirdPartyId=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['thirdPartyId'])) $this->thirdPartyId = $o['thirdPartyId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->thirdPartyId)) $o['thirdPartyId'] = $this->thirdPartyId;
return empty($o) ? new class(){} : $o;
}
}
/**
* @template array of String
* @template array1 of IntegrationData
*/
class EntityIntegrationData extends array implements JsonSerializable
{
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
return empty($o) ? new class(){} : $o;
}
}
enum ThirdPartyPhoneSystemTypes : string
{
case Demo = 'Demo';
case Sip = 'Sip';
}
enum TransportTypes : string
{
case UDP = 'UDP';
case TLS = 'TLS';
case TCP = 'TCP';
case PERS = 'PERS';
}
enum AudioCodecTypes : int
{
case PCMU = 0;
case GSM = 3;
case PCMA = 8;
case G722 = 9;
case G729 = 18;
case ILBC = 97;
case AMR = 98;
case AMRWB = 99;
case SPEEX = 100;
case DTMF = 101;
case SPEEXWB = 102;
case ISACWB = 103;
case ISACSWB = 104;
case OPUS = 105;
case G7221 = 121;
case NONE = -1;
}
enum DtmfMethods : string
{
case RFC2833 = 'RFC2833';
case INFO = 'INFO';
}
class ThirdPartySipAccountSettings implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $number=null,
/** @var string|null */
public ?string $agent=null,
/** @var string|null */
public ?string $authName=null,
/** @var string|null */
public ?string $userName=null,
/** @var string|null */
public ?string $displayName=null,
/** @var string|null */
public ?string $password=null,
/** @var string|null */
public ?string $userDomain=null,
/** @var int */
public int $registrationExpires=0,
/** @var TransportTypes|null */
public ?TransportTypes $transportType=null,
/** @var string|null */
public ?string $localIP=null,
/** @var int */
public int $localPort=0,
/** @var string|null */
public ?string $sipServer=null,
/** @var int */
public int $sipServerPort=0,
/** @var string|null */
public ?string $outboundServer=null,
/** @var int */
public int $outboundServerPort=0,
/** @var string|null */
public ?string $stunServer=null,
/** @var int */
public int $stunPort=0,
/** @var string|null */
public ?string $audioPlaybackDeviceName=null,
/** @var string|null */
public ?string $audioRecordingDeviceName=null,
/** @var array<AudioCodecTypes>|null */
public ?array $audioCodecs=null,
/** @var DtmfMethods|null */
public ?DtmfMethods $dtmfMethod=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['number'])) $this->number = $o['number'];
if (isset($o['agent'])) $this->agent = $o['agent'];
if (isset($o['authName'])) $this->authName = $o['authName'];
if (isset($o['userName'])) $this->userName = $o['userName'];
if (isset($o['displayName'])) $this->displayName = $o['displayName'];
if (isset($o['password'])) $this->password = $o['password'];
if (isset($o['userDomain'])) $this->userDomain = $o['userDomain'];
if (isset($o['registrationExpires'])) $this->registrationExpires = $o['registrationExpires'];
if (isset($o['transportType'])) $this->transportType = JsonConverters::from('TransportTypes', $o['transportType']);
if (isset($o['localIP'])) $this->localIP = $o['localIP'];
if (isset($o['localPort'])) $this->localPort = $o['localPort'];
if (isset($o['sipServer'])) $this->sipServer = $o['sipServer'];
if (isset($o['sipServerPort'])) $this->sipServerPort = $o['sipServerPort'];
if (isset($o['outboundServer'])) $this->outboundServer = $o['outboundServer'];
if (isset($o['outboundServerPort'])) $this->outboundServerPort = $o['outboundServerPort'];
if (isset($o['stunServer'])) $this->stunServer = $o['stunServer'];
if (isset($o['stunPort'])) $this->stunPort = $o['stunPort'];
if (isset($o['audioPlaybackDeviceName'])) $this->audioPlaybackDeviceName = $o['audioPlaybackDeviceName'];
if (isset($o['audioRecordingDeviceName'])) $this->audioRecordingDeviceName = $o['audioRecordingDeviceName'];
if (isset($o['audioCodecs'])) $this->audioCodecs = JsonConverters::fromArray('AudioCodecTypes', $o['audioCodecs']);
if (isset($o['dtmfMethod'])) $this->dtmfMethod = JsonConverters::from('DtmfMethods', $o['dtmfMethod']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->number)) $o['number'] = $this->number;
if (isset($this->agent)) $o['agent'] = $this->agent;
if (isset($this->authName)) $o['authName'] = $this->authName;
if (isset($this->userName)) $o['userName'] = $this->userName;
if (isset($this->displayName)) $o['displayName'] = $this->displayName;
if (isset($this->password)) $o['password'] = $this->password;
if (isset($this->userDomain)) $o['userDomain'] = $this->userDomain;
if (isset($this->registrationExpires)) $o['registrationExpires'] = $this->registrationExpires;
if (isset($this->transportType)) $o['transportType'] = JsonConverters::to('TransportTypes', $this->transportType);
if (isset($this->localIP)) $o['localIP'] = $this->localIP;
if (isset($this->localPort)) $o['localPort'] = $this->localPort;
if (isset($this->sipServer)) $o['sipServer'] = $this->sipServer;
if (isset($this->sipServerPort)) $o['sipServerPort'] = $this->sipServerPort;
if (isset($this->outboundServer)) $o['outboundServer'] = $this->outboundServer;
if (isset($this->outboundServerPort)) $o['outboundServerPort'] = $this->outboundServerPort;
if (isset($this->stunServer)) $o['stunServer'] = $this->stunServer;
if (isset($this->stunPort)) $o['stunPort'] = $this->stunPort;
if (isset($this->audioPlaybackDeviceName)) $o['audioPlaybackDeviceName'] = $this->audioPlaybackDeviceName;
if (isset($this->audioRecordingDeviceName)) $o['audioRecordingDeviceName'] = $this->audioRecordingDeviceName;
if (isset($this->audioCodecs)) $o['audioCodecs'] = JsonConverters::toArray('AudioCodecTypes', $this->audioCodecs);
if (isset($this->dtmfMethod)) $o['dtmfMethod'] = JsonConverters::to('DtmfMethods', $this->dtmfMethod);
return empty($o) ? new class(){} : $o;
}
}
class ThirdPartySipSettings implements JsonSerializable
{
public function __construct(
/** @var array<ThirdPartySipAccountSettings>|null */
public ?array $accounts=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['accounts'])) $this->accounts = JsonConverters::fromArray('ThirdPartySipAccountSettings', $o['accounts']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->accounts)) $o['accounts'] = JsonConverters::toArray('ThirdPartySipAccountSettings', $this->accounts);
return empty($o) ? new class(){} : $o;
}
}
class ThirdPartyDemoSettings implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $extension=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['extension'])) $this->extension = $o['extension'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->extension)) $o['extension'] = $this->extension;
return empty($o) ? new class(){} : $o;
}
}
class ThirdPartyPhoneSystemSettings implements JsonSerializable
{
public function __construct(
/** @var ThirdPartyPhoneSystemTypes|null */
public ?ThirdPartyPhoneSystemTypes $type=null,
/** @var ThirdPartySipSettings|null */
public ?ThirdPartySipSettings $sipSettings=null,
/** @var ThirdPartyDemoSettings|null */
public ?ThirdPartyDemoSettings $demoSettings=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['type'])) $this->type = JsonConverters::from('ThirdPartyPhoneSystemTypes', $o['type']);
if (isset($o['sipSettings'])) $this->sipSettings = JsonConverters::from('ThirdPartySipSettings', $o['sipSettings']);
if (isset($o['demoSettings'])) $this->demoSettings = JsonConverters::from('ThirdPartyDemoSettings', $o['demoSettings']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->type)) $o['type'] = JsonConverters::to('ThirdPartyPhoneSystemTypes', $this->type);
if (isset($this->sipSettings)) $o['sipSettings'] = JsonConverters::to('ThirdPartySipSettings', $this->sipSettings);
if (isset($this->demoSettings)) $o['demoSettings'] = JsonConverters::to('ThirdPartyDemoSettings', $this->demoSettings);
return empty($o) ? new class(){} : $o;
}
}
class AppSettings implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $enablePhoneNumberManagement=null,
/** @var bool|null */
public ?bool $enableDeviceManagement=null,
/** @var bool|null */
public ?bool $enableDialer=null,
/** @var bool|null */
public ?bool $enableCallHistory=null,
/** @var bool|null */
public ?bool $enableAssistants=null,
/** @var bool|null */
public ?bool $showFileNameInMessageCenter=null,
/** @var string|null */
public ?string $chakraTheme=null,
/** @var string|null */
public ?string $customCss=null,
/** @var string|null */
public ?string $pageTitle=null,
/** @var string|null */
public ?string $stringMappings=null,
/** @var string|null */
public ?string $logoutUrl=null,
/** @var string|null */
public ?string $portMyNumberUrl=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['enablePhoneNumberManagement'])) $this->enablePhoneNumberManagement = $o['enablePhoneNumberManagement'];
if (isset($o['enableDeviceManagement'])) $this->enableDeviceManagement = $o['enableDeviceManagement'];
if (isset($o['enableDialer'])) $this->enableDialer = $o['enableDialer'];
if (isset($o['enableCallHistory'])) $this->enableCallHistory = $o['enableCallHistory'];
if (isset($o['enableAssistants'])) $this->enableAssistants = $o['enableAssistants'];
if (isset($o['showFileNameInMessageCenter'])) $this->showFileNameInMessageCenter = $o['showFileNameInMessageCenter'];
if (isset($o['chakraTheme'])) $this->chakraTheme = $o['chakraTheme'];
if (isset($o['customCss'])) $this->customCss = $o['customCss'];
if (isset($o['pageTitle'])) $this->pageTitle = $o['pageTitle'];
if (isset($o['stringMappings'])) $this->stringMappings = $o['stringMappings'];
if (isset($o['logoutUrl'])) $this->logoutUrl = $o['logoutUrl'];
if (isset($o['portMyNumberUrl'])) $this->portMyNumberUrl = $o['portMyNumberUrl'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->enablePhoneNumberManagement)) $o['enablePhoneNumberManagement'] = $this->enablePhoneNumberManagement;
if (isset($this->enableDeviceManagement)) $o['enableDeviceManagement'] = $this->enableDeviceManagement;
if (isset($this->enableDialer)) $o['enableDialer'] = $this->enableDialer;
if (isset($this->enableCallHistory)) $o['enableCallHistory'] = $this->enableCallHistory;
if (isset($this->enableAssistants)) $o['enableAssistants'] = $this->enableAssistants;
if (isset($this->showFileNameInMessageCenter)) $o['showFileNameInMessageCenter'] = $this->showFileNameInMessageCenter;
if (isset($this->chakraTheme)) $o['chakraTheme'] = $this->chakraTheme;
if (isset($this->customCss)) $o['customCss'] = $this->customCss;
if (isset($this->pageTitle)) $o['pageTitle'] = $this->pageTitle;
if (isset($this->stringMappings)) $o['stringMappings'] = $this->stringMappings;
if (isset($this->logoutUrl)) $o['logoutUrl'] = $this->logoutUrl;
if (isset($this->portMyNumberUrl)) $o['portMyNumberUrl'] = $this->portMyNumberUrl;
return empty($o) ? new class(){} : $o;
}
}
enum AssistantTunings : string
{
case Accuracy = 'Accuracy';
case Speed = 'Speed';
}
class AssistantWord implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $word=null,
/** @var string|null */
public ?string $pronounced=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['word'])) $this->word = $o['word'];
if (isset($o['pronounced'])) $this->pronounced = $o['pronounced'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->word)) $o['word'] = $this->word;
if (isset($this->pronounced)) $o['pronounced'] = $this->pronounced;
return empty($o) ? new class(){} : $o;
}
}
class AssistantLink implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $url=null,
/** @var string|null */
public ?string $description=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['url'])) $this->url = $o['url'];
if (isset($o['description'])) $this->description = $o['description'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->url)) $o['url'] = $this->url;
if (isset($this->description)) $o['description'] = $this->description;
return empty($o) ? new class(){} : $o;
}
}
enum AssistantTransferTypes : string
{
case Blind = 'Blind';
case Supervised = 'Supervised';
case MessagesOnly = 'MessagesOnly';
}
class AssistantTakeMessageField implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $name=null,
/** @var string|null */
public ?string $description=null,
/** @var bool|null */
public ?bool $required=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['description'])) $this->description = $o['description'];
if (isset($o['required'])) $this->required = $o['required'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->description)) $o['description'] = $this->description;
if (isset($this->required)) $o['required'] = $this->required;
return empty($o) ? new class(){} : $o;
}
}
class AssistantContact implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $name=null,
/** @var string|null */
public ?string $phoneNumber=null,
/** @var AssistantTransferTypes|null */
public ?AssistantTransferTypes $transferType=null,
/** @var string|null */
public ?string $about=null,
/** @var string|null */
public ?string $emailAddress=null,
/** @var array<AssistantTakeMessageField>|null */
public ?array $takeMessageFields=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['phoneNumber'])) $this->phoneNumber = $o['phoneNumber'];
if (isset($o['transferType'])) $this->transferType = JsonConverters::from('AssistantTransferTypes', $o['transferType']);
if (isset($o['about'])) $this->about = $o['about'];
if (isset($o['emailAddress'])) $this->emailAddress = $o['emailAddress'];
if (isset($o['takeMessageFields'])) $this->takeMessageFields = JsonConverters::fromArray('AssistantTakeMessageField', $o['takeMessageFields']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->phoneNumber)) $o['phoneNumber'] = $this->phoneNumber;
if (isset($this->transferType)) $o['transferType'] = JsonConverters::to('AssistantTransferTypes', $this->transferType);
if (isset($this->about)) $o['about'] = $this->about;
if (isset($this->emailAddress)) $o['emailAddress'] = $this->emailAddress;
if (isset($this->takeMessageFields)) $o['takeMessageFields'] = JsonConverters::toArray('AssistantTakeMessageField', $this->takeMessageFields);
return empty($o) ? new class(){} : $o;
}
}
class AssistantIntegration implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $uri=null,
/** @var string|null */
public ?string $httpMethod=null,
/** @var string|null */
public ?string $authToken=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['uri'])) $this->uri = $o['uri'];
if (isset($o['httpMethod'])) $this->httpMethod = $o['httpMethod'];
if (isset($o['authToken'])) $this->authToken = $o['authToken'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->uri)) $o['uri'] = $this->uri;
if (isset($this->httpMethod)) $o['httpMethod'] = $this->httpMethod;
if (isset($this->authToken)) $o['authToken'] = $this->authToken;
return empty($o) ? new class(){} : $o;
}
}
class AssistantSettings implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $companyName=null,
/** @var string|null */
public ?string $greeting=null,
/** @var string|null */
public ?string $companyInformation=null,
/** @var string|null */
public ?string $customPrompt=null,
/** @var string|null */
public ?string $voice=null,
/** @var string|null */
public ?string $voiceStyle=null,
/** @var AssistantTunings|null */
public ?AssistantTunings $tuning=null,
/** @var array<AssistantWord>|null */
public ?array $words=null,
/** @var array<AssistantLink>|null */
public ?array $links=null,
/** @var array<AssistantContact>|null */
public ?array $contacts=null,
/** @var array<AssistantIntegration>|null */
public ?array $integrations=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['companyName'])) $this->companyName = $o['companyName'];
if (isset($o['greeting'])) $this->greeting = $o['greeting'];
if (isset($o['companyInformation'])) $this->companyInformation = $o['companyInformation'];
if (isset($o['customPrompt'])) $this->customPrompt = $o['customPrompt'];
if (isset($o['voice'])) $this->voice = $o['voice'];
if (isset($o['voiceStyle'])) $this->voiceStyle = $o['voiceStyle'];
if (isset($o['tuning'])) $this->tuning = JsonConverters::from('AssistantTunings', $o['tuning']);
if (isset($o['words'])) $this->words = JsonConverters::fromArray('AssistantWord', $o['words']);
if (isset($o['links'])) $this->links = JsonConverters::fromArray('AssistantLink', $o['links']);
if (isset($o['contacts'])) $this->contacts = JsonConverters::fromArray('AssistantContact', $o['contacts']);
if (isset($o['integrations'])) $this->integrations = JsonConverters::fromArray('AssistantIntegration', $o['integrations']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->companyName)) $o['companyName'] = $this->companyName;
if (isset($this->greeting)) $o['greeting'] = $this->greeting;
if (isset($this->companyInformation)) $o['companyInformation'] = $this->companyInformation;
if (isset($this->customPrompt)) $o['customPrompt'] = $this->customPrompt;
if (isset($this->voice)) $o['voice'] = $this->voice;
if (isset($this->voiceStyle)) $o['voiceStyle'] = $this->voiceStyle;
if (isset($this->tuning)) $o['tuning'] = JsonConverters::to('AssistantTunings', $this->tuning);
if (isset($this->words)) $o['words'] = JsonConverters::toArray('AssistantWord', $this->words);
if (isset($this->links)) $o['links'] = JsonConverters::toArray('AssistantLink', $this->links);
if (isset($this->contacts)) $o['contacts'] = JsonConverters::toArray('AssistantContact', $this->contacts);
if (isset($this->integrations)) $o['integrations'] = JsonConverters::toArray('AssistantIntegration', $this->integrations);
return empty($o) ? new class(){} : $o;
}
}
class EmbedSettings implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $enabled=null,
/** @var string|null */
public ?string $allowedHosts=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['enabled'])) $this->enabled = $o['enabled'];
if (isset($o['allowedHosts'])) $this->allowedHosts = $o['allowedHosts'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->enabled)) $o['enabled'] = $this->enabled;
if (isset($this->allowedHosts)) $o['allowedHosts'] = $this->allowedHosts;
return empty($o) ? new class(){} : $o;
}
}
class EndpointInfo extends EntityInfo implements JsonSerializable
{
/**
* @param string|null $id
* @param string|null $dateCreated
* @param string|null $dateLastModified
* @param string|null $createdBy
* @param string|null $lastModifiedBy
*/
public function __construct(
?string $id=null,
?string $dateCreated=null,
?string $dateLastModified=null,
?string $createdBy=null,
?string $lastModifiedBy=null,
/** @description The account ID this endpoint is associated with */
// @ApiMember(Description="The account ID this endpoint is associated with")
/** @var string|null */
public ?string $accountId=null,
/** @description The name of the account this endpoint is associated with */
// @ApiMember(Description="The name of the account this endpoint is associated with")
/** @var string|null */
public ?string $accountName=null,
/** @description The ID of the customer this endpoint is associated with */
// @ApiMember(Description="The ID of the customer this endpoint is associated with")
/** @var string|null */
public ?string $customerId=null,
/** @description The name of the customer this endpoint is associated with */
// @ApiMember(Description="The name of the customer this endpoint is associated with")
/** @var string|null */
public ?string $customerName=null,
/** @description The third party reference ID for the endpoint */
// @ApiMember(Description="The third party reference ID for the endpoint")
/** @var string|null */
public ?string $referenceId=null,
/** @description The breadcrumb to the customer for this endpoint */
// @ApiMember(Description="The breadcrumb to the customer for this endpoint")
/** @var array<CustomerBreadcrumb>|null */
public ?array $customerBreadcrumb=null,
/** @description The display name of the endpoint */
// @ApiMember(Description="The display name of the endpoint")
/** @var string|null */
public ?string $displayName=null,
/** @description The type of endpoint */
// @ApiMember(Description="The type of endpoint")
/** @var EndpointTypes|null */
public ?EndpointTypes $type=null,
/** @description Extra info for this endpoint (typically to show in grid) */
// @ApiMember(Description="Extra info for this endpoint (typically to show in grid)")
/** @var string|null */
public ?string $extraInformation=null,
/** @description The ID of the flow to use for voice */
// @ApiMember(Description="The ID of the flow to use for voice")
/** @var string|null */
public ?string $flowId=null,
/** @description The name of the flow to use for voice */
// @ApiMember(Description="The name of the flow to use for voice")
/** @var string|null */
public ?string $flowName=null,
/** @description The params for the voice flow */
// @ApiMember(Description="The params for the voice flow")
/** @var Struct|null */
public ?Struct $flowParams=null,
/** @description Whether to use a single flow always or use scheduled flow system */
// @ApiMember(Description="Whether to use a single flow always or use scheduled flow system")
/** @var EndpointFlowSchedules|null */
public ?EndpointFlowSchedules $flowSchedule=null,
/** @description This endpoint's schedule */
// @ApiMember(Description="This endpoint's schedule")
/** @var Schedule|null */
public ?Schedule $schedule=null,
/** @description The list of scheduled flows when using scheduling */
// @ApiMember(Description="The list of scheduled flows when using scheduling")
/** @var array<ScheduledFlow>|null */
public ?array $scheduledFlows=null,
/** @description Disable SMS */
// @ApiMember(Description="Disable SMS")
/** @var bool|null */
public ?bool $disableSms=null,
/** @description Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number */
// @ApiMember(Description="Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number")
/** @var bool|null */
public ?bool $useExternal10DlcCampaign=null,
/** @description Is this a virtual phone number? */
// @ApiMember(Description="Is this a virtual phone number?")
/** @var bool|null */
public ?bool $isVirtualPhoneNumber=null,
/** @description Is caller ID verified for this virtual number? */
// @ApiMember(Description="Is caller ID verified for this virtual number?")
/** @var bool|null */
public ?bool $isCallerIdVerified=null,
/** @description The verification code for this number */
// @ApiMember(Description="The verification code for this number")
/** @var string|null */
public ?string $callerIdVerificationCode=null,
/** @description The phone number */
// @ApiMember(Description="The phone number")
/** @var string|null */
public ?string $phoneNumber=null,
/** @description The Sid of the phone number */
// @ApiMember(Description="The Sid of the phone number")
/** @var string|null */
public ?string $phoneNumberSid=null,
/** @description The caller ID Name (CNAM) for the phone number */
// @ApiMember(Description="The caller ID Name (CNAM) for the phone number")
/** @var string|null */
public ?string $callerIdName=null,
/** @description The address SID associated with the phone number */
// @ApiMember(Description="The address SID associated with the phone number")
/** @var string|null */
public ?string $addressSid=null,
/** @description Do not touch this phone number - for BYOA accounts */
// @ApiMember(Description="Do not touch this phone number - for BYOA accounts")
/** @var bool|null */
public ?bool $doNotTouchPhoneNumber=null,
/** @description Is this number enrolled in a 10DLC messaging service campaign */
// @ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign")
/** @var bool|null */
public ?bool $isEnrolledIn10DlcService=null,
/** @description Whether we look up caller ID or not */
// @ApiMember(Description="Whether we look up caller ID or not")
/** @var bool|null */
public ?bool $enableCallerIdLookup=null,
/** @description The email address of the user */
// @ApiMember(Description="The email address of the user")
/** @var string|null */
public ?string $userEmailAddress=null,
/** @description The Twilio Region for the SIP endpoint */
// @ApiMember(Description="The Twilio Region for the SIP endpoint")
/** @var TwilioSipRegions|null */
public ?TwilioSipRegions $sipRegion=null,
/** @description The Twilio Sid of the credentials for Sip */
// @ApiMember(Description="The Twilio Sid of the credentials for Sip")
/** @var string|null */
public ?string $sipCredentialSid=null,
/** @description The Twilio SIP user name */
// @ApiMember(Description="The Twilio SIP user name")
/** @var string|null */
public ?string $sipUserName=null,
/** @description The Twilio SIP password */
// @ApiMember(Description="The Twilio SIP password")
/** @var string|null */
public ?string $sipPassword=null,
/** @description The SIP domain */
// @ApiMember(Description="The SIP domain")
/** @var string|null */
public ?string $sipDomain=null,
/** @description Is emergency calling enabled on this number? */
// @ApiMember(Description="Is emergency calling enabled on this number?")
/** @var bool|null */
public ?bool $enableEmergencyCalling=null,
/** @description The SID of the emergency address for this number */
// @ApiMember(Description="The SID of the emergency address for this number")
/** @var string|null */
public ?string $emergencyAddressSid=null,
/** @description The ID of the phone number to use for emergency dialing */
// @ApiMember(Description="The ID of the phone number to use for emergency dialing")
/** @var string|null */
public ?string $emergencyPhoneNumberId=null,
/** @description The current agent state of this user endpoint */
// @ApiMember(Description="The current agent state of this user endpoint")
/** @var AgentStates|null */
public ?AgentStates $agentState=null,
/** @description The current agent state reason of this user endpoint */
// @ApiMember(Description="The current agent state reason of this user endpoint")
/** @var AgentStateReasons|null */
public ?AgentStateReasons $agentStateReason=null,
/** @description The mode for this user */
// @ApiMember(Description="The mode for this user")
/** @var UserModes|null */
public ?UserModes $userMode=null,
/** @description The ID of the file to use for voicemail greeting */
// @ApiMember(Description="The ID of the file to use for voicemail greeting")
/** @var string|null */
public ?string $voicemailGreetingId=null,
/** @description The endpoint's data */
// @ApiMember(Description="The endpoint's data")
/** @var Struct|null */
public ?Struct $data=null,
/** @description The email address for email endpoints */
// @ApiMember(Description="The email address for email endpoints")
/** @var string|null */
public ?string $emailAddress=null,
/** @description The first name of the user (for user endpoints) */
// @ApiMember(Description="The first name of the user (for user endpoints)")
/** @var string|null */
public ?string $userFirstName=null,
/** @description The last name of the user (for user endpoints) */
// @ApiMember(Description="The last name of the user (for user endpoints)")
/** @var string|null */
public ?string $userLastName=null,
/** @description The URL of an image for this user's avatar */
// @ApiMember(Description="The URL of an image for this user's avatar")
/** @var string|null */
public ?string $avatarUrl=null,
/** @description Does this user have manager role? */
// @ApiMember(Description="Does this user have manager role?")
/** @var UserManagerRoles|null */
public ?UserManagerRoles $managerRole=null,
/** @description The list of dashboard permissions for when the manager role is custom */
// @ApiMember(Description="The list of dashboard permissions for when the manager role is custom")
/** @var array<DashboardPermissions>|null */
public ?array $dashboardPermissions=null,
/** @description The type of visibility this user has to their own fields */
// @ApiMember(Description="The type of visibility this user has to their own fields")
/** @var UserDataFieldModes|null */
public ?UserDataFieldModes $myFieldPermissions=null,
/** @description The type of visibility this user has to customer fields */
// @ApiMember(Description="The type of visibility this user has to customer fields")
/** @var UserDataFieldModes|null */
public ?UserDataFieldModes $customerFieldPermissions=null,
/** @description The type of visibility this user has to other user fields */
// @ApiMember(Description="The type of visibility this user has to other user fields")
/** @var UserDataFieldModes|null */
public ?UserDataFieldModes $otherUserFieldPermissions=null,
/** @description The type of visibility this user has to other endpoint fields */
// @ApiMember(Description="The type of visibility this user has to other endpoint fields")
/** @var UserDataFieldModes|null */
public ?UserDataFieldModes $otherEndpointFieldPermissions=null,
/** @description The name of this endpoint (for bots etc.) */
// @ApiMember(Description="The name of this endpoint (for bots etc.)")
/** @var string|null */
public ?string $name=null,
/** @description The list of tags for this endpoint */
// @ApiMember(Description="The list of tags for this endpoint")
/** @var array<Tag>|null */
public ?array $tags=null,
/** @description The list of action URLs */
// @ApiMember(Description="The list of action URLs")
/** @var array<EndpointActionUrl>|null */
public ?array $actionUrls=null,
/** @description The list of members in this team */
// @ApiMember(Description="The list of members in this team")
/** @var array<string>|null */
public ?array $teamMemberIds=null,
/** @description Visibility of this user/team in contact lists */
// @ApiMember(Description="Visibility of this user/team in contact lists")
/** @var CustomerVisibility|null */
public ?CustomerVisibility $contactListVisibility=null,
/** @description The list of contacts personal to this user */
// @ApiMember(Description="The list of contacts personal to this user")
/** @var array<EndpointContact>|null */
public ?array $contacts=null,
/** @description The documo ID for this number */
// @ApiMember(Description="The documo ID for this number")
/** @var string|null */
public ?string $documoId=null,
/** @description Integration data for this endpoint */
// @ApiMember(Description="Integration data for this endpoint")
/** @var EntityIntegrationData|null */
public ?EntityIntegrationData $integrationData=null,
/** @description Settings for third party phone system */
// @ApiMember(Description="Settings for third party phone system")
/** @var ThirdPartyPhoneSystemSettings|null */
public ?ThirdPartyPhoneSystemSettings $thirdPartyPhoneSystemSettings=null,
/** @description Should this user override the parent customer's app settings */
// @ApiMember(Description="Should this user override the parent customer's app settings")
/** @var bool|null */
public ?bool $overrideAppSettings=null,
/** @description App / Portal settings for this user */
// @ApiMember(Description="App / Portal settings for this user")
/** @var AppSettings|null */
public ?AppSettings $appSettings=null,
/** @description Configuration for the AI assistant */
// @ApiMember(Description="Configuration for the AI assistant")
/** @var AssistantSettings|null */
public ?AssistantSettings $assistantSettings=null,
/** @description Configuration for the embed */
// @ApiMember(Description="Configuration for the embed")
/** @var EmbedSettings|null */
public ?EmbedSettings $embedSettings=null
) {
parent::__construct($id,$dateCreated,$dateLastModified,$createdBy,$lastModifiedBy);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['accountId'])) $this->accountId = $o['accountId'];
if (isset($o['accountName'])) $this->accountName = $o['accountName'];
if (isset($o['customerId'])) $this->customerId = $o['customerId'];
if (isset($o['customerName'])) $this->customerName = $o['customerName'];
if (isset($o['referenceId'])) $this->referenceId = $o['referenceId'];
if (isset($o['customerBreadcrumb'])) $this->customerBreadcrumb = JsonConverters::fromArray('CustomerBreadcrumb', $o['customerBreadcrumb']);
if (isset($o['displayName'])) $this->displayName = $o['displayName'];
if (isset($o['type'])) $this->type = JsonConverters::from('EndpointTypes', $o['type']);
if (isset($o['extraInformation'])) $this->extraInformation = $o['extraInformation'];
if (isset($o['flowId'])) $this->flowId = $o['flowId'];
if (isset($o['flowName'])) $this->flowName = $o['flowName'];
if (isset($o['flowParams'])) $this->flowParams = JsonConverters::from('Struct', $o['flowParams']);
if (isset($o['flowSchedule'])) $this->flowSchedule = JsonConverters::from('EndpointFlowSchedules', $o['flowSchedule']);
if (isset($o['schedule'])) $this->schedule = JsonConverters::from('Schedule', $o['schedule']);
if (isset($o['scheduledFlows'])) $this->scheduledFlows = JsonConverters::fromArray('ScheduledFlow', $o['scheduledFlows']);
if (isset($o['disableSms'])) $this->disableSms = $o['disableSms'];
if (isset($o['useExternal10DlcCampaign'])) $this->useExternal10DlcCampaign = $o['useExternal10DlcCampaign'];
if (isset($o['isVirtualPhoneNumber'])) $this->isVirtualPhoneNumber = $o['isVirtualPhoneNumber'];
if (isset($o['isCallerIdVerified'])) $this->isCallerIdVerified = $o['isCallerIdVerified'];
if (isset($o['callerIdVerificationCode'])) $this->callerIdVerificationCode = $o['callerIdVerificationCode'];
if (isset($o['phoneNumber'])) $this->phoneNumber = $o['phoneNumber'];
if (isset($o['phoneNumberSid'])) $this->phoneNumberSid = $o['phoneNumberSid'];
if (isset($o['callerIdName'])) $this->callerIdName = $o['callerIdName'];
if (isset($o['addressSid'])) $this->addressSid = $o['addressSid'];
if (isset($o['doNotTouchPhoneNumber'])) $this->doNotTouchPhoneNumber = $o['doNotTouchPhoneNumber'];
if (isset($o['isEnrolledIn10DlcService'])) $this->isEnrolledIn10DlcService = $o['isEnrolledIn10DlcService'];
if (isset($o['enableCallerIdLookup'])) $this->enableCallerIdLookup = $o['enableCallerIdLookup'];
if (isset($o['userEmailAddress'])) $this->userEmailAddress = $o['userEmailAddress'];
if (isset($o['sipRegion'])) $this->sipRegion = JsonConverters::from('TwilioSipRegions', $o['sipRegion']);
if (isset($o['sipCredentialSid'])) $this->sipCredentialSid = $o['sipCredentialSid'];
if (isset($o['sipUserName'])) $this->sipUserName = $o['sipUserName'];
if (isset($o['sipPassword'])) $this->sipPassword = $o['sipPassword'];
if (isset($o['sipDomain'])) $this->sipDomain = $o['sipDomain'];
if (isset($o['enableEmergencyCalling'])) $this->enableEmergencyCalling = $o['enableEmergencyCalling'];
if (isset($o['emergencyAddressSid'])) $this->emergencyAddressSid = $o['emergencyAddressSid'];
if (isset($o['emergencyPhoneNumberId'])) $this->emergencyPhoneNumberId = $o['emergencyPhoneNumberId'];
if (isset($o['agentState'])) $this->agentState = JsonConverters::from('AgentStates', $o['agentState']);
if (isset($o['agentStateReason'])) $this->agentStateReason = JsonConverters::from('AgentStateReasons', $o['agentStateReason']);
if (isset($o['userMode'])) $this->userMode = JsonConverters::from('UserModes', $o['userMode']);
if (isset($o['voicemailGreetingId'])) $this->voicemailGreetingId = $o['voicemailGreetingId'];
if (isset($o['data'])) $this->data = JsonConverters::from('Struct', $o['data']);
if (isset($o['emailAddress'])) $this->emailAddress = $o['emailAddress'];
if (isset($o['userFirstName'])) $this->userFirstName = $o['userFirstName'];
if (isset($o['userLastName'])) $this->userLastName = $o['userLastName'];
if (isset($o['avatarUrl'])) $this->avatarUrl = $o['avatarUrl'];
if (isset($o['managerRole'])) $this->managerRole = JsonConverters::from('UserManagerRoles', $o['managerRole']);
if (isset($o['dashboardPermissions'])) $this->dashboardPermissions = JsonConverters::fromArray('DashboardPermissions', $o['dashboardPermissions']);
if (isset($o['myFieldPermissions'])) $this->myFieldPermissions = JsonConverters::from('UserDataFieldModes', $o['myFieldPermissions']);
if (isset($o['customerFieldPermissions'])) $this->customerFieldPermissions = JsonConverters::from('UserDataFieldModes', $o['customerFieldPermissions']);
if (isset($o['otherUserFieldPermissions'])) $this->otherUserFieldPermissions = JsonConverters::from('UserDataFieldModes', $o['otherUserFieldPermissions']);
if (isset($o['otherEndpointFieldPermissions'])) $this->otherEndpointFieldPermissions = JsonConverters::from('UserDataFieldModes', $o['otherEndpointFieldPermissions']);
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['tags'])) $this->tags = JsonConverters::fromArray('Tag', $o['tags']);
if (isset($o['actionUrls'])) $this->actionUrls = JsonConverters::fromArray('EndpointActionUrl', $o['actionUrls']);
if (isset($o['teamMemberIds'])) $this->teamMemberIds = JsonConverters::fromArray('string', $o['teamMemberIds']);
if (isset($o['contactListVisibility'])) $this->contactListVisibility = JsonConverters::from('CustomerVisibility', $o['contactListVisibility']);
if (isset($o['contacts'])) $this->contacts = JsonConverters::fromArray('EndpointContact', $o['contacts']);
if (isset($o['documoId'])) $this->documoId = $o['documoId'];
if (isset($o['integrationData'])) $this->integrationData = JsonConverters::from('EntityIntegrationData', $o['integrationData']);
if (isset($o['thirdPartyPhoneSystemSettings'])) $this->thirdPartyPhoneSystemSettings = JsonConverters::from('ThirdPartyPhoneSystemSettings', $o['thirdPartyPhoneSystemSettings']);
if (isset($o['overrideAppSettings'])) $this->overrideAppSettings = $o['overrideAppSettings'];
if (isset($o['appSettings'])) $this->appSettings = JsonConverters::from('AppSettings', $o['appSettings']);
if (isset($o['assistantSettings'])) $this->assistantSettings = JsonConverters::from('AssistantSettings', $o['assistantSettings']);
if (isset($o['embedSettings'])) $this->embedSettings = JsonConverters::from('EmbedSettings', $o['embedSettings']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->accountId)) $o['accountId'] = $this->accountId;
if (isset($this->accountName)) $o['accountName'] = $this->accountName;
if (isset($this->customerId)) $o['customerId'] = $this->customerId;
if (isset($this->customerName)) $o['customerName'] = $this->customerName;
if (isset($this->referenceId)) $o['referenceId'] = $this->referenceId;
if (isset($this->customerBreadcrumb)) $o['customerBreadcrumb'] = JsonConverters::toArray('CustomerBreadcrumb', $this->customerBreadcrumb);
if (isset($this->displayName)) $o['displayName'] = $this->displayName;
if (isset($this->type)) $o['type'] = JsonConverters::to('EndpointTypes', $this->type);
if (isset($this->extraInformation)) $o['extraInformation'] = $this->extraInformation;
if (isset($this->flowId)) $o['flowId'] = $this->flowId;
if (isset($this->flowName)) $o['flowName'] = $this->flowName;
if (isset($this->flowParams)) $o['flowParams'] = JsonConverters::to('Struct', $this->flowParams);
if (isset($this->flowSchedule)) $o['flowSchedule'] = JsonConverters::to('EndpointFlowSchedules', $this->flowSchedule);
if (isset($this->schedule)) $o['schedule'] = JsonConverters::to('Schedule', $this->schedule);
if (isset($this->scheduledFlows)) $o['scheduledFlows'] = JsonConverters::toArray('ScheduledFlow', $this->scheduledFlows);
if (isset($this->disableSms)) $o['disableSms'] = $this->disableSms;
if (isset($this->useExternal10DlcCampaign)) $o['useExternal10DlcCampaign'] = $this->useExternal10DlcCampaign;
if (isset($this->isVirtualPhoneNumber)) $o['isVirtualPhoneNumber'] = $this->isVirtualPhoneNumber;
if (isset($this->isCallerIdVerified)) $o['isCallerIdVerified'] = $this->isCallerIdVerified;
if (isset($this->callerIdVerificationCode)) $o['callerIdVerificationCode'] = $this->callerIdVerificationCode;
if (isset($this->phoneNumber)) $o['phoneNumber'] = $this->phoneNumber;
if (isset($this->phoneNumberSid)) $o['phoneNumberSid'] = $this->phoneNumberSid;
if (isset($this->callerIdName)) $o['callerIdName'] = $this->callerIdName;
if (isset($this->addressSid)) $o['addressSid'] = $this->addressSid;
if (isset($this->doNotTouchPhoneNumber)) $o['doNotTouchPhoneNumber'] = $this->doNotTouchPhoneNumber;
if (isset($this->isEnrolledIn10DlcService)) $o['isEnrolledIn10DlcService'] = $this->isEnrolledIn10DlcService;
if (isset($this->enableCallerIdLookup)) $o['enableCallerIdLookup'] = $this->enableCallerIdLookup;
if (isset($this->userEmailAddress)) $o['userEmailAddress'] = $this->userEmailAddress;
if (isset($this->sipRegion)) $o['sipRegion'] = JsonConverters::to('TwilioSipRegions', $this->sipRegion);
if (isset($this->sipCredentialSid)) $o['sipCredentialSid'] = $this->sipCredentialSid;
if (isset($this->sipUserName)) $o['sipUserName'] = $this->sipUserName;
if (isset($this->sipPassword)) $o['sipPassword'] = $this->sipPassword;
if (isset($this->sipDomain)) $o['sipDomain'] = $this->sipDomain;
if (isset($this->enableEmergencyCalling)) $o['enableEmergencyCalling'] = $this->enableEmergencyCalling;
if (isset($this->emergencyAddressSid)) $o['emergencyAddressSid'] = $this->emergencyAddressSid;
if (isset($this->emergencyPhoneNumberId)) $o['emergencyPhoneNumberId'] = $this->emergencyPhoneNumberId;
if (isset($this->agentState)) $o['agentState'] = JsonConverters::to('AgentStates', $this->agentState);
if (isset($this->agentStateReason)) $o['agentStateReason'] = JsonConverters::to('AgentStateReasons', $this->agentStateReason);
if (isset($this->userMode)) $o['userMode'] = JsonConverters::to('UserModes', $this->userMode);
if (isset($this->voicemailGreetingId)) $o['voicemailGreetingId'] = $this->voicemailGreetingId;
if (isset($this->data)) $o['data'] = JsonConverters::to('Struct', $this->data);
if (isset($this->emailAddress)) $o['emailAddress'] = $this->emailAddress;
if (isset($this->userFirstName)) $o['userFirstName'] = $this->userFirstName;
if (isset($this->userLastName)) $o['userLastName'] = $this->userLastName;
if (isset($this->avatarUrl)) $o['avatarUrl'] = $this->avatarUrl;
if (isset($this->managerRole)) $o['managerRole'] = JsonConverters::to('UserManagerRoles', $this->managerRole);
if (isset($this->dashboardPermissions)) $o['dashboardPermissions'] = JsonConverters::toArray('DashboardPermissions', $this->dashboardPermissions);
if (isset($this->myFieldPermissions)) $o['myFieldPermissions'] = JsonConverters::to('UserDataFieldModes', $this->myFieldPermissions);
if (isset($this->customerFieldPermissions)) $o['customerFieldPermissions'] = JsonConverters::to('UserDataFieldModes', $this->customerFieldPermissions);
if (isset($this->otherUserFieldPermissions)) $o['otherUserFieldPermissions'] = JsonConverters::to('UserDataFieldModes', $this->otherUserFieldPermissions);
if (isset($this->otherEndpointFieldPermissions)) $o['otherEndpointFieldPermissions'] = JsonConverters::to('UserDataFieldModes', $this->otherEndpointFieldPermissions);
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->tags)) $o['tags'] = JsonConverters::toArray('Tag', $this->tags);
if (isset($this->actionUrls)) $o['actionUrls'] = JsonConverters::toArray('EndpointActionUrl', $this->actionUrls);
if (isset($this->teamMemberIds)) $o['teamMemberIds'] = JsonConverters::toArray('string', $this->teamMemberIds);
if (isset($this->contactListVisibility)) $o['contactListVisibility'] = JsonConverters::to('CustomerVisibility', $this->contactListVisibility);
if (isset($this->contacts)) $o['contacts'] = JsonConverters::toArray('EndpointContact', $this->contacts);
if (isset($this->documoId)) $o['documoId'] = $this->documoId;
if (isset($this->integrationData)) $o['integrationData'] = JsonConverters::to('EntityIntegrationData', $this->integrationData);
if (isset($this->thirdPartyPhoneSystemSettings)) $o['thirdPartyPhoneSystemSettings'] = JsonConverters::to('ThirdPartyPhoneSystemSettings', $this->thirdPartyPhoneSystemSettings);
if (isset($this->overrideAppSettings)) $o['overrideAppSettings'] = $this->overrideAppSettings;
if (isset($this->appSettings)) $o['appSettings'] = JsonConverters::to('AppSettings', $this->appSettings);
if (isset($this->assistantSettings)) $o['assistantSettings'] = JsonConverters::to('AssistantSettings', $this->assistantSettings);
if (isset($this->embedSettings)) $o['embedSettings'] = JsonConverters::to('EmbedSettings', $this->embedSettings);
return empty($o) ? new class(){} : $o;
}
}
class SyncPhoneNumbersResponse implements JsonSerializable
{
public function __construct(
/** @var array<EndpointInfo>|null */
public ?array $newPhoneNumbers=null,
/** @var array<EndpointInfo>|null */
public ?array $updatedPhoneNumbers=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['newPhoneNumbers'])) $this->newPhoneNumbers = JsonConverters::fromArray('EndpointInfo', $o['newPhoneNumbers']);
if (isset($o['updatedPhoneNumbers'])) $this->updatedPhoneNumbers = JsonConverters::fromArray('EndpointInfo', $o['updatedPhoneNumbers']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->newPhoneNumbers)) $o['newPhoneNumbers'] = JsonConverters::toArray('EndpointInfo', $this->newPhoneNumbers);
if (isset($this->updatedPhoneNumbers)) $o['updatedPhoneNumbers'] = JsonConverters::toArray('EndpointInfo', $this->updatedPhoneNumbers);
return empty($o) ? new class(){} : $o;
}
}
/** @description Syncs list of phone numbers with Twilio detecting any newly ported numbers, status changes, etc. */
// @Api(Description="Syncs list of phone numbers with Twilio detecting any newly ported numbers, status changes, etc.")
class SyncPhoneNumbers implements IPost, JsonSerializable
{
public function __construct(
/** @description The account ID you want to sync */
// @ApiMember(Description="The account ID you want to sync")
/** @var string|null */
public ?string $accountId=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['accountId'])) $this->accountId = $o['accountId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->accountId)) $o['accountId'] = $this->accountId;
return empty($o) ? new class(){} : $o;
}
}
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 /phone-numbers/sync HTTP/1.1
Host: team.evovoice.io
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"accountId":"String"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"newPhoneNumbers":[{"accountId":"String","accountName":"String","customerId":"String","customerName":"String","referenceId":"String","customerBreadcrumb":[{"id":"String","name":"String"}],"displayName":"String","type":"PhoneNumber","extraInformation":"String","flowId":"String","flowName":"String","flowSchedule":"Always","schedule":{"timeZoneId":"String","inherit":false,"forceClosed":false,"rules":[{"id":"String","name":"String","priority":0,"state":"String","source":"String","condition":"String","simpleRuleType":"Always","customerState":"String","flowId":"String","isAllDay":false,"startDate":"String","startTime":"String","endTime":"String","bySetPosition":[0],"byMonth":[0],"byWeekNo":[0],"byYearDay":[0],"byMonthDay":[0],"byDay":[{"offset":0,"dayOfWeek":"Sunday"}],"byHour":[0],"byMinute":[0],"interval":0,"count":0,"untilDate":"String","frequency":"None"}],"defaultState":"String"},"scheduledFlows":[{"stateName":"String","flowId":"String"}],"disableSms":false,"useExternal10DlcCampaign":false,"isVirtualPhoneNumber":false,"isCallerIdVerified":false,"callerIdVerificationCode":"String","phoneNumber":"String","phoneNumberSid":"String","callerIdName":"String","addressSid":"String","doNotTouchPhoneNumber":false,"isEnrolledIn10DlcService":false,"enableCallerIdLookup":false,"userEmailAddress":"String","sipRegion":"NorthAmericaVirginia","sipCredentialSid":"String","sipUserName":"String","sipPassword":"String","sipDomain":"String","enableEmergencyCalling":false,"emergencyAddressSid":"String","emergencyPhoneNumberId":"String","agentState":"Unknown","agentStateReason":"Unknown","userMode":"SoftPhone","voicemailGreetingId":"String","emailAddress":"String","userFirstName":"String","userLastName":"String","avatarUrl":"String","managerRole":"None","dashboardPermissions":["ViewFiles"],"myFieldPermissions":"Hidden","customerFieldPermissions":"Hidden","otherUserFieldPermissions":"Hidden","otherEndpointFieldPermissions":"Hidden","name":"String","tags":[{"id":"String","name":"String","color":"Magenta"}],"actionUrls":[{"id":"String","url":"String","method":"GET"}],"teamMemberIds":["String"],"contactListVisibility":"None","contacts":[{"id":"String","displayName":"String","address":"String"}],"documoId":"String","integrationData":{"String":{"thirdPartyId":"String"}},"thirdPartyPhoneSystemSettings":{"type":"Demo","sipSettings":{"accounts":[{"number":"String","agent":"String","authName":"String","userName":"String","displayName":"String","password":"String","userDomain":"String","registrationExpires":0,"transportType":"UDP","localIP":"String","localPort":0,"sipServer":"String","sipServerPort":0,"outboundServer":"String","outboundServerPort":0,"stunServer":"String","stunPort":0,"audioPlaybackDeviceName":"String","audioRecordingDeviceName":"String","audioCodecs":["PCMU"],"dtmfMethod":"RFC2833"}]},"demoSettings":{"extension":"String"}},"overrideAppSettings":false,"appSettings":{"enablePhoneNumberManagement":false,"enableDeviceManagement":false,"enableDialer":false,"enableCallHistory":false,"enableAssistants":false,"showFileNameInMessageCenter":false,"chakraTheme":"String","customCss":"String","pageTitle":"String","stringMappings":"String","logoutUrl":"String","portMyNumberUrl":"String"},"assistantSettings":{"companyName":"String","greeting":"String","companyInformation":"String","customPrompt":"String","voice":"String","voiceStyle":"String","tuning":"Accuracy","words":[{"word":"String","pronounced":"String"}],"links":[{"url":"String","description":"String"}],"contacts":[{"name":"String","phoneNumber":"String","transferType":"Blind","about":"String","emailAddress":"String","takeMessageFields":[{"name":"String","description":"String","required":false}]}],"integrations":[{"uri":"String","httpMethod":"String","authToken":"String"}]},"embedSettings":{"enabled":false,"allowedHosts":"String"},"id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}],"updatedPhoneNumbers":[{"accountId":"String","accountName":"String","customerId":"String","customerName":"String","referenceId":"String","customerBreadcrumb":[{"id":"String","name":"String"}],"displayName":"String","type":"PhoneNumber","extraInformation":"String","flowId":"String","flowName":"String","flowSchedule":"Always","schedule":{"timeZoneId":"String","inherit":false,"forceClosed":false,"rules":[{"id":"String","name":"String","priority":0,"state":"String","source":"String","condition":"String","simpleRuleType":"Always","customerState":"String","flowId":"String","isAllDay":false,"startDate":"String","startTime":"String","endTime":"String","bySetPosition":[0],"byMonth":[0],"byWeekNo":[0],"byYearDay":[0],"byMonthDay":[0],"byDay":[{"offset":0,"dayOfWeek":"Sunday"}],"byHour":[0],"byMinute":[0],"interval":0,"count":0,"untilDate":"String","frequency":"None"}],"defaultState":"String"},"scheduledFlows":[{"stateName":"String","flowId":"String"}],"disableSms":false,"useExternal10DlcCampaign":false,"isVirtualPhoneNumber":false,"isCallerIdVerified":false,"callerIdVerificationCode":"String","phoneNumber":"String","phoneNumberSid":"String","callerIdName":"String","addressSid":"String","doNotTouchPhoneNumber":false,"isEnrolledIn10DlcService":false,"enableCallerIdLookup":false,"userEmailAddress":"String","sipRegion":"NorthAmericaVirginia","sipCredentialSid":"String","sipUserName":"String","sipPassword":"String","sipDomain":"String","enableEmergencyCalling":false,"emergencyAddressSid":"String","emergencyPhoneNumberId":"String","agentState":"Unknown","agentStateReason":"Unknown","userMode":"SoftPhone","voicemailGreetingId":"String","emailAddress":"String","userFirstName":"String","userLastName":"String","avatarUrl":"String","managerRole":"None","dashboardPermissions":["ViewFiles"],"myFieldPermissions":"Hidden","customerFieldPermissions":"Hidden","otherUserFieldPermissions":"Hidden","otherEndpointFieldPermissions":"Hidden","name":"String","tags":[{"id":"String","name":"String","color":"Magenta"}],"actionUrls":[{"id":"String","url":"String","method":"GET"}],"teamMemberIds":["String"],"contactListVisibility":"None","contacts":[{"id":"String","displayName":"String","address":"String"}],"documoId":"String","integrationData":{"String":{"thirdPartyId":"String"}},"thirdPartyPhoneSystemSettings":{"type":"Demo","sipSettings":{"accounts":[{"number":"String","agent":"String","authName":"String","userName":"String","displayName":"String","password":"String","userDomain":"String","registrationExpires":0,"transportType":"UDP","localIP":"String","localPort":0,"sipServer":"String","sipServerPort":0,"outboundServer":"String","outboundServerPort":0,"stunServer":"String","stunPort":0,"audioPlaybackDeviceName":"String","audioRecordingDeviceName":"String","audioCodecs":["PCMU"],"dtmfMethod":"RFC2833"}]},"demoSettings":{"extension":"String"}},"overrideAppSettings":false,"appSettings":{"enablePhoneNumberManagement":false,"enableDeviceManagement":false,"enableDialer":false,"enableCallHistory":false,"enableAssistants":false,"showFileNameInMessageCenter":false,"chakraTheme":"String","customCss":"String","pageTitle":"String","stringMappings":"String","logoutUrl":"String","portMyNumberUrl":"String"},"assistantSettings":{"companyName":"String","greeting":"String","companyInformation":"String","customPrompt":"String","voice":"String","voiceStyle":"String","tuning":"Accuracy","words":[{"word":"String","pronounced":"String"}],"links":[{"url":"String","description":"String"}],"contacts":[{"name":"String","phoneNumber":"String","transferType":"Blind","about":"String","emailAddress":"String","takeMessageFields":[{"name":"String","description":"String","required":false}]}],"integrations":[{"uri":"String","httpMethod":"String","authToken":"String"}]},"embedSettings":{"enabled":false,"allowedHosts":"String"},"id":"String","dateCreated":"String","dateLastModified":"String","createdBy":"String","lastModifiedBy":"String"}]}