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