' Options: 'Date: 2024-05-19 15:34:04 'Version: 6.40 'Tip: To override a DTO option, remove "''" prefix before updating 'BaseUrl: https://evovoice.io ' '''GlobalNamespace: '''MakePartial: True '''MakeVirtual: True '''MakeDataContractsExtensible: False '''AddReturnMarker: True '''AddDescriptionAsComments: True '''AddDataContractAttributes: False '''AddIndexesToDataMembers: False '''AddGeneratedCodeAttributes: False '''AddResponseStatus: False '''AddImplicitVersion: '''InitializeCollections: True '''ExportValueTypes: False 'IncludeTypes: BuyPhoneNumber.* '''ExcludeTypes: '''AddNamespaces: '''AddDefaultXmlNamespace: http://schemas.servicestack.net/types Imports System Imports System.Collections Imports System.Collections.Generic Imports System.Runtime.Serialization Imports ServiceStack Imports ServiceStack.DataAnnotations Imports System.IO Imports Voice.Api.Endpoints Imports Voice.Api.Flows.Data Imports Voice.Api.Customers Imports Voice.Api.Authentication Imports Voice.Api.Settings Imports Voice.Api Imports Voice.Api.Integrations Imports Voice.Api.Scheduling Namespace Global Namespace Voice.Api Public Partial Class EntityInfo ''' '''The ID of the object ''' Public Overridable Property Id As String ''' '''The date the object was created ''' Public Overridable Property DateCreated As String ''' '''The date the object was last modified ''' Public Overridable Property DateLastModified As String ''' '''The user that created this object ''' Public Overridable Property CreatedBy As String ''' '''The user that last modified this object ''' Public Overridable Property LastModifiedBy As String End Class End Namespace Namespace Voice.Api.Authentication Public Enum DashboardPermissions ViewFiles ViewNotifications ViewSessions ViewEndpoints ViewReports ViewCustomers ViewFlows End Enum End Namespace Namespace Voice.Api.Customers Public Partial Class AppSettings Public Overridable Property EnablePhoneNumberManagement As Boolean Public Overridable Property EnableDeviceManagement As Boolean Public Overridable Property EnableDialer As Boolean Public Overridable Property EnableCallHistory As Boolean Public Overridable Property ShowFileNameInMessageCenter As Boolean Public Overridable Property ChakraTheme As String Public Overridable Property CustomCss As String Public Overridable Property PageTitle As String Public Overridable Property StringMappings As String Public Overridable Property LogoutUrl As String Public Overridable Property PortMyNumberUrl As String End Class Public Partial Class CustomerBreadcrumb Public Overridable Property Id As String Public Overridable Property Name As String End Class End Namespace Namespace Voice.Api.Endpoints Public Enum ActionUrlHttpMethods GET POST End Enum Public Enum AgentStateReasons Unknown SetByUser MissedCall SetBySystem End Enum Public Enum AgentStates Unknown Ready NotReady LoggedOut WrapUp Outgoing Other End Enum ''' '''Buys the specified phone number ''' Public Partial Class BuyPhoneNumber Implements IReturn(Of EndpointInfo) Implements IPost Public Sub New() TagIds = New List(Of String) End Sub ''' '''The ID of the account to associate the number with ''' Public Overridable Property AccountId As String ''' '''The ID of the customer to associate this number with ''' Public Overridable Property CustomerId As String ''' '''The number to buy/create ''' Public Overridable Property Number As String ''' '''Is this number virtual? If so we will not buy but just create an entry ''' Public Overridable Property IsVirtualPhoneNumber As Boolean ''' '''Is this a fax number? ''' Public Overridable Property IsFaxNumber As Boolean ''' '''The address SID to associate with the phone number ''' Public Overridable Property AddressSid As String ''' '''The list of tags to associate with the new endpoint ''' Public Overridable Property TagIds As List(Of String) ''' '''Data values for this endpoint ''' Public Overridable Property Data As Struct ''' '''Specify the flow to use ''' Public Overridable Property FlowId As String ''' '''The flow params ''' Public Overridable Property FlowParams As Struct End Class Public Enum CustomerVisibility None CurrentCustomer CurrentAndChildCustomers End Enum Public Partial Class EndpointActionUrl Public Overridable Property Id As String Public Overridable Property Url As String Public Overridable Property Method As ActionUrlHttpMethods End Class Public Partial Class EndpointContact Public Overridable Property Id As String Public Overridable Property DisplayName As String Public Overridable Property Address As String End Class Public Enum EndpointFlowSchedules Always Scheduled Simple End Enum Public Partial Class EndpointInfo Inherits EntityInfo Public Sub New() CustomerBreadcrumb = New List(Of CustomerBreadcrumb) ScheduledFlows = New List(Of ScheduledFlow) DashboardPermissions = New List(Of DashboardPermissions) Tags = New List(Of Tag) ActionUrls = New List(Of EndpointActionUrl) TeamMemberIds = New List(Of String) Contacts = New List(Of EndpointContact) End Sub ''' '''The account ID this endpoint is associated with ''' Public Overridable Property AccountId As String ''' '''The name of the account this endpoint is associated with ''' Public Overridable Property AccountName As String ''' '''The ID of the customer this endpoint is associated with ''' Public Overridable Property CustomerId As String ''' '''The name of the customer this endpoint is associated with ''' Public Overridable Property CustomerName As String ''' '''The third party reference ID for the endpoint ''' Public Overridable Property ReferenceId As String ''' '''The breadcrumb to the customer for this endpoint ''' Public Overridable Property CustomerBreadcrumb As List(Of CustomerBreadcrumb) ''' '''The display name of the endpoint ''' Public Overridable Property DisplayName As String ''' '''The type of endpoint ''' Public Overridable Property Type As EndpointTypes ''' '''Extra info for this endpoint (typically to show in grid) ''' Public Overridable Property ExtraInformation As String ''' '''The ID of the flow to use for voice ''' Public Overridable Property FlowId As String ''' '''The name of the flow to use for voice ''' Public Overridable Property FlowName As String ''' '''The params for the voice flow ''' Public Overridable Property FlowParams As Struct ''' '''Whether to use a single flow always or use scheduled flow system ''' Public Overridable Property FlowSchedule As EndpointFlowSchedules ''' '''This endpoint's schedule ''' Public Overridable Property Schedule As Schedule ''' '''The list of scheduled flows when using scheduling ''' Public Overridable Property ScheduledFlows As List(Of ScheduledFlow) ''' '''Disable SMS ''' Public Overridable Property DisableSms As Boolean ''' '''Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number ''' Public Overridable Property UseExternal10DlcCampaign As Boolean ''' '''Is this a virtual phone number? ''' Public Overridable Property IsVirtualPhoneNumber As Boolean ''' '''Is caller ID verified for this virtual number? ''' Public Overridable Property IsCallerIdVerified As Boolean ''' '''The verification code for this number ''' Public Overridable Property CallerIdVerificationCode As String ''' '''The phone number ''' Public Overridable Property PhoneNumber As String ''' '''The Sid of the phone number ''' Public Overridable Property PhoneNumberSid As String ''' '''The caller ID Name (CNAM) for the phone number ''' Public Overridable Property CallerIdName As String ''' '''The address SID associated with the phone number ''' Public Overridable Property AddressSid As String ''' '''Do not touch this phone number - for BYOA accounts ''' Public Overridable Property DoNotTouchPhoneNumber As Boolean ''' '''Is this number enrolled in a 10DLC messaging service campaign ''' Public Overridable Property IsEnrolledIn10DlcService As Boolean ''' '''Whether we look up caller ID or not ''' Public Overridable Property EnableCallerIdLookup As Boolean ''' '''The email address of the user ''' Public Overridable Property UserEmailAddress As String ''' '''The Twilio Region for the SIP endpoint ''' Public Overridable Property SipRegion As TwilioSipRegions ''' '''The Twilio Sid of the credentials for Sip ''' Public Overridable Property SipCredentialSid As String ''' '''The Twilio SIP user name ''' Public Overridable Property SipUserName As String ''' '''The Twilio SIP password ''' Public Overridable Property SipPassword As String ''' '''The SIP domain ''' Public Overridable Property SipDomain As String ''' '''Is emergency calling enabled on this number? ''' Public Overridable Property EnableEmergencyCalling As Boolean ''' '''The SID of the emergency address for this number ''' Public Overridable Property EmergencyAddressSid As String ''' '''The ID of the phone number to use for emergency dialing ''' Public Overridable Property EmergencyPhoneNumberId As String ''' '''The current agent state of this user endpoint ''' Public Overridable Property AgentState As AgentStates ''' '''The current agent state reason of this user endpoint ''' Public Overridable Property AgentStateReason As AgentStateReasons ''' '''The mode for this user ''' Public Overridable Property UserMode As UserModes ''' '''The ID of the file to use for voicemail greeting ''' Public Overridable Property VoicemailGreetingId As String ''' '''The endpoint's data ''' Public Overridable Property Data As Struct ''' '''The email address for email endpoints ''' Public Overridable Property EmailAddress As String ''' '''The first name of the user (for user endpoints) ''' Public Overridable Property UserFirstName As String ''' '''The last name of the user (for user endpoints) ''' Public Overridable Property UserLastName As String ''' '''The URL of an image for this user's avatar ''' Public Overridable Property AvatarUrl As String ''' '''Does this user have manager role? ''' Public Overridable Property ManagerRole As UserManagerRoles ''' '''The list of dashboard permissions for when the manager role is custom ''' Public Overridable Property DashboardPermissions As List(Of DashboardPermissions) ''' '''The type of visibility this user has to their own fields ''' Public Overridable Property MyFieldPermissions As UserDataFieldModes ''' '''The type of visibility this user has to customer fields ''' Public Overridable Property CustomerFieldPermissions As UserDataFieldModes ''' '''The type of visibility this user has to other user fields ''' Public Overridable Property OtherUserFieldPermissions As UserDataFieldModes ''' '''The type of visibility this user has to other endpoint fields ''' Public Overridable Property OtherEndpointFieldPermissions As UserDataFieldModes ''' '''The name of this endpoint (for bots etc.) ''' Public Overridable Property Name As String ''' '''The list of tags for this endpoint ''' Public Overridable Property Tags As List(Of Tag) ''' '''The list of action URLs ''' Public Overridable Property ActionUrls As List(Of EndpointActionUrl) ''' '''The list of members in this team ''' Public Overridable Property TeamMemberIds As List(Of String) ''' '''Visibility of this user/team in contact lists ''' Public Overridable Property ContactListVisibility As CustomerVisibility ''' '''The list of contacts personal to this user ''' Public Overridable Property Contacts As List(Of EndpointContact) ''' '''The documo ID for this number ''' Public Overridable Property DocumoId As String ''' '''Integration data for this endpoint ''' Public Overridable Property IntegrationData As EntityIntegrationData ''' '''Settings for third party phone system ''' Public Overridable Property ThirdPartyPhoneSystemSettings As ThirdPartyPhoneSystemSettings ''' '''Should this user override the parent customer's app settings ''' Public Overridable Property OverrideAppSettings As Boolean ''' '''App / Portal settings for this user ''' Public Overridable Property AppSettings As AppSettings End Class Public Enum EndpointTypes PhoneNumber User FaxNumber EmailAddress Unused_1 Unused_2 Unused_3 Unused_4 Unused_5 Team End Enum Public Partial Class ScheduledFlow Public Overridable Property StateName As String Public Overridable Property FlowId As String Public Overridable Property FlowParams As Struct End Class Public Partial Class ThirdPartyPhoneSystemSettings Public Overridable Property Type As ThirdPartyPhoneSystemTypes Public Overridable Property SipSettings As ThirdPartyPhoneSystemSettings.ThirdPartySipSettings Public Overridable Property DemoSettings As ThirdPartyPhoneSystemSettings.ThirdPartyDemoSettings Public Partial Class ThirdPartyDemoSettings Public Overridable Property Extension As String End Class Public Partial Class ThirdPartySipSettings Public Sub New() Accounts = New List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.ThirdPartySipAccountSettings) End Sub Public Overridable Property Accounts As List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.ThirdPartySipAccountSettings) Public Enum TransportTypes UDP TLS TCP PERS End Enum Public 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 End Enum Public Enum DtmfMethods RFC2833 INFO End Enum Public Partial Class ThirdPartySipAccountSettings Public Sub New() AudioCodecs = New List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.AudioCodecTypes) End Sub Public Overridable Property Number As String Public Overridable Property Agent As String Public Overridable Property AuthName As String Public Overridable Property UserName As String Public Overridable Property DisplayName As String Public Overridable Property Password As String Public Overridable Property UserDomain As String Public Overridable Property RegistrationExpires As Integer Public Overridable Property TransportType As ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.TransportTypes Public Overridable Property LocalIP As String Public Overridable Property LocalPort As Integer Public Overridable Property SipServer As String Public Overridable Property SipServerPort As Integer Public Overridable Property OutboundServer As String Public Overridable Property OutboundServerPort As Integer Public Overridable Property StunServer As String Public Overridable Property StunPort As Integer Public Overridable Property AudioPlaybackDeviceName As String Public Overridable Property AudioRecordingDeviceName As String Public Overridable Property AudioCodecs As List(Of ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.AudioCodecTypes) Public Overridable Property DTMFMethod As ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.DtmfMethods End Class End Class End Class Public Enum ThirdPartyPhoneSystemTypes Demo Sip End Enum Public Enum TwilioSipRegions NorthAmericaVirginia NorthAmericaOregon EuropeIreland EuropeFrankfurt AsiaPacificSingapore AsiaPacificTokyo AsiaPacificSydney SouthAmericaSanPaolo End Enum Public Enum UserDataFieldModes Hidden ReadOnly ReadWrite End Enum Public Enum UserManagerRoles None Manager VoicemailAndCallHistory Custom End Enum Public Enum UserModes SoftPhone Sip Flow DataOnly ThirdParty End Enum End Namespace Namespace Voice.Api.Flows.Data Public Partial Class Struct Inherits Dictionary(Of String, Value) End Class Public Partial Class Value Public Sub New() ListValue = New List(Of Struct) End Sub Public Overridable Property BoolValue As Nullable(Of Boolean) Public Overridable Property StringValue As String Public Overridable Property NumberValue As Nullable(Of Double) Public Overridable Property ListValue As List(Of Struct) Public Overridable Property StructValue As Struct End Class End Namespace Namespace Voice.Api.Integrations Public Partial Class EntityIntegrationData Inherits Dictionary(Of String, IntegrationData) End Class Public Partial Class IntegrationData Public Overridable Property ThirdPartyId As String End Class End Namespace Namespace Voice.Api.Scheduling Public Partial Class Schedule Public Sub New() Rules = New List(Of SchedulingRule) End Sub Public Overridable Property TimeZoneId As String Public Overridable Property Inherit As Boolean Public Overridable Property ForceClosed As Boolean Public Overridable Property Rules As List(Of SchedulingRule) Public Overridable Property DefaultState As String End Class End Namespace Namespace Voice.Api.Settings Public Partial Class Tag Public Overridable Property Id As String Public Overridable Property Name As String Public Overridable Property Color As TagColors End Class Public Enum TagColors Magenta Red Volcano Orange Gold Lime Green Cyan Blue GeekBlue Purple End Enum End Namespace End Namespace