/* Options: Date: 2025-05-04 23:41:57 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: ImportSpreadsheet.* //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.* /** * Bulk import customers/phone numbers/users with validation of everythin */ @Route(Path="/import/spreadsheet", Verbs="POST") @Api(Description="Bulk import customers/phone numbers/users with validation of everythin") open class ImportSpreadsheet : IReturn, IPost { /** * The account ID for this import */ @ApiMember(Description="The account ID for this import") open var accountId:String? = null /** * Set to true to actually apply the changes. Otherwise just a preview is returned */ @ApiMember(Description="Set to true to actually apply the changes. Otherwise just a preview is returned") open var applyChanges:Boolean? = null companion object { private val responseType = ImportSpreadsheetResult::class.java } override fun getResponseType(): Any? = ImportSpreadsheet.responseType } open class ImportSpreadsheetResult { open var updatedCustomers:ArrayList? = null open var newCustomers:ArrayList? = null open var updatedPhoneNumbers:ArrayList? = null open var newPhoneNumbers:ArrayList? = null open var updatedUsers:ArrayList? = null open var newUsers:ArrayList? = null open var errors:ArrayList? = null open var changesApplied:Boolean? = null } open class CustomerInfo : EntityInfo() { /** * The ID of the account associated with this customer */ @ApiMember(Description="The ID of the account associated with this customer") open var accountId:String? = null /** * The parent customer ID for this customer */ @ApiMember(Description="The parent customer ID for this customer") open var parentCustomerId:String? = null /** * The breadcrumb to this customer */ @ApiMember(Description="The breadcrumb to this customer") open var breadcrumb:ArrayList? = null /** * The name of the account associated with this customer */ @ApiMember(Description="The name of the account associated with this customer") open var accountName:String? = null /** * Is this customer staging or production? */ @ApiMember(Description="Is this customer staging or production?") open var isStaging:Boolean? = null /** * The name of the company */ @ApiMember(Description="The name of the company") open var name:String? = null /** * The reference ID for this company */ @ApiMember(Description="The reference ID for this company") open var referenceId:String? = null /** * This customer's data values */ @ApiMember(Description="This customer's data values") @SerializedName("data") open var Data:Struct? = null /** * The list of tags for this customer */ @ApiMember(Description="The list of tags for this customer") open var tags:ArrayList? = null /** * This customer's schedule */ @ApiMember(Description="This customer's schedule") open var schedule:Schedule? = null /** * Integration data for this customer */ @ApiMember(Description="Integration data for this customer") open var integrationData:EntityIntegrationData? = null /** * Override this customer's billing settings? Otherwise inherits from parent */ @ApiMember(Description="Override this customer's billing settings? Otherwise inherits from parent") open var overrideBillingSettings:Boolean? = null /** * Billing settings for this customer */ @ApiMember(Description="Billing settings for this customer") open var billingSettings:BillingSettings? = null /** * Should this customer override the parent customer's app settings */ @ApiMember(Description="Should this customer override the parent customer's app settings") open var overrideAppSettings:Boolean? = null /** * App / Portal settings for this customer */ @ApiMember(Description="App / Portal settings for this customer") open var appSettings:AppSettings? = null } open class EndpointInfo : EntityInfo() { /** * The account ID this endpoint is associated with */ @ApiMember(Description="The account ID this endpoint is associated with") open 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") open 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") open 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") open var customerName:String? = null /** * The third party reference ID for the endpoint */ @ApiMember(Description="The third party reference ID for the endpoint") open var referenceId:String? = null /** * The breadcrumb to the customer for this endpoint */ @ApiMember(Description="The breadcrumb to the customer for this endpoint") open var customerBreadcrumb:ArrayList? = null /** * The display name of the endpoint */ @ApiMember(Description="The display name of the endpoint") open var displayName:String? = null /** * The type of endpoint */ @ApiMember(Description="The type of endpoint") @SerializedName("type") open 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)") open var extraInformation:String? = null /** * The ID of the flow to use for voice */ @ApiMember(Description="The ID of the flow to use for voice") open var flowId:String? = null /** * The name of the flow to use for voice */ @ApiMember(Description="The name of the flow to use for voice") open var flowName:String? = null /** * The params for the voice flow */ @ApiMember(Description="The params for the voice flow") open 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") open var flowSchedule:EndpointFlowSchedules? = null /** * This endpoint's schedule */ @ApiMember(Description="This endpoint's schedule") open var schedule:Schedule? = null /** * The list of scheduled flows when using scheduling */ @ApiMember(Description="The list of scheduled flows when using scheduling") open var scheduledFlows:ArrayList? = null /** * Disable SMS */ @ApiMember(Description="Disable SMS") open 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") open var useExternal10DlcCampaign:Boolean? = null /** * Is this a virtual phone number? */ @ApiMember(Description="Is this a virtual phone number?") open var isVirtualPhoneNumber:Boolean? = null /** * Is caller ID verified for this virtual number? */ @ApiMember(Description="Is caller ID verified for this virtual number?") open var isCallerIdVerified:Boolean? = null /** * The verification code for this number */ @ApiMember(Description="The verification code for this number") open var callerIdVerificationCode:String? = null /** * The phone number */ @ApiMember(Description="The phone number") open var phoneNumber:String? = null /** * The Sid of the phone number */ @ApiMember(Description="The Sid of the phone number") open var phoneNumberSid:String? = null /** * The caller ID Name (CNAM) for the phone number */ @ApiMember(Description="The caller ID Name (CNAM) for the phone number") open var callerIdName:String? = null /** * The address SID associated with the phone number */ @ApiMember(Description="The address SID associated with the phone number") open var addressSid:String? = null /** * Do not touch this phone number - for BYOA accounts */ @ApiMember(Description="Do not touch this phone number - for BYOA accounts") open 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") open var isEnrolledIn10DlcService:Boolean? = null /** * Whether we look up caller ID or not */ @ApiMember(Description="Whether we look up caller ID or not") open var enableCallerIdLookup:Boolean? = null /** * The email address of the user */ @ApiMember(Description="The email address of the user") open var userEmailAddress:String? = null /** * The Twilio Region for the SIP endpoint */ @ApiMember(Description="The Twilio Region for the SIP endpoint") open var sipRegion:TwilioSipRegions? = null /** * The Twilio Sid of the credentials for Sip */ @ApiMember(Description="The Twilio Sid of the credentials for Sip") open var sipCredentialSid:String? = null /** * The Twilio SIP user name */ @ApiMember(Description="The Twilio SIP user name") open var sipUserName:String? = null /** * The Twilio SIP password */ @ApiMember(Description="The Twilio SIP password") open var sipPassword:String? = null /** * The SIP domain */ @ApiMember(Description="The SIP domain") open var sipDomain:String? = null /** * Is emergency calling enabled on this number? */ @ApiMember(Description="Is emergency calling enabled on this number?") open var enableEmergencyCalling:Boolean? = null /** * The SID of the emergency address for this number */ @ApiMember(Description="The SID of the emergency address for this number") open 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") open var emergencyPhoneNumberId:String? = null /** * The current agent state of this user endpoint */ @ApiMember(Description="The current agent state of this user endpoint") open var agentState:AgentStates? = null /** * The current agent state reason of this user endpoint */ @ApiMember(Description="The current agent state reason of this user endpoint") open var agentStateReason:AgentStateReasons? = null /** * The mode for this user */ @ApiMember(Description="The mode for this user") open 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") open var voicemailGreetingId:String? = null /** * The endpoint's data */ @ApiMember(Description="The endpoint's data") @SerializedName("data") open var Data:Struct? = null /** * The email address for email endpoints */ @ApiMember(Description="The email address for email endpoints") open var emailAddress:String? = null /** * The first name of the user (for user endpoints) */ @ApiMember(Description="The first name of the user (for user endpoints)") open var userFirstName:String? = null /** * The last name of the user (for user endpoints) */ @ApiMember(Description="The last name of the user (for user endpoints)") open 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") open var avatarUrl:String? = null /** * Does this user have manager role? */ @ApiMember(Description="Does this user have manager role?") open 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") open var dashboardPermissions:ArrayList? = null /** * The type of visibility this user has to their own fields */ @ApiMember(Description="The type of visibility this user has to their own fields") open 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") open 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") open 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") open var otherEndpointFieldPermissions:UserDataFieldModes? = null /** * The name of this endpoint (for bots etc.) */ @ApiMember(Description="The name of this endpoint (for bots etc.)") open var name:String? = null /** * The list of tags for this endpoint */ @ApiMember(Description="The list of tags for this endpoint") open var tags:ArrayList? = null /** * The list of action URLs */ @ApiMember(Description="The list of action URLs") open var actionUrls:ArrayList? = null /** * The list of members in this team */ @ApiMember(Description="The list of members in this team") open var teamMemberIds:ArrayList? = null /** * Visibility of this user/team in contact lists */ @ApiMember(Description="Visibility of this user/team in contact lists") open var contactListVisibility:CustomerVisibility? = null /** * The list of contacts personal to this user */ @ApiMember(Description="The list of contacts personal to this user") open var contacts:ArrayList? = null /** * The documo ID for this number */ @ApiMember(Description="The documo ID for this number") open var documoId:String? = null /** * Integration data for this endpoint */ @ApiMember(Description="Integration data for this endpoint") open var integrationData:EntityIntegrationData? = null /** * Settings for third party phone system */ @ApiMember(Description="Settings for third party phone system") open 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") open var overrideAppSettings:Boolean? = null /** * App / Portal settings for this user */ @ApiMember(Description="App / Portal settings for this user") open var appSettings:AppSettings? = null /** * Configuration for the AI assistant */ @ApiMember(Description="Configuration for the AI assistant") open var assistantSettings:AssistantSettings? = null /** * Configuration for the embed */ @ApiMember(Description="Configuration for the embed") open var embedSettings:EmbedSettings? = null }