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