/* Options: Date: 2025-05-04 22:32:49 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: NewTeamEndpoint.* //ExcludeTypes: //DefaultImports: */ export class NodeParameterMap { [key:string] : NodeParameter; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IReturn { createResponse(): T; } export interface IPost { } export enum ActionUrlHttpMethods { GET = 'GET', POST = 'POST', } export class Struct { public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Value { public boolValue?: boolean; public stringValue: string; public numberValue?: number; public listValue: Struct[]; public structValue: Struct; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AppSettings { public enablePhoneNumberManagement: boolean; public enableDeviceManagement: boolean; public enableDialer: boolean; public enableCallHistory: boolean; public enableAssistants: boolean; public showFileNameInMessageCenter: boolean; public chakraTheme: string; public customCss: string; public pageTitle: string; public stringMappings: string; public logoutUrl: string; public portMyNumberUrl: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum UserModes { SoftPhone = 'SoftPhone', Sip = 'Sip', Flow = 'Flow', DataOnly = 'DataOnly', ThirdParty = 'ThirdParty', } export enum EndpointFlowSchedules { Always = 'Always', Scheduled = 'Scheduled', Simple = 'Simple', } export class ScheduledFlow { public stateName: string; public flowId: string; public flowParams: Struct; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum TwilioSipRegions { NorthAmericaVirginia = 'NorthAmericaVirginia', NorthAmericaOregon = 'NorthAmericaOregon', EuropeIreland = 'EuropeIreland', EuropeFrankfurt = 'EuropeFrankfurt', AsiaPacificSingapore = 'AsiaPacificSingapore', AsiaPacificTokyo = 'AsiaPacificTokyo', AsiaPacificSydney = 'AsiaPacificSydney', SouthAmericaSanPaolo = 'SouthAmericaSanPaolo', } export enum UserManagerRoles { None = 'None', Manager = 'Manager', VoicemailAndCallHistory = 'VoicemailAndCallHistory', Custom = 'Custom', } export enum DashboardPermissions { ViewFiles = 'ViewFiles', ViewNotifications = 'ViewNotifications', ViewSessions = 'ViewSessions', ViewEndpoints = 'ViewEndpoints', ViewReports = 'ViewReports', ViewCustomers = 'ViewCustomers', ViewFlows = 'ViewFlows', } export enum UserDataFieldModes { Hidden = 'Hidden', ReadOnly = 'ReadOnly', ReadWrite = 'ReadWrite', } export enum CustomerVisibility { None = 'None', CurrentCustomer = 'CurrentCustomer', CurrentAndChildCustomers = 'CurrentAndChildCustomers', } export class EndpointActionUrl { public id: string; public url: string; public method: ActionUrlHttpMethods; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EndpointContact { public id: string; public displayName: string; public address: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum ThirdPartyPhoneSystemTypes { Demo = 'Demo', Sip = 'Sip', } export enum TransportTypes { UDP = 'UDP', TLS = 'TLS', TCP = 'TCP', PERS = 'PERS', } export enum AudioCodecTypes { PCMU = 0, GSM = 3, PCMA = 8, G722 = 9, G729 = 18, ILBC = 97, AMR = 98, AMRWB = 99, SPEEX = 100, DTMF = 101, SPEEXWB = 102, ISACWB = 103, ISACSWB = 104, OPUS = 105, G7221 = 121, NONE = -1, } export enum DtmfMethods { RFC2833 = 'RFC2833', INFO = 'INFO', } export class ThirdPartySipAccountSettings { public number: string; public agent: string; public authName: string; public userName: string; public displayName: string; public password: string; public userDomain: string; public registrationExpires: number; public transportType: TransportTypes; public localIP: string; public localPort: number; public sipServer: string; public sipServerPort: number; public outboundServer: string; public outboundServerPort: number; public stunServer: string; public stunPort: number; public audioPlaybackDeviceName: string; public audioRecordingDeviceName: string; public audioCodecs: AudioCodecTypes[]; public dtmfMethod: DtmfMethods; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ThirdPartySipSettings { public accounts: ThirdPartySipAccountSettings[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ThirdPartyDemoSettings { public extension: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ThirdPartyPhoneSystemSettings { public type: ThirdPartyPhoneSystemTypes; public sipSettings: ThirdPartySipSettings; public demoSettings: ThirdPartyDemoSettings; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum AssistantTunings { Accuracy = 'Accuracy', Speed = 'Speed', } export class AssistantWord { public word: string; public pronounced: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AssistantLink { public url: string; public description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum AssistantTransferTypes { Blind = 'Blind', Supervised = 'Supervised', MessagesOnly = 'MessagesOnly', } export class AssistantTakeMessageField { public name: string; public description: string; public required: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AssistantContact { public name: string; public phoneNumber: string; public transferType: AssistantTransferTypes; public about: string; public emailAddress: string; public takeMessageFields: AssistantTakeMessageField[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AssistantIntegration { public uri: string; public httpMethod: string; public authToken: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AssistantSettings { public companyName: string; public greeting: string; public companyInformation: string; public customPrompt: string; public voice: string; public voiceStyle: string; public tuning: AssistantTunings; public words: AssistantWord[]; public links: AssistantLink[]; public contacts: AssistantContact[]; public integrations: AssistantIntegration[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EmbedSettings { public enabled: boolean; public allowedHosts: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum EndpointTypes { PhoneNumber = 'PhoneNumber', User = 'User', FaxNumber = 'FaxNumber', EmailAddress = 'EmailAddress', Unused_1 = 'Unused_1', Unused_2 = 'Unused_2', Unused_3 = 'Unused_3', Unused_4 = 'Unused_4', Unused_5 = 'Unused_5', Team = 'Team', Assistant = 'Assistant', } export enum AgentStates { Unknown = 'Unknown', Ready = 'Ready', NotReady = 'NotReady', LoggedOut = 'LoggedOut', WrapUp = 'WrapUp', Outgoing = 'Outgoing', Other = 'Other', } export enum TagColors { Magenta = 'Magenta', Red = 'Red', Volcano = 'Volcano', Orange = 'Orange', Gold = 'Gold', Lime = 'Lime', Green = 'Green', Cyan = 'Cyan', Blue = 'Blue', GeekBlue = 'GeekBlue', Purple = 'Purple', } export class Tag { public id: string; public name: string; public color: TagColors; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EntityInfo { /** @description The ID of the object */ // @ApiMember(Description="The ID of the object") public id: string; /** @description The date the object was created */ // @ApiMember(Description="The date the object was created") public dateCreated: string; /** @description The date the object was last modified */ // @ApiMember(Description="The date the object was last modified") public dateLastModified: string; /** @description The user that created this object */ // @ApiMember(Description="The user that created this object") public createdBy: string; /** @description The user that last modified this object */ // @ApiMember(Description="The user that last modified this object") public lastModifiedBy: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CustomerBreadcrumb { public id: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum AgentStateReasons { Unknown = 'Unknown', SetByUser = 'SetByUser', MissedCall = 'MissedCall', SetBySystem = 'SetBySystem', } export class IntegrationData { public thirdPartyId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Dictionary { [Key: string]: T; } export class EntityIntegrationData extends Dictionary { public constructor(init?: Partial) { super(); (Object as any).assign(this, init); } } export class Schedule { public timeZoneId: string; public inherit: boolean; public forceClosed: boolean; public rules: SchedulingRule[]; public defaultState: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EndpointInfo extends EntityInfo { /** @description The account ID this endpoint is associated with */ // @ApiMember(Description="The account ID this endpoint is associated with") public accountId: string; /** @description The name of the account this endpoint is associated with */ // @ApiMember(Description="The name of the account this endpoint is associated with") public accountName: string; /** @description The ID of the customer this endpoint is associated with */ // @ApiMember(Description="The ID of the customer this endpoint is associated with") public customerId: string; /** @description The name of the customer this endpoint is associated with */ // @ApiMember(Description="The name of the customer this endpoint is associated with") public customerName: string; /** @description The third party reference ID for the endpoint */ // @ApiMember(Description="The third party reference ID for the endpoint") public referenceId: string; /** @description The breadcrumb to the customer for this endpoint */ // @ApiMember(Description="The breadcrumb to the customer for this endpoint") public customerBreadcrumb: CustomerBreadcrumb[]; /** @description The display name of the endpoint */ // @ApiMember(Description="The display name of the endpoint") public displayName: string; /** @description The type of endpoint */ // @ApiMember(Description="The type of endpoint") public type: EndpointTypes; /** @description Extra info for this endpoint (typically to show in grid) */ // @ApiMember(Description="Extra info for this endpoint (typically to show in grid)") public extraInformation: string; /** @description The ID of the flow to use for voice */ // @ApiMember(Description="The ID of the flow to use for voice") public flowId: string; /** @description The name of the flow to use for voice */ // @ApiMember(Description="The name of the flow to use for voice") public flowName: string; /** @description The params for the voice flow */ // @ApiMember(Description="The params for the voice flow") public flowParams: Struct; /** @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") public flowSchedule: EndpointFlowSchedules; /** @description This endpoint's schedule */ // @ApiMember(Description="This endpoint's schedule") public schedule: Schedule; /** @description The list of scheduled flows when using scheduling */ // @ApiMember(Description="The list of scheduled flows when using scheduling") public scheduledFlows: ScheduledFlow[]; /** @description Disable SMS */ // @ApiMember(Description="Disable SMS") public disableSms: boolean; /** @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") public useExternal10DlcCampaign: boolean; /** @description Is this a virtual phone number? */ // @ApiMember(Description="Is this a virtual phone number?") public isVirtualPhoneNumber: boolean; /** @description Is caller ID verified for this virtual number? */ // @ApiMember(Description="Is caller ID verified for this virtual number?") public isCallerIdVerified: boolean; /** @description The verification code for this number */ // @ApiMember(Description="The verification code for this number") public callerIdVerificationCode: string; /** @description The phone number */ // @ApiMember(Description="The phone number") public phoneNumber: string; /** @description The Sid of the phone number */ // @ApiMember(Description="The Sid of the phone number") public phoneNumberSid: string; /** @description The caller ID Name (CNAM) for the phone number */ // @ApiMember(Description="The caller ID Name (CNAM) for the phone number") public callerIdName: string; /** @description The address SID associated with the phone number */ // @ApiMember(Description="The address SID associated with the phone number") public addressSid: string; /** @description Do not touch this phone number - for BYOA accounts */ // @ApiMember(Description="Do not touch this phone number - for BYOA accounts") public doNotTouchPhoneNumber: boolean; /** @description Is this number enrolled in a 10DLC messaging service campaign */ // @ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign") public isEnrolledIn10DlcService: boolean; /** @description Whether we look up caller ID or not */ // @ApiMember(Description="Whether we look up caller ID or not") public enableCallerIdLookup: boolean; /** @description The email address of the user */ // @ApiMember(Description="The email address of the user") public userEmailAddress: string; /** @description The Twilio Region for the SIP endpoint */ // @ApiMember(Description="The Twilio Region for the SIP endpoint") public sipRegion: TwilioSipRegions; /** @description The Twilio Sid of the credentials for Sip */ // @ApiMember(Description="The Twilio Sid of the credentials for Sip") public sipCredentialSid: string; /** @description The Twilio SIP user name */ // @ApiMember(Description="The Twilio SIP user name") public sipUserName: string; /** @description The Twilio SIP password */ // @ApiMember(Description="The Twilio SIP password") public sipPassword: string; /** @description The SIP domain */ // @ApiMember(Description="The SIP domain") public sipDomain: string; /** @description Is emergency calling enabled on this number? */ // @ApiMember(Description="Is emergency calling enabled on this number?") public enableEmergencyCalling: boolean; /** @description The SID of the emergency address for this number */ // @ApiMember(Description="The SID of the emergency address for this number") public emergencyAddressSid: string; /** @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") public emergencyPhoneNumberId: string; /** @description The current agent state of this user endpoint */ // @ApiMember(Description="The current agent state of this user endpoint") public agentState: AgentStates; /** @description The current agent state reason of this user endpoint */ // @ApiMember(Description="The current agent state reason of this user endpoint") public agentStateReason: AgentStateReasons; /** @description The mode for this user */ // @ApiMember(Description="The mode for this user") public userMode: UserModes; /** @description The ID of the file to use for voicemail greeting */ // @ApiMember(Description="The ID of the file to use for voicemail greeting") public voicemailGreetingId: string; /** @description The endpoint's data */ // @ApiMember(Description="The endpoint's data") public data: Struct; /** @description The email address for email endpoints */ // @ApiMember(Description="The email address for email endpoints") public emailAddress: string; /** @description The first name of the user (for user endpoints) */ // @ApiMember(Description="The first name of the user (for user endpoints)") public userFirstName: string; /** @description The last name of the user (for user endpoints) */ // @ApiMember(Description="The last name of the user (for user endpoints)") public userLastName: string; /** @description The URL of an image for this user's avatar */ // @ApiMember(Description="The URL of an image for this user's avatar") public avatarUrl: string; /** @description Does this user have manager role? */ // @ApiMember(Description="Does this user have manager role?") public managerRole: UserManagerRoles; /** @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") public dashboardPermissions: DashboardPermissions[]; /** @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") public myFieldPermissions: UserDataFieldModes; /** @description The type of visibility this user has to customer fields */ // @ApiMember(Description="The type of visibility this user has to customer fields") public customerFieldPermissions: UserDataFieldModes; /** @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") public otherUserFieldPermissions: UserDataFieldModes; /** @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") public otherEndpointFieldPermissions: UserDataFieldModes; /** @description The name of this endpoint (for bots etc.) */ // @ApiMember(Description="The name of this endpoint (for bots etc.)") public name: string; /** @description The list of tags for this endpoint */ // @ApiMember(Description="The list of tags for this endpoint") public tags: Tag[]; /** @description The list of action URLs */ // @ApiMember(Description="The list of action URLs") public actionUrls: EndpointActionUrl[]; /** @description The list of members in this team */ // @ApiMember(Description="The list of members in this team") public teamMemberIds: string[]; /** @description Visibility of this user/team in contact lists */ // @ApiMember(Description="Visibility of this user/team in contact lists") public contactListVisibility: CustomerVisibility; /** @description The list of contacts personal to this user */ // @ApiMember(Description="The list of contacts personal to this user") public contacts: EndpointContact[]; /** @description The documo ID for this number */ // @ApiMember(Description="The documo ID for this number") public documoId: string; /** @description Integration data for this endpoint */ // @ApiMember(Description="Integration data for this endpoint") public integrationData: EntityIntegrationData; /** @description Settings for third party phone system */ // @ApiMember(Description="Settings for third party phone system") public thirdPartyPhoneSystemSettings: ThirdPartyPhoneSystemSettings; /** @description Should this user override the parent customer's app settings */ // @ApiMember(Description="Should this user override the parent customer's app settings") public overrideAppSettings: boolean; /** @description App / Portal settings for this user */ // @ApiMember(Description="App / Portal settings for this user") public appSettings: AppSettings; /** @description Configuration for the AI assistant */ // @ApiMember(Description="Configuration for the AI assistant") public assistantSettings: AssistantSettings; /** @description Configuration for the embed */ // @ApiMember(Description="Configuration for the embed") public embedSettings: EmbedSettings; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } /** @description Create a new Team */ // @Route("/endpoints/team", "POST") // @Api(Description="Create a new Team") export class NewTeamEndpoint implements IReturn, IPost { /** @description The account to associate with this new endpoint */ // @ApiMember(Description="The account to associate with this new endpoint") public accountId: string; /** @description The Customer this contact is associated with */ // @ApiMember(Description="The Customer this contact is associated with") public customerId: string; /** @description The name for the team */ // @ApiMember(Description="The name for the team") public name: string; /** @description The list of tags to associate with the new endpoint */ // @ApiMember(Description="The list of tags to associate with the new endpoint") public tagIds: string[]; /** @description Data values for this endpoint */ // @ApiMember(Description="Data values for this endpoint") public data: Struct; /** @description The ID of the users who are in this team */ // @ApiMember(Description="The ID of the users who are in this team") public teamMemberIds: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'NewTeamEndpoint'; } public getMethod() { return 'POST'; } public createResponse() { return new EndpointInfo(); } }