/* Options: Date: 2025-05-05 00:04:23 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetEndpointAppConfig.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/endpoints/app/config", Verbs="GET") open class GetEndpointAppConfig : IReturn { /** * The endpoint whose config you want to get (this must be a User) */ @ApiMember(Description="The endpoint whose config you want to get (this must be a User)") open var endpointId:String? = null /** * The endpoint email address whose config you want to get (this must be a User) - EndpointId takes priority over this */ @ApiMember(Description="The endpoint email address whose config you want to get (this must be a User) - EndpointId takes priority over this") open var endpointEmailAddress:String? = null /** * The type of device you are requesting config for */ @ApiMember(Description="The type of device you are requesting config for") open var deviceType:DeviceTypes? = null /** * Use a specific push credential SID */ @ApiMember(Description="Use a specific push credential SID") open var pushCredentialSid:String? = null /** * Use a specific application SID */ @ApiMember(Description="Use a specific application SID") open var applicationSid:String? = null /** * Is this device operating in a sandbox environment? IOS only. */ @ApiMember(Description="Is this device operating in a sandbox environment? IOS only.") open var sandbox:Boolean? = null companion object { private val responseType = AppConfig::class.java } override fun getResponseType(): Any? = GetEndpointAppConfig.responseType } open class AppConfig { /** * The ID of this endpoint */ @ApiMember(Description="The ID of this endpoint") open var endpointId:String? = null /** * The ID of the account */ @ApiMember(Description="The ID of the account") open var accountId:String? = null /** * The customer ID associated with this user */ @ApiMember(Description="The customer ID associated with this user") open var customerId:String? = null /** * The access token for use with Twilio Voice */ @ApiMember(Description="The access token for use with Twilio Voice") open var accessToken:String? = null /** * The access token's identity */ @ApiMember(Description="The access token's identity") open var identity:String? = null /** * The email address of the user */ @ApiMember(Description="The email address of the user") open var emailAddress:String? = null /** * The user's information */ @ApiMember(Description="The user's information") open var userInfo:AppUserInfo? = null /** * The agent state (for call center users) */ @ApiMember(Description="The agent state (for call center users)") open var agentState:AgentStates? = null /** * The agent state reason */ @ApiMember(Description="The agent state reason") open var agentStateReason:AgentStateReasons? = null /** * The tabs for the app */ @ApiMember(Description="The tabs for the app") open var tabs:ArrayList? = null /** * The app settings */ @ApiMember(Description="The app settings") open var appSettings:AppSettings? = null /** * The phone settings for third party connectivity */ @ApiMember(Description="The phone settings for third party connectivity") open var thirdPartyPhoneSystemSettings:ThirdPartyPhoneSystemSettings? = null } enum class DeviceTypes { Web, IOS, Android, } open class AppSettings { open var enablePhoneNumberManagement:Boolean? = null open var enableDeviceManagement:Boolean? = null open var enableDialer:Boolean? = null open var enableCallHistory:Boolean? = null open var enableAssistants:Boolean? = null open var showFileNameInMessageCenter:Boolean? = null open var chakraTheme:String? = null open var customCss:String? = null open var pageTitle:String? = null open var stringMappings:String? = null open var logoutUrl:String? = null open var portMyNumberUrl:String? = null } open class ThirdPartyPhoneSystemSettings { @SerializedName("type") open var Type:ThirdPartyPhoneSystemTypes? = null open var sipSettings:ThirdPartySipSettings? = null open var demoSettings:ThirdPartyDemoSettings? = null } enum class AgentStates { Unknown, Ready, NotReady, LoggedOut, WrapUp, Outgoing, Other, } enum class AgentStateReasons { Unknown, SetByUser, MissedCall, SetBySystem, } enum class ThirdPartyPhoneSystemTypes { Demo, Sip, } open class ThirdPartySipSettings { open var accounts:ArrayList? = null } open class ThirdPartyDemoSettings { open var extension:String? = null } open class ThirdPartySipAccountSettings { open var number:String? = null open var agent:String? = null open var authName:String? = null open var userName:String? = null open var displayName:String? = null open var password:String? = null open var userDomain:String? = null open var registrationExpires:Int? = null open var transportType:TransportTypes? = null open var localIP:String? = null open var localPort:Int? = null open var sipServer:String? = null open var sipServerPort:Int? = null open var outboundServer:String? = null open var outboundServerPort:Int? = null open var stunServer:String? = null open var stunPort:Int? = null open var audioPlaybackDeviceName:String? = null open var audioRecordingDeviceName:String? = null open var audioCodecs:ArrayList? = null open var dtmfMethod:DtmfMethods? = null } enum class TransportTypes { Udp, Tls, Tcp, Pers, } enum class AudioCodecTypes(val value:Int) { 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), } enum class DtmfMethods { RfC2833, Info, } open class AppUserInfo { /** * The user's first name */ @ApiMember(Description="The user's first name") open var firstName:String? = null /** * The user's last name */ @ApiMember(Description="The user's last name") open var lastName:String? = null /** * Shortcut to the user's full name */ @ApiMember(Description="Shortcut to the user's full name") open var name:String? = null /** * The URL to the user's avatar */ @ApiMember(Description="The URL to the user's avatar") open var avatarUrl:String? = null }