POST | /import/spreadsheet |
---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Import;
using Voice.Api.Customers;
using Voice.Api;
using Voice.Api.Flows.Data;
using Voice.Api.Settings;
using Voice.Api.Scheduling;
using Voice.Api.Integrations;
using Voice.Api.Accounts;
using Voice.Api.Endpoints;
using Voice.Api.Authentication;
namespace Voice.Api
{
public partial class EntityInfo
{
///<summary>
///The ID of the object
///</summary>
[ApiMember(Description="The ID of the object")]
public virtual string Id { get; set; }
///<summary>
///The date the object was created
///</summary>
[ApiMember(Description="The date the object was created")]
public virtual string DateCreated { get; set; }
///<summary>
///The date the object was last modified
///</summary>
[ApiMember(Description="The date the object was last modified")]
public virtual string DateLastModified { get; set; }
///<summary>
///The user that created this object
///</summary>
[ApiMember(Description="The user that created this object")]
public virtual string CreatedBy { get; set; }
///<summary>
///The user that last modified this object
///</summary>
[ApiMember(Description="The user that last modified this object")]
public virtual string LastModifiedBy { get; set; }
}
}
namespace Voice.Api.Accounts
{
public partial class BillingItem
{
public virtual double BaseCost { get; set; }
public virtual double RawUnitMultiplier { get; set; }
public virtual double UnitCost { get; set; }
public virtual int Allowance { get; set; }
}
public partial class BillingSettings
{
public virtual BillingItem Base { get; set; }
public virtual BillingItem LocalNumbers { get; set; }
public virtual BillingItem TollFreeNumbers { get; set; }
public virtual BillingItem InboundVoiceCalls { get; set; }
public virtual BillingItem OutboundVoiceCalls { get; set; }
public virtual BillingItem InboundFaxes { get; set; }
public virtual BillingItem OutboundFaxes { get; set; }
public virtual BillingItem InboundSmsMessages { get; set; }
public virtual BillingItem OutboundSmsMessages { get; set; }
public virtual BillingItem AIInsights { get; set; }
public virtual BillingItem AILiveMinutes { get; set; }
}
}
namespace Voice.Api.Authentication
{
public enum DashboardPermissions
{
ViewFiles,
ViewNotifications,
ViewSessions,
ViewEndpoints,
ViewReports,
ViewCustomers,
ViewFlows,
}
}
namespace Voice.Api.Customers
{
public partial class AppSettings
{
public virtual bool EnablePhoneNumberManagement { get; set; }
public virtual bool EnableDeviceManagement { get; set; }
public virtual bool EnableDialer { get; set; }
public virtual bool EnableCallHistory { get; set; }
public virtual bool EnableAssistants { get; set; }
public virtual bool ShowFileNameInMessageCenter { get; set; }
public virtual string ChakraTheme { get; set; }
public virtual string CustomCss { get; set; }
public virtual string PageTitle { get; set; }
public virtual string StringMappings { get; set; }
public virtual string LogoutUrl { get; set; }
public virtual string PortMyNumberUrl { get; set; }
}
public partial class CustomerBreadcrumb
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
}
public partial class CustomerInfo
: EntityInfo
{
///<summary>
///The ID of the account associated with this customer
///</summary>
[ApiMember(Description="The ID of the account associated with this customer")]
public virtual string AccountId { get; set; }
///<summary>
///The parent customer ID for this customer
///</summary>
[ApiMember(Description="The parent customer ID for this customer")]
public virtual string ParentCustomerId { get; set; }
///<summary>
///The breadcrumb to this customer
///</summary>
[ApiMember(Description="The breadcrumb to this customer")]
public virtual List<CustomerBreadcrumb> Breadcrumb { get; set; }
///<summary>
///The name of the account associated with this customer
///</summary>
[ApiMember(Description="The name of the account associated with this customer")]
public virtual string AccountName { get; set; }
///<summary>
///Is this customer staging or production?
///</summary>
[ApiMember(Description="Is this customer staging or production?")]
public virtual bool IsStaging { get; set; }
///<summary>
///The name of the company
///</summary>
[ApiMember(Description="The name of the company")]
public virtual string Name { get; set; }
///<summary>
///The reference ID for this company
///</summary>
[ApiMember(Description="The reference ID for this company")]
public virtual string ReferenceId { get; set; }
///<summary>
///This customer's data values
///</summary>
[ApiMember(Description="This customer's data values")]
public virtual Struct Data { get; set; }
///<summary>
///The list of tags for this customer
///</summary>
[ApiMember(Description="The list of tags for this customer")]
public virtual List<Tag> Tags { get; set; }
///<summary>
///This customer's schedule
///</summary>
[ApiMember(Description="This customer's schedule")]
public virtual Schedule Schedule { get; set; }
///<summary>
///Integration data for this customer
///</summary>
[ApiMember(Description="Integration data for this customer")]
public virtual EntityIntegrationData IntegrationData { get; set; }
///<summary>
///Override this customer's billing settings? Otherwise inherits from parent
///</summary>
[ApiMember(Description="Override this customer's billing settings? Otherwise inherits from parent")]
public virtual bool OverrideBillingSettings { get; set; }
///<summary>
///Billing settings for this customer
///</summary>
[ApiMember(Description="Billing settings for this customer")]
public virtual BillingSettings BillingSettings { get; set; }
///<summary>
///Should this customer override the parent customer's app settings
///</summary>
[ApiMember(Description="Should this customer override the parent customer's app settings")]
public virtual bool OverrideAppSettings { get; set; }
///<summary>
///App / Portal settings for this customer
///</summary>
[ApiMember(Description="App / Portal settings for this customer")]
public virtual AppSettings AppSettings { get; set; }
}
}
namespace Voice.Api.Endpoints
{
public enum ActionUrlHttpMethods
{
GET,
POST,
}
public enum AgentStateReasons
{
Unknown,
SetByUser,
MissedCall,
SetBySystem,
}
public enum AgentStates
{
Unknown,
Ready,
NotReady,
LoggedOut,
WrapUp,
Outgoing,
Other,
}
public partial class AssistantContact
{
public virtual string Name { get; set; }
public virtual string PhoneNumber { get; set; }
public virtual AssistantTransferTypes TransferType { get; set; }
public virtual string About { get; set; }
public virtual string EmailAddress { get; set; }
public virtual List<AssistantTakeMessageField> TakeMessageFields { get; set; }
}
public partial class AssistantIntegration
{
public virtual string Uri { get; set; }
public virtual string HttpMethod { get; set; }
public virtual string AuthToken { get; set; }
}
public partial class AssistantLink
{
public virtual string Url { get; set; }
public virtual string Description { get; set; }
}
public partial class AssistantSettings
{
public virtual string CompanyName { get; set; }
public virtual string Greeting { get; set; }
public virtual string CompanyInformation { get; set; }
public virtual string CustomPrompt { get; set; }
public virtual string Voice { get; set; }
public virtual string VoiceStyle { get; set; }
public virtual AssistantTunings Tuning { get; set; }
public virtual List<AssistantWord> Words { get; set; }
public virtual List<AssistantLink> Links { get; set; }
public virtual List<AssistantContact> Contacts { get; set; }
public virtual List<AssistantIntegration> Integrations { get; set; }
}
public partial class AssistantTakeMessageField
{
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual bool Required { get; set; }
}
public enum AssistantTransferTypes
{
Blind,
Supervised,
MessagesOnly,
}
public enum AssistantTunings
{
Accuracy,
Speed,
}
public partial class AssistantWord
{
public virtual string Word { get; set; }
public virtual string Pronounced { get; set; }
}
public enum CustomerVisibility
{
None,
CurrentCustomer,
CurrentAndChildCustomers,
}
public partial class EmbedSettings
{
public virtual bool Enabled { get; set; }
public virtual string AllowedHosts { get; set; }
}
public partial class EndpointActionUrl
{
public virtual string Id { get; set; }
public virtual string Url { get; set; }
public virtual ActionUrlHttpMethods Method { get; set; }
}
public partial class EndpointContact
{
public virtual string Id { get; set; }
public virtual string DisplayName { get; set; }
public virtual string Address { get; set; }
}
public enum EndpointFlowSchedules
{
Always,
Scheduled,
Simple,
}
public partial class EndpointInfo
: EntityInfo
{
///<summary>
///The account ID this endpoint is associated with
///</summary>
[ApiMember(Description="The account ID this endpoint is associated with")]
public virtual string AccountId { get; set; }
///<summary>
///The name of the account this endpoint is associated with
///</summary>
[ApiMember(Description="The name of the account this endpoint is associated with")]
public virtual string AccountName { get; set; }
///<summary>
///The ID of the customer this endpoint is associated with
///</summary>
[ApiMember(Description="The ID of the customer this endpoint is associated with")]
public virtual string CustomerId { get; set; }
///<summary>
///The name of the customer this endpoint is associated with
///</summary>
[ApiMember(Description="The name of the customer this endpoint is associated with")]
public virtual string CustomerName { get; set; }
///<summary>
///The third party reference ID for the endpoint
///</summary>
[ApiMember(Description="The third party reference ID for the endpoint")]
public virtual string ReferenceId { get; set; }
///<summary>
///The breadcrumb to the customer for this endpoint
///</summary>
[ApiMember(Description="The breadcrumb to the customer for this endpoint")]
public virtual List<CustomerBreadcrumb> CustomerBreadcrumb { get; set; }
///<summary>
///The display name of the endpoint
///</summary>
[ApiMember(Description="The display name of the endpoint")]
public virtual string DisplayName { get; set; }
///<summary>
///The type of endpoint
///</summary>
[ApiMember(Description="The type of endpoint")]
public virtual EndpointTypes Type { get; set; }
///<summary>
///Extra info for this endpoint (typically to show in grid)
///</summary>
[ApiMember(Description="Extra info for this endpoint (typically to show in grid)")]
public virtual string ExtraInformation { get; set; }
///<summary>
///The ID of the flow to use for voice
///</summary>
[ApiMember(Description="The ID of the flow to use for voice")]
public virtual string FlowId { get; set; }
///<summary>
///The name of the flow to use for voice
///</summary>
[ApiMember(Description="The name of the flow to use for voice")]
public virtual string FlowName { get; set; }
///<summary>
///The params for the voice flow
///</summary>
[ApiMember(Description="The params for the voice flow")]
public virtual Struct FlowParams { get; set; }
///<summary>
///Whether to use a single flow always or use scheduled flow system
///</summary>
[ApiMember(Description="Whether to use a single flow always or use scheduled flow system")]
public virtual EndpointFlowSchedules FlowSchedule { get; set; }
///<summary>
///This endpoint's schedule
///</summary>
[ApiMember(Description="This endpoint's schedule")]
public virtual Schedule Schedule { get; set; }
///<summary>
///The list of scheduled flows when using scheduling
///</summary>
[ApiMember(Description="The list of scheduled flows when using scheduling")]
public virtual List<ScheduledFlow> ScheduledFlows { get; set; }
///<summary>
///Disable SMS
///</summary>
[ApiMember(Description="Disable SMS")]
public virtual bool DisableSms { get; set; }
///<summary>
///Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number
///</summary>
[ApiMember(Description="Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number")]
public virtual bool UseExternal10DlcCampaign { get; set; }
///<summary>
///Is this a virtual phone number?
///</summary>
[ApiMember(Description="Is this a virtual phone number?")]
public virtual bool IsVirtualPhoneNumber { get; set; }
///<summary>
///Is caller ID verified for this virtual number?
///</summary>
[ApiMember(Description="Is caller ID verified for this virtual number?")]
public virtual bool IsCallerIdVerified { get; set; }
///<summary>
///The verification code for this number
///</summary>
[ApiMember(Description="The verification code for this number")]
public virtual string CallerIdVerificationCode { get; set; }
///<summary>
///The phone number
///</summary>
[ApiMember(Description="The phone number")]
public virtual string PhoneNumber { get; set; }
///<summary>
///The Sid of the phone number
///</summary>
[ApiMember(Description="The Sid of the phone number")]
public virtual string PhoneNumberSid { get; set; }
///<summary>
///The caller ID Name (CNAM) for the phone number
///</summary>
[ApiMember(Description="The caller ID Name (CNAM) for the phone number")]
public virtual string CallerIdName { get; set; }
///<summary>
///The address SID associated with the phone number
///</summary>
[ApiMember(Description="The address SID associated with the phone number")]
public virtual string AddressSid { get; set; }
///<summary>
///Do not touch this phone number - for BYOA accounts
///</summary>
[ApiMember(Description="Do not touch this phone number - for BYOA accounts")]
public virtual bool DoNotTouchPhoneNumber { get; set; }
///<summary>
///Is this number enrolled in a 10DLC messaging service campaign
///</summary>
[ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign")]
public virtual bool IsEnrolledIn10DlcService { get; set; }
///<summary>
///Whether we look up caller ID or not
///</summary>
[ApiMember(Description="Whether we look up caller ID or not")]
public virtual bool EnableCallerIdLookup { get; set; }
///<summary>
///The email address of the user
///</summary>
[ApiMember(Description="The email address of the user")]
public virtual string UserEmailAddress { get; set; }
///<summary>
///The Twilio Region for the SIP endpoint
///</summary>
[ApiMember(Description="The Twilio Region for the SIP endpoint")]
public virtual TwilioSipRegions SipRegion { get; set; }
///<summary>
///The Twilio Sid of the credentials for Sip
///</summary>
[ApiMember(Description="The Twilio Sid of the credentials for Sip")]
public virtual string SipCredentialSid { get; set; }
///<summary>
///The Twilio SIP user name
///</summary>
[ApiMember(Description="The Twilio SIP user name")]
public virtual string SipUserName { get; set; }
///<summary>
///The Twilio SIP password
///</summary>
[ApiMember(Description="The Twilio SIP password")]
public virtual string SipPassword { get; set; }
///<summary>
///The SIP domain
///</summary>
[ApiMember(Description="The SIP domain")]
public virtual string SipDomain { get; set; }
///<summary>
///Is emergency calling enabled on this number?
///</summary>
[ApiMember(Description="Is emergency calling enabled on this number?")]
public virtual bool EnableEmergencyCalling { get; set; }
///<summary>
///The SID of the emergency address for this number
///</summary>
[ApiMember(Description="The SID of the emergency address for this number")]
public virtual string EmergencyAddressSid { get; set; }
///<summary>
///The ID of the phone number to use for emergency dialing
///</summary>
[ApiMember(Description="The ID of the phone number to use for emergency dialing")]
public virtual string EmergencyPhoneNumberId { get; set; }
///<summary>
///The current agent state of this user endpoint
///</summary>
[ApiMember(Description="The current agent state of this user endpoint")]
public virtual AgentStates AgentState { get; set; }
///<summary>
///The current agent state reason of this user endpoint
///</summary>
[ApiMember(Description="The current agent state reason of this user endpoint")]
public virtual AgentStateReasons AgentStateReason { get; set; }
///<summary>
///The mode for this user
///</summary>
[ApiMember(Description="The mode for this user")]
public virtual UserModes UserMode { get; set; }
///<summary>
///The ID of the file to use for voicemail greeting
///</summary>
[ApiMember(Description="The ID of the file to use for voicemail greeting")]
public virtual string VoicemailGreetingId { get; set; }
///<summary>
///The endpoint's data
///</summary>
[ApiMember(Description="The endpoint's data")]
public virtual Struct Data { get; set; }
///<summary>
///The email address for email endpoints
///</summary>
[ApiMember(Description="The email address for email endpoints")]
public virtual string EmailAddress { get; set; }
///<summary>
///The first name of the user (for user endpoints)
///</summary>
[ApiMember(Description="The first name of the user (for user endpoints)")]
public virtual string UserFirstName { get; set; }
///<summary>
///The last name of the user (for user endpoints)
///</summary>
[ApiMember(Description="The last name of the user (for user endpoints)")]
public virtual string UserLastName { get; set; }
///<summary>
///The URL of an image for this user's avatar
///</summary>
[ApiMember(Description="The URL of an image for this user's avatar")]
public virtual string AvatarUrl { get; set; }
///<summary>
///Does this user have manager role?
///</summary>
[ApiMember(Description="Does this user have manager role?")]
public virtual UserManagerRoles ManagerRole { get; set; }
///<summary>
///The list of dashboard permissions for when the manager role is custom
///</summary>
[ApiMember(Description="The list of dashboard permissions for when the manager role is custom")]
public virtual List<DashboardPermissions> DashboardPermissions { get; set; }
///<summary>
///The type of visibility this user has to their own fields
///</summary>
[ApiMember(Description="The type of visibility this user has to their own fields")]
public virtual UserDataFieldModes MyFieldPermissions { get; set; }
///<summary>
///The type of visibility this user has to customer fields
///</summary>
[ApiMember(Description="The type of visibility this user has to customer fields")]
public virtual UserDataFieldModes CustomerFieldPermissions { get; set; }
///<summary>
///The type of visibility this user has to other user fields
///</summary>
[ApiMember(Description="The type of visibility this user has to other user fields")]
public virtual UserDataFieldModes OtherUserFieldPermissions { get; set; }
///<summary>
///The type of visibility this user has to other endpoint fields
///</summary>
[ApiMember(Description="The type of visibility this user has to other endpoint fields")]
public virtual UserDataFieldModes OtherEndpointFieldPermissions { get; set; }
///<summary>
///The name of this endpoint (for bots etc.)
///</summary>
[ApiMember(Description="The name of this endpoint (for bots etc.)")]
public virtual string Name { get; set; }
///<summary>
///The list of tags for this endpoint
///</summary>
[ApiMember(Description="The list of tags for this endpoint")]
public virtual List<Tag> Tags { get; set; }
///<summary>
///The list of action URLs
///</summary>
[ApiMember(Description="The list of action URLs")]
public virtual List<EndpointActionUrl> ActionUrls { get; set; }
///<summary>
///The list of members in this team
///</summary>
[ApiMember(Description="The list of members in this team")]
public virtual List<string> TeamMemberIds { get; set; }
///<summary>
///Visibility of this user/team in contact lists
///</summary>
[ApiMember(Description="Visibility of this user/team in contact lists")]
public virtual CustomerVisibility ContactListVisibility { get; set; }
///<summary>
///The list of contacts personal to this user
///</summary>
[ApiMember(Description="The list of contacts personal to this user")]
public virtual List<EndpointContact> Contacts { get; set; }
///<summary>
///The documo ID for this number
///</summary>
[ApiMember(Description="The documo ID for this number")]
public virtual string DocumoId { get; set; }
///<summary>
///Integration data for this endpoint
///</summary>
[ApiMember(Description="Integration data for this endpoint")]
public virtual EntityIntegrationData IntegrationData { get; set; }
///<summary>
///Settings for third party phone system
///</summary>
[ApiMember(Description="Settings for third party phone system")]
public virtual ThirdPartyPhoneSystemSettings ThirdPartyPhoneSystemSettings { get; set; }
///<summary>
///Should this user override the parent customer's app settings
///</summary>
[ApiMember(Description="Should this user override the parent customer's app settings")]
public virtual bool OverrideAppSettings { get; set; }
///<summary>
///App / Portal settings for this user
///</summary>
[ApiMember(Description="App / Portal settings for this user")]
public virtual AppSettings AppSettings { get; set; }
///<summary>
///Configuration for the AI assistant
///</summary>
[ApiMember(Description="Configuration for the AI assistant")]
public virtual AssistantSettings AssistantSettings { get; set; }
///<summary>
///Configuration for the embed
///</summary>
[ApiMember(Description="Configuration for the embed")]
public virtual EmbedSettings EmbedSettings { get; set; }
}
public enum EndpointTypes
{
PhoneNumber,
User,
FaxNumber,
EmailAddress,
Unused_1,
Unused_2,
Unused_3,
Unused_4,
Unused_5,
Team,
Assistant,
}
public partial class ScheduledFlow
{
public virtual string StateName { get; set; }
public virtual string FlowId { get; set; }
public virtual Struct FlowParams { get; set; }
}
public partial class ThirdPartyPhoneSystemSettings
{
public virtual ThirdPartyPhoneSystemTypes Type { get; set; }
public virtual ThirdPartySipSettings SipSettings { get; set; }
public virtual ThirdPartyDemoSettings DemoSettings { get; set; }
public partial class ThirdPartyDemoSettings
{
public virtual string Extension { get; set; }
}
public partial class ThirdPartySipSettings
{
public virtual List<ThirdPartySipAccountSettings> Accounts { get; set; }
public enum TransportTypes
{
UDP,
TLS,
TCP,
PERS,
}
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,
}
public enum DtmfMethods
{
RFC2833,
INFO,
}
public partial class ThirdPartySipAccountSettings
{
public virtual string Number { get; set; }
public virtual string Agent { get; set; }
public virtual string AuthName { get; set; }
public virtual string UserName { get; set; }
public virtual string DisplayName { get; set; }
public virtual string Password { get; set; }
public virtual string UserDomain { get; set; }
public virtual int RegistrationExpires { get; set; }
public virtual TransportTypes TransportType { get; set; }
public virtual string LocalIP { get; set; }
public virtual int LocalPort { get; set; }
public virtual string SipServer { get; set; }
public virtual int SipServerPort { get; set; }
public virtual string OutboundServer { get; set; }
public virtual int OutboundServerPort { get; set; }
public virtual string StunServer { get; set; }
public virtual int StunPort { get; set; }
public virtual string AudioPlaybackDeviceName { get; set; }
public virtual string AudioRecordingDeviceName { get; set; }
public virtual List<AudioCodecTypes> AudioCodecs { get; set; }
public virtual DtmfMethods DTMFMethod { get; set; }
}
}
}
public enum ThirdPartyPhoneSystemTypes
{
Demo,
Sip,
}
public enum TwilioSipRegions
{
NorthAmericaVirginia,
NorthAmericaOregon,
EuropeIreland,
EuropeFrankfurt,
AsiaPacificSingapore,
AsiaPacificTokyo,
AsiaPacificSydney,
SouthAmericaSanPaolo,
}
public enum UserDataFieldModes
{
Hidden,
ReadOnly,
ReadWrite,
}
public enum UserManagerRoles
{
None,
Manager,
VoicemailAndCallHistory,
Custom,
}
public enum UserModes
{
SoftPhone,
Sip,
Flow,
DataOnly,
ThirdParty,
}
}
namespace Voice.Api.Flows.Data
{
public partial class Struct
: Dictionary<string, Value>
{
}
public partial class Value
{
public virtual bool? BoolValue { get; set; }
public virtual string StringValue { get; set; }
public virtual double? NumberValue { get; set; }
public virtual List<Struct> ListValue { get; set; }
public virtual Struct StructValue { get; set; }
}
}
namespace Voice.Api.Import
{
///<summary>
///Bulk import customers/phone numbers/users with validation of everythin
///</summary>
[Api(Description="Bulk import customers/phone numbers/users with validation of everythin")]
public partial class ImportSpreadsheet
: IPost
{
///<summary>
///The account ID for this import
///</summary>
[ApiMember(Description="The account ID for this import")]
public virtual string AccountId { get; set; }
///<summary>
///Set to true to actually apply the changes. Otherwise just a preview is returned
///</summary>
[ApiMember(Description="Set to true to actually apply the changes. Otherwise just a preview is returned")]
public virtual bool ApplyChanges { get; set; }
}
public partial class ImportSpreadsheetResult
{
public virtual List<CustomerInfo> UpdatedCustomers { get; set; }
public virtual List<CustomerInfo> NewCustomers { get; set; }
public virtual List<EndpointInfo> UpdatedPhoneNumbers { get; set; }
public virtual List<EndpointInfo> NewPhoneNumbers { get; set; }
public virtual List<EndpointInfo> UpdatedUsers { get; set; }
public virtual List<EndpointInfo> NewUsers { get; set; }
public virtual List<string> Errors { get; set; }
public virtual bool ChangesApplied { get; set; }
}
}
namespace Voice.Api.Integrations
{
public partial class EntityIntegrationData
: Dictionary<string, IntegrationData>
{
}
public partial class IntegrationData
{
public virtual string ThirdPartyId { get; set; }
}
}
namespace Voice.Api.Scheduling
{
public partial class Schedule
{
public virtual string TimeZoneId { get; set; }
public virtual bool Inherit { get; set; }
public virtual bool ForceClosed { get; set; }
public virtual List<SchedulingRule> Rules { get; set; }
public virtual string DefaultState { get; set; }
}
public partial class ScheduleDay
{
public virtual int Offset { get; set; }
public virtual DayOfWeek DayOfWeek { get; set; }
}
public partial class SchedulingRule
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual int Priority { get; set; }
public virtual string State { get; set; }
public virtual string Source { get; set; }
public virtual string Condition { get; set; }
public virtual SimpleSchedulingRuleTypes SimpleRuleType { get; set; }
public virtual string CustomerState { get; set; }
public virtual string FlowId { get; set; }
public virtual Struct FlowParams { get; set; }
public virtual bool IsAllDay { get; set; }
public virtual string StartDate { get; set; }
public virtual string StartTime { get; set; }
public virtual string EndTime { get; set; }
public virtual List<int> BySetPosition { get; set; }
public virtual List<int> ByMonth { get; set; }
public virtual List<int> ByWeekNo { get; set; }
public virtual List<int> ByYearDay { get; set; }
public virtual List<int> ByMonthDay { get; set; }
public virtual List<ScheduleDay> ByDay { get; set; }
public virtual List<int> ByHour { get; set; }
public virtual List<int> ByMinute { get; set; }
public virtual int Interval { get; set; }
public virtual int Count { get; set; }
public virtual string UntilDate { get; set; }
public virtual SchedulingRuleFrequency Frequency { get; set; }
}
public enum SchedulingRuleFrequency
{
None,
Secondly,
Minutely,
Hourly,
Daily,
Weekly,
Monthly,
Yearly,
}
public enum SimpleSchedulingRuleTypes
{
Always,
CustomerState,
Time,
}
}
namespace Voice.Api.Settings
{
public partial class Tag
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual TagColors Color { get; set; }
}
public enum TagColors
{
Magenta,
Red,
Volcano,
Orange,
Gold,
Lime,
Green,
Cyan,
Blue,
GeekBlue,
Purple,
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /import/spreadsheet HTTP/1.1
Host: team.evovoice.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
accountId: String,
applyChanges: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { updatedCustomers: [ { accountId: String, parentCustomerId: String, breadcrumb: [ { id: String, name: String } ], accountName: String, isStaging: False, name: String, referenceId: String, tags: [ { id: String, name: String, color: Magenta } ], schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, integrationData: { String: { thirdPartyId: String } }, overrideBillingSettings: False, billingSettings: { base: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, localNumbers: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, tollFreeNumbers: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, inboundVoiceCalls: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, outboundVoiceCalls: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, inboundFaxes: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, outboundFaxes: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, inboundSmsMessages: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, outboundSmsMessages: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, aiInsights: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, aiLiveMinutes: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 } }, overrideAppSettings: False, appSettings: { enablePhoneNumberManagement: False, enableDeviceManagement: False, enableDialer: False, enableCallHistory: False, enableAssistants: False, showFileNameInMessageCenter: False, chakraTheme: String, customCss: String, pageTitle: String, stringMappings: String, logoutUrl: String, portMyNumberUrl: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], newCustomers: [ { accountId: String, parentCustomerId: String, breadcrumb: [ { id: String, name: String } ], accountName: String, isStaging: False, name: String, referenceId: String, tags: [ { id: String, name: String, color: Magenta } ], schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, integrationData: { String: { thirdPartyId: String } }, overrideBillingSettings: False, billingSettings: { base: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, localNumbers: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, tollFreeNumbers: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, inboundVoiceCalls: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, outboundVoiceCalls: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, inboundFaxes: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, outboundFaxes: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, inboundSmsMessages: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, outboundSmsMessages: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, aiInsights: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 }, aiLiveMinutes: { baseCost: 0, rawUnitMultiplier: 0, unitCost: 0, allowance: 0 } }, overrideAppSettings: False, appSettings: { enablePhoneNumberManagement: False, enableDeviceManagement: False, enableDialer: False, enableCallHistory: False, enableAssistants: False, showFileNameInMessageCenter: False, chakraTheme: String, customCss: String, pageTitle: String, stringMappings: String, logoutUrl: String, portMyNumberUrl: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], updatedPhoneNumbers: [ { accountId: String, accountName: String, customerId: String, customerName: String, referenceId: String, customerBreadcrumb: [ { id: String, name: String } ], displayName: String, type: PhoneNumber, extraInformation: String, flowId: String, flowName: String, flowSchedule: Always, schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, scheduledFlows: [ { stateName: String, flowId: String } ], disableSms: False, useExternal10DlcCampaign: False, isVirtualPhoneNumber: False, isCallerIdVerified: False, callerIdVerificationCode: String, phoneNumber: String, phoneNumberSid: String, callerIdName: String, addressSid: String, doNotTouchPhoneNumber: False, isEnrolledIn10DlcService: False, enableCallerIdLookup: False, userEmailAddress: String, sipRegion: NorthAmericaVirginia, sipCredentialSid: String, sipUserName: String, sipPassword: String, sipDomain: String, enableEmergencyCalling: False, emergencyAddressSid: String, emergencyPhoneNumberId: String, agentState: Unknown, agentStateReason: Unknown, userMode: SoftPhone, voicemailGreetingId: String, emailAddress: String, userFirstName: String, userLastName: String, avatarUrl: String, managerRole: None, dashboardPermissions: [ ViewFiles ], myFieldPermissions: Hidden, customerFieldPermissions: Hidden, otherUserFieldPermissions: Hidden, otherEndpointFieldPermissions: Hidden, name: String, tags: [ { id: String, name: String, color: Magenta } ], actionUrls: [ { id: String, url: String, method: GET } ], teamMemberIds: [ String ], contactListVisibility: None, contacts: [ { id: String, displayName: String, address: String } ], documoId: String, integrationData: { String: { thirdPartyId: String } }, thirdPartyPhoneSystemSettings: { type: Demo, sipSettings: { accounts: [ { number: String, agent: String, authName: String, userName: String, displayName: String, password: String, userDomain: String, registrationExpires: 0, transportType: UDP, localIP: String, localPort: 0, sipServer: String, sipServerPort: 0, outboundServer: String, outboundServerPort: 0, stunServer: String, stunPort: 0, audioPlaybackDeviceName: String, audioRecordingDeviceName: String, audioCodecs: [ PCMU ], dtmfMethod: RFC2833 } ] }, demoSettings: { extension: String } }, overrideAppSettings: False, appSettings: { enablePhoneNumberManagement: False, enableDeviceManagement: False, enableDialer: False, enableCallHistory: False, enableAssistants: False, showFileNameInMessageCenter: False, chakraTheme: String, customCss: String, pageTitle: String, stringMappings: String, logoutUrl: String, portMyNumberUrl: String }, assistantSettings: { companyName: String, greeting: String, companyInformation: String, customPrompt: String, voice: String, voiceStyle: String, tuning: Accuracy, words: [ { word: String, pronounced: String } ], links: [ { url: String, description: String } ], contacts: [ { name: String, phoneNumber: String, transferType: Blind, about: String, emailAddress: String, takeMessageFields: [ { name: String, description: String, required: False } ] } ], integrations: [ { uri: String, httpMethod: String, authToken: String } ] }, embedSettings: { enabled: False, allowedHosts: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], newPhoneNumbers: [ { accountId: String, accountName: String, customerId: String, customerName: String, referenceId: String, customerBreadcrumb: [ { id: String, name: String } ], displayName: String, type: PhoneNumber, extraInformation: String, flowId: String, flowName: String, flowSchedule: Always, schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, scheduledFlows: [ { stateName: String, flowId: String } ], disableSms: False, useExternal10DlcCampaign: False, isVirtualPhoneNumber: False, isCallerIdVerified: False, callerIdVerificationCode: String, phoneNumber: String, phoneNumberSid: String, callerIdName: String, addressSid: String, doNotTouchPhoneNumber: False, isEnrolledIn10DlcService: False, enableCallerIdLookup: False, userEmailAddress: String, sipRegion: NorthAmericaVirginia, sipCredentialSid: String, sipUserName: String, sipPassword: String, sipDomain: String, enableEmergencyCalling: False, emergencyAddressSid: String, emergencyPhoneNumberId: String, agentState: Unknown, agentStateReason: Unknown, userMode: SoftPhone, voicemailGreetingId: String, emailAddress: String, userFirstName: String, userLastName: String, avatarUrl: String, managerRole: None, dashboardPermissions: [ ViewFiles ], myFieldPermissions: Hidden, customerFieldPermissions: Hidden, otherUserFieldPermissions: Hidden, otherEndpointFieldPermissions: Hidden, name: String, tags: [ { id: String, name: String, color: Magenta } ], actionUrls: [ { id: String, url: String, method: GET } ], teamMemberIds: [ String ], contactListVisibility: None, contacts: [ { id: String, displayName: String, address: String } ], documoId: String, integrationData: { String: { thirdPartyId: String } }, thirdPartyPhoneSystemSettings: { type: Demo, sipSettings: { accounts: [ { number: String, agent: String, authName: String, userName: String, displayName: String, password: String, userDomain: String, registrationExpires: 0, transportType: UDP, localIP: String, localPort: 0, sipServer: String, sipServerPort: 0, outboundServer: String, outboundServerPort: 0, stunServer: String, stunPort: 0, audioPlaybackDeviceName: String, audioRecordingDeviceName: String, audioCodecs: [ PCMU ], dtmfMethod: RFC2833 } ] }, demoSettings: { extension: String } }, overrideAppSettings: False, appSettings: { enablePhoneNumberManagement: False, enableDeviceManagement: False, enableDialer: False, enableCallHistory: False, enableAssistants: False, showFileNameInMessageCenter: False, chakraTheme: String, customCss: String, pageTitle: String, stringMappings: String, logoutUrl: String, portMyNumberUrl: String }, assistantSettings: { companyName: String, greeting: String, companyInformation: String, customPrompt: String, voice: String, voiceStyle: String, tuning: Accuracy, words: [ { word: String, pronounced: String } ], links: [ { url: String, description: String } ], contacts: [ { name: String, phoneNumber: String, transferType: Blind, about: String, emailAddress: String, takeMessageFields: [ { name: String, description: String, required: False } ] } ], integrations: [ { uri: String, httpMethod: String, authToken: String } ] }, embedSettings: { enabled: False, allowedHosts: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], updatedUsers: [ { accountId: String, accountName: String, customerId: String, customerName: String, referenceId: String, customerBreadcrumb: [ { id: String, name: String } ], displayName: String, type: PhoneNumber, extraInformation: String, flowId: String, flowName: String, flowSchedule: Always, schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, scheduledFlows: [ { stateName: String, flowId: String } ], disableSms: False, useExternal10DlcCampaign: False, isVirtualPhoneNumber: False, isCallerIdVerified: False, callerIdVerificationCode: String, phoneNumber: String, phoneNumberSid: String, callerIdName: String, addressSid: String, doNotTouchPhoneNumber: False, isEnrolledIn10DlcService: False, enableCallerIdLookup: False, userEmailAddress: String, sipRegion: NorthAmericaVirginia, sipCredentialSid: String, sipUserName: String, sipPassword: String, sipDomain: String, enableEmergencyCalling: False, emergencyAddressSid: String, emergencyPhoneNumberId: String, agentState: Unknown, agentStateReason: Unknown, userMode: SoftPhone, voicemailGreetingId: String, emailAddress: String, userFirstName: String, userLastName: String, avatarUrl: String, managerRole: None, dashboardPermissions: [ ViewFiles ], myFieldPermissions: Hidden, customerFieldPermissions: Hidden, otherUserFieldPermissions: Hidden, otherEndpointFieldPermissions: Hidden, name: String, tags: [ { id: String, name: String, color: Magenta } ], actionUrls: [ { id: String, url: String, method: GET } ], teamMemberIds: [ String ], contactListVisibility: None, contacts: [ { id: String, displayName: String, address: String } ], documoId: String, integrationData: { String: { thirdPartyId: String } }, thirdPartyPhoneSystemSettings: { type: Demo, sipSettings: { accounts: [ { number: String, agent: String, authName: String, userName: String, displayName: String, password: String, userDomain: String, registrationExpires: 0, transportType: UDP, localIP: String, localPort: 0, sipServer: String, sipServerPort: 0, outboundServer: String, outboundServerPort: 0, stunServer: String, stunPort: 0, audioPlaybackDeviceName: String, audioRecordingDeviceName: String, audioCodecs: [ PCMU ], dtmfMethod: RFC2833 } ] }, demoSettings: { extension: String } }, overrideAppSettings: False, appSettings: { enablePhoneNumberManagement: False, enableDeviceManagement: False, enableDialer: False, enableCallHistory: False, enableAssistants: False, showFileNameInMessageCenter: False, chakraTheme: String, customCss: String, pageTitle: String, stringMappings: String, logoutUrl: String, portMyNumberUrl: String }, assistantSettings: { companyName: String, greeting: String, companyInformation: String, customPrompt: String, voice: String, voiceStyle: String, tuning: Accuracy, words: [ { word: String, pronounced: String } ], links: [ { url: String, description: String } ], contacts: [ { name: String, phoneNumber: String, transferType: Blind, about: String, emailAddress: String, takeMessageFields: [ { name: String, description: String, required: False } ] } ], integrations: [ { uri: String, httpMethod: String, authToken: String } ] }, embedSettings: { enabled: False, allowedHosts: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], newUsers: [ { accountId: String, accountName: String, customerId: String, customerName: String, referenceId: String, customerBreadcrumb: [ { id: String, name: String } ], displayName: String, type: PhoneNumber, extraInformation: String, flowId: String, flowName: String, flowSchedule: Always, schedule: { timeZoneId: String, inherit: False, forceClosed: False, rules: [ { id: String, name: String, priority: 0, state: String, source: String, condition: String, simpleRuleType: Always, customerState: String, flowId: String, isAllDay: False, startDate: String, startTime: String, endTime: String, bySetPosition: [ 0 ], byMonth: [ 0 ], byWeekNo: [ 0 ], byYearDay: [ 0 ], byMonthDay: [ 0 ], byDay: [ { offset: 0, dayOfWeek: Sunday } ], byHour: [ 0 ], byMinute: [ 0 ], interval: 0, count: 0, untilDate: String, frequency: None } ], defaultState: String }, scheduledFlows: [ { stateName: String, flowId: String } ], disableSms: False, useExternal10DlcCampaign: False, isVirtualPhoneNumber: False, isCallerIdVerified: False, callerIdVerificationCode: String, phoneNumber: String, phoneNumberSid: String, callerIdName: String, addressSid: String, doNotTouchPhoneNumber: False, isEnrolledIn10DlcService: False, enableCallerIdLookup: False, userEmailAddress: String, sipRegion: NorthAmericaVirginia, sipCredentialSid: String, sipUserName: String, sipPassword: String, sipDomain: String, enableEmergencyCalling: False, emergencyAddressSid: String, emergencyPhoneNumberId: String, agentState: Unknown, agentStateReason: Unknown, userMode: SoftPhone, voicemailGreetingId: String, emailAddress: String, userFirstName: String, userLastName: String, avatarUrl: String, managerRole: None, dashboardPermissions: [ ViewFiles ], myFieldPermissions: Hidden, customerFieldPermissions: Hidden, otherUserFieldPermissions: Hidden, otherEndpointFieldPermissions: Hidden, name: String, tags: [ { id: String, name: String, color: Magenta } ], actionUrls: [ { id: String, url: String, method: GET } ], teamMemberIds: [ String ], contactListVisibility: None, contacts: [ { id: String, displayName: String, address: String } ], documoId: String, integrationData: { String: { thirdPartyId: String } }, thirdPartyPhoneSystemSettings: { type: Demo, sipSettings: { accounts: [ { number: String, agent: String, authName: String, userName: String, displayName: String, password: String, userDomain: String, registrationExpires: 0, transportType: UDP, localIP: String, localPort: 0, sipServer: String, sipServerPort: 0, outboundServer: String, outboundServerPort: 0, stunServer: String, stunPort: 0, audioPlaybackDeviceName: String, audioRecordingDeviceName: String, audioCodecs: [ PCMU ], dtmfMethod: RFC2833 } ] }, demoSettings: { extension: String } }, overrideAppSettings: False, appSettings: { enablePhoneNumberManagement: False, enableDeviceManagement: False, enableDialer: False, enableCallHistory: False, enableAssistants: False, showFileNameInMessageCenter: False, chakraTheme: String, customCss: String, pageTitle: String, stringMappings: String, logoutUrl: String, portMyNumberUrl: String }, assistantSettings: { companyName: String, greeting: String, companyInformation: String, customPrompt: String, voice: String, voiceStyle: String, tuning: Accuracy, words: [ { word: String, pronounced: String } ], links: [ { url: String, description: String } ], contacts: [ { name: String, phoneNumber: String, transferType: Blind, about: String, emailAddress: String, takeMessageFields: [ { name: String, description: String, required: False } ] } ], integrations: [ { uri: String, httpMethod: String, authToken: String } ] }, embedSettings: { enabled: False, allowedHosts: String }, id: String, dateCreated: String, dateLastModified: String, createdBy: String, lastModifiedBy: String } ], errors: [ String ], changesApplied: False }