/* Options:
Date: 2025-05-04 22:00:24
Version: 8.71
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://team.evovoice.io
//GlobalNamespace:
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//InitializeCollections: False
//ExportValueTypes: False
IncludeTypes: CopyFlow.*
//ExcludeTypes:
//AddNamespaces:
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Flows.Data;
using Voice.Api.Endpoints;
using Voice.Api.Flows;
using Voice.Api.Settings;
using Voice.Api;
using Voice.Api.Customers;
namespace Voice.Api
{
public partial class EntityInfo
{
///
///The ID of the object
///
[ApiMember(Description="The ID of the object")]
public virtual string Id { get; set; }
///
///The date the object was created
///
[ApiMember(Description="The date the object was created")]
public virtual string DateCreated { get; set; }
///
///The date the object was last modified
///
[ApiMember(Description="The date the object was last modified")]
public virtual string DateLastModified { get; set; }
///
///The user that created this object
///
[ApiMember(Description="The user that created this object")]
public virtual string CreatedBy { get; set; }
///
///The user that last modified this object
///
[ApiMember(Description="The user that last modified this object")]
public virtual string LastModifiedBy { get; set; }
}
}
namespace Voice.Api.Customers
{
public partial class CustomerBreadcrumb
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
}
}
namespace Voice.Api.Endpoints
{
public enum UserDataFieldModes
{
Hidden,
ReadOnly,
ReadWrite,
}
}
namespace Voice.Api.Flows
{
///
///Make a copy of the flow
///
[Route("/flows/{flowId}/copy", "POST")]
[Api(Description="Make a copy of the flow")]
public partial class CopyFlow
: IReturn, IPost
{
///
///The ID of the flow to copy
///
[ApiMember(Description="The ID of the flow to copy")]
public virtual string FlowId { get; set; }
}
public enum FlowChannels
{
Voice,
Chat,
Fax,
}
public partial class FlowExit
{
///
///The unique ID for this exit
///
[ApiMember(Description="The unique ID for this exit")]
public virtual string Id { get; set; }
///
///The name of this exit
///
[ApiMember(Description="The name of this exit")]
public virtual string Name { get; set; }
///
///The UI for the exit
///
[ApiMember(Description="The UI for the exit")]
public virtual FlowNodeUI UI { get; set; }
}
public partial class FlowInfo
: EntityInfo
{
///
///The name of this flow
///
[ApiMember(Description="The name of this flow")]
public virtual string Name { get; set; }
///
///The roles that this flow has
///
[ApiMember(Description="The roles that this flow has")]
public virtual List Roles { get; set; }
///
///What this flow does
///
[ApiMember(Description="What this flow does")]
public virtual string Description { get; set; }
///
///Any notes for this flow
///
[ApiMember(Description="Any notes for this flow")]
public virtual string Notes { get; set; }
///
///The ID of the account associated with the flow
///
[ApiMember(Description="The ID of the account associated with the flow")]
public virtual string AccountId { get; set; }
///
///The name of the account associated with the flow
///
[ApiMember(Description="The name of the account associated with the flow")]
public virtual string AccountName { get; set; }
///
///The ID of the customer this flow is associated with
///
[ApiMember(Description="The ID of the customer this flow is associated with")]
public virtual string CustomerId { get; set; }
///
///The name of the customer this flow is associated with
///
[ApiMember(Description="The name of the customer this flow is associated with")]
public virtual string CustomerName { get; set; }
///
///The breadcrumb to the flow for this endpoint
///
[ApiMember(Description="The breadcrumb to the flow for this endpoint")]
public virtual List CustomerBreadcrumb { get; set; }
///
///The nodes in this flow
///
[ApiMember(Description="The nodes in this flow")]
public virtual List Nodes { get; set; }
///
///The flow's parameters
///
[ApiMember(Description="The flow's parameters")]
public virtual List Parameters { get; set; }
///
///The flow's exits
///
[ApiMember(Description="The flow's exits")]
public virtual List Exits { get; set; }
///
///The UI data for the flow
///
[ApiMember(Description="The UI data for the flow")]
public virtual FlowUI UI { get; set; }
///
///The list of tags for this flow
///
[ApiMember(Description="The list of tags for this flow")]
public virtual List Tags { get; set; }
///
///The number of nodes in this flow
///
[ApiMember(Description="The number of nodes in this flow")]
public virtual int NodeCount { get; set; }
}
public partial class FlowNode
{
///
///The ID of this node. Must be unique within the flow but can be anything
///
[ApiMember(Description="The ID of this node. Must be unique within the flow but can be anything")]
public virtual string Id { get; set; }
///
///Is this the starting node for the flow. Only one node can have this set
///
[ApiMember(Description="Is this the starting node for the flow. Only one node can have this set")]
public virtual bool IsStartNode { get; set; }
///
///The name of the node, descriptive to be used as a reminder in the GUI
///
[ApiMember(Description="The name of the node, descriptive to be used as a reminder in the GUI")]
public virtual string Name { get; set; }
///
///The specification for the node
///
[ApiMember(Description="The specification for the node")]
public virtual FlowNodeSpec Spec { get; set; }
///
///The UI data for the node
///
[ApiMember(Description="The UI data for the node")]
public virtual FlowNodeUI UI { get; set; }
///
///The data for this node. These will be POST'd to the endpoint when it is called.
///
[ApiMember(Description="The data for this node. These will be POST'd to the endpoint when it is called.")]
public virtual NodeParameterMap Parameters { get; set; }
}
public enum FlowNodeCategories
{
General,
Voice,
Logic,
DateAndTime,
Audio,
Messaging,
Assistant,
Flows,
Fax,
Network,
Cookies,
CallCenter,
Intelligence,
}
public partial class FlowNodeSpec
{
///
///The name of this node
///
[ApiMember(Description="The name of this node")]
public virtual string Name { get; set; }
///
///A description of this node
///
[ApiMember(Description="A description of this node")]
public virtual string Description { get; set; }
///
///Icon class for this node (FontAwesome)
///
[ApiMember(Description="Icon class for this node (FontAwesome)")]
public virtual string IconClass { get; set; }
///
///The type name for this node
///
[ApiMember(Description="The type name for this node")]
public virtual string TypeName { get; set; }
///
///The category this node should be grouped under
///
[ApiMember(Description="The category this node should be grouped under")]
public virtual FlowNodeCategories Category { get; set; }
///
///The URL where this node is located
///
[ApiMember(Description="The URL where this node is located")]
public virtual string Url { get; set; }
///
///The data type for this node
///
[ApiMember(Description="The data type for this node")]
public virtual DataType DataType { get; set; }
///
///URL for documentation for this node
///
[ApiMember(Description="URL for documentation for this node")]
public virtual string DocumentationUrl { get; set; }
///
///The channels that this node is restricted to
///
[ApiMember(Description="The channels that this node is restricted to")]
public virtual List RestrictToChannels { get; set; }
}
public partial class FlowNodeUI
{
///
///The X position of the node
///
[ApiMember(Description="The X position of the node")]
public virtual double X { get; set; }
///
///The Y position of the node
///
[ApiMember(Description="The Y position of the node")]
public virtual double Y { get; set; }
///
///Notes for this node
///
[ApiMember(Description="Notes for this node")]
public virtual string Notes { get; set; }
}
public partial class FlowParameter
: DataField
{
public virtual bool IsPublic { get; set; }
public virtual bool IsKnob { get; set; }
}
public enum FlowRoles
{
UI,
Reference,
PhoneNumberRouting,
UserDialOut,
FaxNumberRouting,
}
public partial class FlowUI
{
public virtual string SelectedNode { get; set; }
public virtual double CanvasX { get; set; }
public virtual double CanvasY { get; set; }
public virtual double CanvasZoom { get; set; }
}
}
namespace Voice.Api.Flows.Data
{
public partial class DataField
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual ValueTypes Type { get; set; }
public virtual UIHints UIHint { get; set; }
public virtual string UITab { get; set; }
public virtual bool IsAsync { get; set; }
public virtual bool DisableBinding { get; set; }
public virtual DataType StructType { get; set; }
public virtual DataType ListType { get; set; }
public virtual string Description { get; set; }
public virtual List PossibleValues { get; set; }
public virtual bool IsOutput { get; set; }
public virtual string CustomFieldValuesUrl { get; set; }
public virtual Value DefaultValue { get; set; }
public virtual string TransitionNameFormat { get; set; }
public virtual DataFieldUniqueness Uniqueness { get; set; }
public virtual bool VoiceOnly { get; set; }
public virtual string ConditionalVisibilityField { get; set; }
public virtual string ConditionalVisibilityValue { get; set; }
public virtual bool NoEvalTemplate { get; set; }
public virtual UserDataFieldModes UserMode { get; set; }
public virtual bool AnyValueType { get; set; }
}
public enum DataFieldUniqueness
{
NotUnique,
Unique,
UniqueToCustomer,
}
public partial class DataType
{
public virtual string TypeName { get; set; }
public virtual List Fields { get; set; }
}
public partial class Struct
: Dictionary
{
}
public enum UIHints
{
None,
LargeText,
InlineForm,
Password,
InlineStruct,
}
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 ListValue { get; set; }
public virtual Struct StructValue { get; set; }
}
public enum ValueTypes
{
NotSpecified,
String,
Boolean,
Number,
List,
Struct,
Transition,
Custom,
Date,
AudioFile,
TimeZoneId,
PhoneNumber,
User,
Endpoint,
Time,
File,
FaxNumber,
EmailAccount,
Customer,
Flow,
Team,
FlowReference,
Integration,
Assistant,
}
}
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,
}
}