/* Options: Date: 2024-05-31 23:32:23 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://evovoice.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ListEndpoints.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* /** * Lists all endpoints */ @Route(Path="/endpoints", Verbs="GET") @Api(Description="Lists all endpoints") open class ListEndpoints : ListRequest(), IReturn> { /** * The IDs of the account whose endpoints you want to retrieve */ @ApiMember(Description="The IDs of the account whose endpoints you want to retrieve") var accountIds:ArrayList = ArrayList() /** * The IDs of the customers whose endpoints you want to retrieve */ @ApiMember(Description="The IDs of the customers whose endpoints you want to retrieve") var customerIds:ArrayList = ArrayList() /** * The third party IDs of endpoints you want to retrieve */ @ApiMember(Description="The third party IDs of endpoints you want to retrieve") var referenceIds:ArrayList = ArrayList() /** * If you want a shall parent customer filter (e.g. no deep children) */ @ApiMember(Description="If you want a shall parent customer filter (e.g. no deep children)") var shallowParent:Boolean? = null /** * The IDs of the flows whose endpoints you want to retrieve */ @ApiMember(Description="The IDs of the flows whose endpoints you want to retrieve") var flowIds:ArrayList = ArrayList() /** * The state where the specified flow IDs should be */ @ApiMember(Description="The state where the specified flow IDs should be") var flowState:String? = null /** * The list of tag IDs to filter by (must contain all) */ @ApiMember(Description="The list of tag IDs to filter by (must contain all)") var tagIds:ArrayList = ArrayList() /** * Filter by name */ @ApiMember(Description="Filter by name") var nameFilter:String? = null /** * Filter by phone number */ @ApiMember(Description="Filter by phone number") var phoneNumberFilter:String? = null /** * Filter by type */ @ApiMember(Description="Filter by type") @SerializedName("type") var Type:EndpointTypes? = null /** * Filter by types */ @ApiMember(Description="Filter by types") var types:ArrayList = ArrayList() /** * Filter by user mode */ @ApiMember(Description="Filter by user mode") var userMode:UserModes? = null /** * Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently */ @ApiMember(Description="Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently") var dataFilters:ArrayList = ArrayList() /** * Filter by SIP user name */ @ApiMember(Description="Filter by SIP user name") var sipUserName:String? = null /** * Filter by flow parameters (this must be a JSON struct) */ @ApiMember(Description="Filter by flow parameters (this must be a JSON struct)") var flowParametersFilter:String? = null companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = ListEndpoints.responseType } open class ListResponse { /** * The items */ @ApiMember(Description="The items") var items:ArrayList = ArrayList() /** * The total number of items */ @ApiMember(Description="The total number of items") var totalCount:Int? = null /** * The total number of pages */ @ApiMember(Description="The total number of pages") var totalPages:Int? = null /** * Are there more pages of items? Used with simplified paging */ @ApiMember(Description="Are there more pages of items? Used with simplified paging") var hasMorePages:Boolean? = null } enum class SortOrders { Ascend, Descend, } open class ListRequest : IGet { /** * The page of data to retrieve */ @ApiMember(Description="The page of data to retrieve") var page:Int? = null /** * If you want all objects to be returned. This should be used with care */ @ApiMember(Description="If you want all objects to be returned. This should be used with care") var all:Boolean? = null /** * The number per page to retrieve */ @ApiMember(Description="The number per page to retrieve") var countPerPage:Int? = null /** * Specific IDs */ @ApiMember(Description="Specific IDs") var specificIds:ArrayList = ArrayList() /** * Specify a sort field */ @ApiMember(Description="Specify a sort field") var sortField:String? = null /** * Specify a sort order */ @ApiMember(Description="Specify a sort order") var sortOrder:SortOrders? = null /** * Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */ @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array") var simplifiedPaging:Boolean? = null } enum class UserModes { SoftPhone, Sip, Flow, DataOnly, ThirdParty, } enum class EndpointTypes { PhoneNumber, User, FaxNumber, EmailAddress, Unused1, Unused2, Unused3, Unused4, Unused5, Team, } open class HostedSuiteCompletedForm { var id:String? = null var name:String? = null var dateCreated:String? = null var dateCompleted:String? = null var formId:String? = null var formName:String? = null var clientId:String? = null var clientName:String? = null var contactId:String? = null var contactName:String? = null var contactsIds:ArrayList = ArrayList() var contactsNames:ArrayList = ArrayList() var emailSubject:String? = null var callerNumber:String? = null var fields:ArrayList = ArrayList() } open class LogEntryInfo : EntityInfo() { /** * The account ID this endpoint is associated with */ @ApiMember(Description="The account ID this endpoint is associated with") var accountId:String? = null /** * The name of the account this endpoint is associated with */ @ApiMember(Description="The name of the account this endpoint is associated with") var accountName:String? = null /** * The ID of the customer this endpoint is associated with */ @ApiMember(Description="The ID of the customer this endpoint is associated with") var customerId:String? = null /** * The name of the customer this endpoint is associated with */ @ApiMember(Description="The name of the customer this endpoint is associated with") var customerName:String? = null /** * The breadcrumb to the customer for this endpoint */ @ApiMember(Description="The breadcrumb to the customer for this endpoint") var customerBreadcrumb:ArrayList = ArrayList() var userName:String? = null var description:String? = null } open class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") var id:String? = null /** * The date the object was created */ @ApiMember(Description="The date the object was created") var dateCreated:String? = null /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") var dateLastModified:String? = null /** * The user that created this object */ @ApiMember(Description="The user that created this object") var createdBy:String? = null /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") var lastModifiedBy:String? = null } open class CustomerBreadcrumb { var id:String? = null var name:String? = null } open class HostedSuiteCompletedFormField { var name:String? = null var values:ArrayList = ArrayList() } open class AccountInfo : EntityInfo() { /** * The name of this account */ @ApiMember(Description="The name of this account") var name:String? = null /** * The ID of this account's parent */ @ApiMember(Description="The ID of this account's parent") var parentAccountId:String? = null /** * The twilio account SID */ @ApiMember(Description="The twilio account SID") var twilioAccountSid:String? = null /** * The ancestors of this account. Useful for breadcrumbs */ @ApiMember(Description="The ancestors of this account. Useful for breadcrumbs") var ancestorIds:ArrayList = ArrayList() /** * The max number of phone numbers this account can have */ @ApiMember(Description="The max number of phone numbers this account can have") var maxPhoneNumbers:Int? = null /** * This account is BYOA */ @ApiMember(Description="This account is BYOA") var isBYOA:Boolean? = null /** * TrustHub Profile Sid */ @ApiMember(Description="TrustHub Profile Sid") var trustHubProfileSid:String? = null /** * The ID of the logo file */ @ApiMember(Description="The ID of the logo file") var logoId:String? = null /** * The URI of the logo file */ @ApiMember(Description="The URI of the logo file") var logoUri:String? = null /** * The billing settings for this account */ @ApiMember(Description="The billing settings for this account") var billingSettings:BillingSettings? = null } open class EndpointInfo : EntityInfo() { /** * The account ID this endpoint is associated with */ @ApiMember(Description="The account ID this endpoint is associated with") var accountId:String? = null /** * The name of the account this endpoint is associated with */ @ApiMember(Description="The name of the account this endpoint is associated with") var accountName:String? = null /** * The ID of the customer this endpoint is associated with */ @ApiMember(Description="The ID of the customer this endpoint is associated with") var customerId:String? = null /** * The name of the customer this endpoint is associated with */ @ApiMember(Description="The name of the customer this endpoint is associated with") var customerName:String? = null /** * The third party reference ID for the endpoint */ @ApiMember(Description="The third party reference ID for the endpoint") var referenceId:String? = null /** * The breadcrumb to the customer for this endpoint */ @ApiMember(Description="The breadcrumb to the customer for this endpoint") var customerBreadcrumb:ArrayList = ArrayList() /** * The display name of the endpoint */ @ApiMember(Description="The display name of the endpoint") var displayName:String? = null /** * The type of endpoint */ @ApiMember(Description="The type of endpoint") @SerializedName("type") var Type:EndpointTypes? = null /** * Extra info for this endpoint (typically to show in grid) */ @ApiMember(Description="Extra info for this endpoint (typically to show in grid)") var extraInformation:String? = null /** * The ID of the flow to use for voice */ @ApiMember(Description="The ID of the flow to use for voice") var flowId:String? = null /** * The name of the flow to use for voice */ @ApiMember(Description="The name of the flow to use for voice") var flowName:String? = null /** * The params for the voice flow */ @ApiMember(Description="The params for the voice flow") var flowParams:Struct? = null /** * 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") var flowSchedule:EndpointFlowSchedules? = null /** * This endpoint's schedule */ @ApiMember(Description="This endpoint's schedule") var schedule:Schedule? = null /** * The list of scheduled flows when using scheduling */ @ApiMember(Description="The list of scheduled flows when using scheduling") var scheduledFlows:ArrayList = ArrayList() /** * Disable SMS */ @ApiMember(Description="Disable SMS") var disableSms:Boolean? = null /** * 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") var useExternal10DlcCampaign:Boolean? = null /** * Is this a virtual phone number? */ @ApiMember(Description="Is this a virtual phone number?") var isVirtualPhoneNumber:Boolean? = null /** * Is caller ID verified for this virtual number? */ @ApiMember(Description="Is caller ID verified for this virtual number?") var isCallerIdVerified:Boolean? = null /** * The verification code for this number */ @ApiMember(Description="The verification code for this number") var callerIdVerificationCode:String? = null /** * The phone number */ @ApiMember(Description="The phone number") var phoneNumber:String? = null /** * The Sid of the phone number */ @ApiMember(Description="The Sid of the phone number") var phoneNumberSid:String? = null /** * The caller ID Name (CNAM) for the phone number */ @ApiMember(Description="The caller ID Name (CNAM) for the phone number") var callerIdName:String? = null /** * The address SID associated with the phone number */ @ApiMember(Description="The address SID associated with the phone number") var addressSid:String? = null /** * Do not touch this phone number - for BYOA accounts */ @ApiMember(Description="Do not touch this phone number - for BYOA accounts") var doNotTouchPhoneNumber:Boolean? = null /** * Is this number enrolled in a 10DLC messaging service campaign */ @ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign") var isEnrolledIn10DlcService:Boolean? = null /** * Whether we look up caller ID or not */ @ApiMember(Description="Whether we look up caller ID or not") var enableCallerIdLookup:Boolean? = null /** * The email address of the user */ @ApiMember(Description="The email address of the user") var userEmailAddress:String? = null /** * The Twilio Region for the SIP endpoint */ @ApiMember(Description="The Twilio Region for the SIP endpoint") var sipRegion:TwilioSipRegions? = null /** * The Twilio Sid of the credentials for Sip */ @ApiMember(Description="The Twilio Sid of the credentials for Sip") var sipCredentialSid:String? = null /** * The Twilio SIP user name */ @ApiMember(Description="The Twilio SIP user name") var sipUserName:String? = null /** * The Twilio SIP password */ @ApiMember(Description="The Twilio SIP password") var sipPassword:String? = null /** * The SIP domain */ @ApiMember(Description="The SIP domain") var sipDomain:String? = null /** * Is emergency calling enabled on this number? */ @ApiMember(Description="Is emergency calling enabled on this number?") var enableEmergencyCalling:Boolean? = null /** * The SID of the emergency address for this number */ @ApiMember(Description="The SID of the emergency address for this number") var emergencyAddressSid:String? = null /** * The ID of the phone number to use for emergency dialing */ @ApiMember(Description="The ID of the phone number to use for emergency dialing") var emergencyPhoneNumberId:String? = null /** * The current agent state of this user endpoint */ @ApiMember(Description="The current agent state of this user endpoint") var agentState:AgentStates? = null /** * The current agent state reason of this user endpoint */ @ApiMember(Description="The current agent state reason of this user endpoint") var agentStateReason:AgentStateReasons? = null /** * The mode for this user */ @ApiMember(Description="The mode for this user") var userMode:UserModes? = null /** * The ID of the file to use for voicemail greeting */ @ApiMember(Description="The ID of the file to use for voicemail greeting") var voicemailGreetingId:String? = null /** * The endpoint's data */ @ApiMember(Description="The endpoint's data") @SerializedName("data") var Data:Struct? = null /** * The email address for email endpoints */ @ApiMember(Description="The email address for email endpoints") var emailAddress:String? = null /** * The first name of the user (for user endpoints) */ @ApiMember(Description="The first name of the user (for user endpoints)") var userFirstName:String? = null /** * The last name of the user (for user endpoints) */ @ApiMember(Description="The last name of the user (for user endpoints)") var userLastName:String? = null /** * The URL of an image for this user's avatar */ @ApiMember(Description="The URL of an image for this user's avatar") var avatarUrl:String? = null /** * Does this user have manager role? */ @ApiMember(Description="Does this user have manager role?") var managerRole:UserManagerRoles? = null /** * 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") var dashboardPermissions:ArrayList = ArrayList() /** * The type of visibility this user has to their own fields */ @ApiMember(Description="The type of visibility this user has to their own fields") var myFieldPermissions:UserDataFieldModes? = null /** * The type of visibility this user has to customer fields */ @ApiMember(Description="The type of visibility this user has to customer fields") var customerFieldPermissions:UserDataFieldModes? = null /** * The type of visibility this user has to other user fields */ @ApiMember(Description="The type of visibility this user has to other user fields") var otherUserFieldPermissions:UserDataFieldModes? = null /** * The type of visibility this user has to other endpoint fields */ @ApiMember(Description="The type of visibility this user has to other endpoint fields") var otherEndpointFieldPermissions:UserDataFieldModes? = null /** * The name of this endpoint (for bots etc.) */ @ApiMember(Description="The name of this endpoint (for bots etc.)") var name:String? = null /** * The list of tags for this endpoint */ @ApiMember(Description="The list of tags for this endpoint") var tags:ArrayList = ArrayList() /** * The list of action URLs */ @ApiMember(Description="The list of action URLs") var actionUrls:ArrayList = ArrayList() /** * The list of members in this team */ @ApiMember(Description="The list of members in this team") var teamMemberIds:ArrayList = ArrayList() /** * Visibility of this user/team in contact lists */ @ApiMember(Description="Visibility of this user/team in contact lists") var contactListVisibility:CustomerVisibility? = null /** * The list of contacts personal to this user */ @ApiMember(Description="The list of contacts personal to this user") var contacts:ArrayList = ArrayList() /** * The documo ID for this number */ @ApiMember(Description="The documo ID for this number") var documoId:String? = null /** * Integration data for this endpoint */ @ApiMember(Description="Integration data for this endpoint") var integrationData:EntityIntegrationData? = null /** * Settings for third party phone system */ @ApiMember(Description="Settings for third party phone system") var thirdPartyPhoneSystemSettings:ThirdPartyPhoneSystemSettings? = null /** * Should this user override the parent customer's app settings */ @ApiMember(Description="Should this user override the parent customer's app settings") var overrideAppSettings:Boolean? = null /** * App / Portal settings for this user */ @ApiMember(Description="App / Portal settings for this user") var appSettings:AppSettings? = null }