Evo Voice

<back to all web services

GetIntegration

Get a specific integration

The following routes are available for this service:
GET/integrations/{integrationId}
import 'package:servicestack/servicestack.dart';

abstract class EntityInfo
{
    /**
    * The ID of the object
    */
    // @ApiMember(Description="The ID of the object")
    String? id;

    /**
    * The date the object was created
    */
    // @ApiMember(Description="The date the object was created")
    String? dateCreated;

    /**
    * The date the object was last modified
    */
    // @ApiMember(Description="The date the object was last modified")
    String? dateLastModified;

    /**
    * The user that created this object
    */
    // @ApiMember(Description="The user that created this object")
    String? createdBy;

    /**
    * The user that last modified this object
    */
    // @ApiMember(Description="The user that last modified this object")
    String? lastModifiedBy;

    EntityInfo({this.id,this.dateCreated,this.dateLastModified,this.createdBy,this.lastModifiedBy});
    EntityInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        dateCreated = json['dateCreated'];
        dateLastModified = json['dateLastModified'];
        createdBy = json['createdBy'];
        lastModifiedBy = json['lastModifiedBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'dateCreated': dateCreated,
        'dateLastModified': dateLastModified,
        'createdBy': createdBy,
        'lastModifiedBy': lastModifiedBy
    };

    getTypeName() => "EntityInfo";
    TypeContext? context = _ctx;
}

class CustomerBreadcrumb implements IConvertible
{
    String? id;
    String? name;

    CustomerBreadcrumb({this.id,this.name});
    CustomerBreadcrumb.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name
    };

    getTypeName() => "CustomerBreadcrumb";
    TypeContext? context = _ctx;
}

enum IntegrationTypes
{
    HostedSuite,
    OfficeRnd,
    Zoho,
}

enum IntegrationStatuses
{
    NotConfigured,
    Error,
    OK,
}

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,
}

enum UIHints
{
    None,
    LargeText,
    InlineForm,
    Password,
    InlineStruct,
}

class Struct extends Map<String,Value?> implements IConvertible
{
    Struct();
    Struct.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "Struct";
    TypeContext? context = _ctx;
}

class Value implements IConvertible
{
    bool? boolValue;
    String? stringValue;
    double? numberValue;
    List<Struct>? listValue;
    Struct? structValue;

    Value({this.boolValue,this.stringValue,this.numberValue,this.listValue,this.structValue});
    Value.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        boolValue = json['boolValue'];
        stringValue = json['stringValue'];
        numberValue = JsonConverters.toDouble(json['numberValue']);
        listValue = JsonConverters.fromJson(json['listValue'],'List<Struct>',context!);
        structValue = JsonConverters.fromJson(json['structValue'],'Struct',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'boolValue': boolValue,
        'stringValue': stringValue,
        'numberValue': numberValue,
        'listValue': JsonConverters.toJson(listValue,'List<Struct>',context!),
        'structValue': JsonConverters.toJson(structValue,'Struct',context!)
    };

    getTypeName() => "Value";
    TypeContext? context = _ctx;
}

enum DataFieldUniqueness
{
    NotUnique,
    Unique,
    UniqueToCustomer,
}

enum UserDataFieldModes
{
    Hidden,
    ReadOnly,
    ReadWrite,
}

class DataField implements IConvertible
{
    String? id;
    String? name;
    ValueTypes? type;
    UIHints? uiHint;
    String? uiTab;
    bool? isAsync;
    bool? disableBinding;
    DataType? structType;
    DataType? listType;
    String? description;
    List<String>? possibleValues;
    bool? isOutput;
    String? customFieldValuesUrl;
    Value? defaultValue;
    String? transitionNameFormat;
    DataFieldUniqueness? uniqueness;
    bool? voiceOnly;
    String? conditionalVisibilityField;
    String? conditionalVisibilityValue;
    bool? noEvalTemplate;
    UserDataFieldModes? userMode;
    bool? anyValueType;

    DataField({this.id,this.name,this.type,this.uiHint,this.uiTab,this.isAsync,this.disableBinding,this.structType,this.listType,this.description,this.possibleValues,this.isOutput,this.customFieldValuesUrl,this.defaultValue,this.transitionNameFormat,this.uniqueness,this.voiceOnly,this.conditionalVisibilityField,this.conditionalVisibilityValue,this.noEvalTemplate,this.userMode,this.anyValueType});
    DataField.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        type = JsonConverters.fromJson(json['type'],'ValueTypes',context!);
        uiHint = JsonConverters.fromJson(json['uiHint'],'UIHints',context!);
        uiTab = json['uiTab'];
        isAsync = json['isAsync'];
        disableBinding = json['disableBinding'];
        structType = JsonConverters.fromJson(json['structType'],'DataType',context!);
        listType = JsonConverters.fromJson(json['listType'],'DataType',context!);
        description = json['description'];
        possibleValues = JsonConverters.fromJson(json['possibleValues'],'List<String>',context!);
        isOutput = json['isOutput'];
        customFieldValuesUrl = json['customFieldValuesUrl'];
        defaultValue = JsonConverters.fromJson(json['defaultValue'],'Value',context!);
        transitionNameFormat = json['transitionNameFormat'];
        uniqueness = JsonConverters.fromJson(json['uniqueness'],'DataFieldUniqueness',context!);
        voiceOnly = json['voiceOnly'];
        conditionalVisibilityField = json['conditionalVisibilityField'];
        conditionalVisibilityValue = json['conditionalVisibilityValue'];
        noEvalTemplate = json['noEvalTemplate'];
        userMode = JsonConverters.fromJson(json['userMode'],'UserDataFieldModes',context!);
        anyValueType = json['anyValueType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'type': JsonConverters.toJson(type,'ValueTypes',context!),
        'uiHint': JsonConverters.toJson(uiHint,'UIHints',context!),
        'uiTab': uiTab,
        'isAsync': isAsync,
        'disableBinding': disableBinding,
        'structType': JsonConverters.toJson(structType,'DataType',context!),
        'listType': JsonConverters.toJson(listType,'DataType',context!),
        'description': description,
        'possibleValues': JsonConverters.toJson(possibleValues,'List<String>',context!),
        'isOutput': isOutput,
        'customFieldValuesUrl': customFieldValuesUrl,
        'defaultValue': JsonConverters.toJson(defaultValue,'Value',context!),
        'transitionNameFormat': transitionNameFormat,
        'uniqueness': JsonConverters.toJson(uniqueness,'DataFieldUniqueness',context!),
        'voiceOnly': voiceOnly,
        'conditionalVisibilityField': conditionalVisibilityField,
        'conditionalVisibilityValue': conditionalVisibilityValue,
        'noEvalTemplate': noEvalTemplate,
        'userMode': JsonConverters.toJson(userMode,'UserDataFieldModes',context!),
        'anyValueType': anyValueType
    };

    getTypeName() => "DataField";
    TypeContext? context = _ctx;
}

class DataType implements IConvertible
{
    String? typeName;
    List<DataField>? fields;

    DataType({this.typeName,this.fields});
    DataType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        typeName = json['typeName'];
        fields = JsonConverters.fromJson(json['fields'],'List<DataField>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'typeName': typeName,
        'fields': JsonConverters.toJson(fields,'List<DataField>',context!)
    };

    getTypeName() => "DataType";
    TypeContext? context = _ctx;
}

enum IntegrationFeatures
{
    CrmSync,
    OAuth2,
}

class IntegrationInfo extends EntityInfo implements IConvertible
{
    /**
    * The ID of the account associated with this integration
    */
    // @ApiMember(Description="The ID of the account associated with this integration")
    String? accountId;

    /**
    * The ID of the customer this integration is associated with
    */
    // @ApiMember(Description="The ID of the customer this integration is associated with")
    String? customerId;

    /**
    * The name of the customer this integration is associated with
    */
    // @ApiMember(Description="The name of the customer this integration is associated with")
    String? customerName;

    /**
    * The date the integration was sync'd last
    */
    // @ApiMember(Description="The date the integration was sync'd last")
    String? dateLastSync;

    /**
    * The breadcrumb to the customer for this integration
    */
    // @ApiMember(Description="The breadcrumb to the customer for this integration")
    List<CustomerBreadcrumb>? customerBreadcrumb;

    /**
    * The name of the integration (e.g. HostedSuite Dallas)
    */
    // @ApiMember(Description="The name of the integration (e.g. HostedSuite Dallas)")
    String? name;

    /**
    * Automatically create new customers / users when sync'ing with CRM?
    */
    // @ApiMember(Description="Automatically create new customers / users when sync'ing with CRM?")
    bool? automaticallyCreateCustomers;

    /**
    * The type of integration
    */
    // @ApiMember(Description="The type of integration")
    IntegrationTypes? type;

    /**
    * The status of the integration
    */
    // @ApiMember(Description="The status of the integration")
    IntegrationStatuses? status;

    /**
    * The status of the integration
    */
    // @ApiMember(Description="The status of the integration")
    String? statusMessage;

    /**
    * The settings type for this integration
    */
    // @ApiMember(Description="The settings type for this integration")
    DataType? settingsDataType;

    /**
    * The settings for this integration
    */
    // @ApiMember(Description="The settings for this integration")
    Struct? settings;

    /**
    * The features supported by this integration
    */
    // @ApiMember(Description="The features supported by this integration")
    List<IntegrationFeatures>? features;

    /**
    * Is this integration authorized (OAuth)?
    */
    // @ApiMember(Description="Is this integration authorized (OAuth)?")
    bool? isAuthorized;

    IntegrationInfo({this.accountId,this.customerId,this.customerName,this.dateLastSync,this.customerBreadcrumb,this.name,this.automaticallyCreateCustomers,this.type,this.status,this.statusMessage,this.settingsDataType,this.settings,this.features,this.isAuthorized});
    IntegrationInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        accountId = json['accountId'];
        customerId = json['customerId'];
        customerName = json['customerName'];
        dateLastSync = json['dateLastSync'];
        customerBreadcrumb = JsonConverters.fromJson(json['customerBreadcrumb'],'List<CustomerBreadcrumb>',context!);
        name = json['name'];
        automaticallyCreateCustomers = json['automaticallyCreateCustomers'];
        type = JsonConverters.fromJson(json['type'],'IntegrationTypes',context!);
        status = JsonConverters.fromJson(json['status'],'IntegrationStatuses',context!);
        statusMessage = json['statusMessage'];
        settingsDataType = JsonConverters.fromJson(json['settingsDataType'],'DataType',context!);
        settings = JsonConverters.fromJson(json['settings'],'Struct',context!);
        features = JsonConverters.fromJson(json['features'],'List<IntegrationFeatures>',context!);
        isAuthorized = json['isAuthorized'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'accountId': accountId,
        'customerId': customerId,
        'customerName': customerName,
        'dateLastSync': dateLastSync,
        'customerBreadcrumb': JsonConverters.toJson(customerBreadcrumb,'List<CustomerBreadcrumb>',context!),
        'name': name,
        'automaticallyCreateCustomers': automaticallyCreateCustomers,
        'type': JsonConverters.toJson(type,'IntegrationTypes',context!),
        'status': JsonConverters.toJson(status,'IntegrationStatuses',context!),
        'statusMessage': statusMessage,
        'settingsDataType': JsonConverters.toJson(settingsDataType,'DataType',context!),
        'settings': JsonConverters.toJson(settings,'Struct',context!),
        'features': JsonConverters.toJson(features,'List<IntegrationFeatures>',context!),
        'isAuthorized': isAuthorized
    });

    getTypeName() => "IntegrationInfo";
    TypeContext? context = _ctx;
}

/**
* Get a specific integration
*/
// @Api(Description="Get a specific integration")
class GetIntegration implements IGet, IConvertible
{
    /**
    * The ID of the integration you want to get
    */
    // @ApiMember(Description="The ID of the integration you want to get")
    String? integrationId;

    GetIntegration({this.integrationId});
    GetIntegration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        integrationId = json['integrationId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'integrationId': integrationId
    };

    getTypeName() => "GetIntegration";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'evovoice.io', types: <String, TypeInfo> {
    'EntityInfo': TypeInfo(TypeOf.AbstractClass),
    'CustomerBreadcrumb': TypeInfo(TypeOf.Class, create:() => CustomerBreadcrumb()),
    'IntegrationTypes': TypeInfo(TypeOf.Enum, enumValues:IntegrationTypes.values),
    'IntegrationStatuses': TypeInfo(TypeOf.Enum, enumValues:IntegrationStatuses.values),
    'ValueTypes': TypeInfo(TypeOf.Enum, enumValues:ValueTypes.values),
    'UIHints': TypeInfo(TypeOf.Enum, enumValues:UIHints.values),
    'Struct': TypeInfo(TypeOf.Class, create:() => Struct()),
    'Value': TypeInfo(TypeOf.Class, create:() => Value()),
    'List<Struct>': TypeInfo(TypeOf.Class, create:() => <Struct>[]),
    'DataFieldUniqueness': TypeInfo(TypeOf.Enum, enumValues:DataFieldUniqueness.values),
    'UserDataFieldModes': TypeInfo(TypeOf.Enum, enumValues:UserDataFieldModes.values),
    'DataField': TypeInfo(TypeOf.Class, create:() => DataField()),
    'DataType': TypeInfo(TypeOf.Class, create:() => DataType()),
    'List<DataField>': TypeInfo(TypeOf.Class, create:() => <DataField>[]),
    'IntegrationFeatures': TypeInfo(TypeOf.Enum, enumValues:IntegrationFeatures.values),
    'IntegrationInfo': TypeInfo(TypeOf.Class, create:() => IntegrationInfo()),
    'List<CustomerBreadcrumb>': TypeInfo(TypeOf.Class, create:() => <CustomerBreadcrumb>[]),
    'List<IntegrationFeatures>': TypeInfo(TypeOf.Class, create:() => <IntegrationFeatures>[]),
    'GetIntegration': TypeInfo(TypeOf.Class, create:() => GetIntegration()),
});

Dart GetIntegration DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /integrations/{integrationId} HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	customerId: String,
	customerName: String,
	dateLastSync: String,
	customerBreadcrumb: 
	[
		{
			id: String,
			name: String
		}
	],
	name: String,
	automaticallyCreateCustomers: False,
	type: HostedSuite,
	status: NotConfigured,
	statusMessage: String,
	settingsDataType: 
	{
		typeName: String,
		fields: 
		[
			{
				id: String,
				name: String,
				type: NotSpecified,
				uiHint: None,
				uiTab: String,
				isAsync: False,
				disableBinding: False,
				structType: 
				{
					typeName: String,
					fields: 
					[
						{
							id: String,
							name: String,
							type: NotSpecified,
							uiHint: None,
							uiTab: String,
							isAsync: False,
							disableBinding: False,
							structType: 
							{
								typeName: String,
								fields: 
								[
									{
										id: String,
										name: String,
										type: NotSpecified,
										uiHint: None,
										uiTab: String,
										isAsync: False,
										disableBinding: False,
										description: String,
										possibleValues: 
										[
											String
										],
										isOutput: False,
										customFieldValuesUrl: String,
										defaultValue: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														],
														structValue: 
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												}
											}
										},
										transitionNameFormat: String,
										uniqueness: NotUnique,
										voiceOnly: False,
										conditionalVisibilityField: String,
										conditionalVisibilityValue: String,
										noEvalTemplate: False,
										userMode: Hidden,
										anyValueType: False
									}
								]
							},
							listType: 
							{
								typeName: String,
								fields: 
								[
									{
										id: String,
										name: String,
										type: NotSpecified,
										uiHint: None,
										uiTab: String,
										isAsync: False,
										disableBinding: False,
										description: String,
										possibleValues: 
										[
											String
										],
										isOutput: False,
										customFieldValuesUrl: String,
										defaultValue: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														],
														structValue: 
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												}
											}
										},
										transitionNameFormat: String,
										uniqueness: NotUnique,
										voiceOnly: False,
										conditionalVisibilityField: String,
										conditionalVisibilityValue: String,
										noEvalTemplate: False,
										userMode: Hidden,
										anyValueType: False
									}
								]
							},
							description: String,
							possibleValues: 
							[
								String
							],
							isOutput: False,
							customFieldValuesUrl: String,
							defaultValue: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																
															}
														],
														structValue: {}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										],
										structValue: 
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														
													}
												],
												structValue: {}
											}
										}
									}
								}
							},
							transitionNameFormat: String,
							uniqueness: NotUnique,
							voiceOnly: False,
							conditionalVisibilityField: String,
							conditionalVisibilityValue: String,
							noEvalTemplate: False,
							userMode: Hidden,
							anyValueType: False
						}
					]
				},
				listType: 
				{
					typeName: String,
					fields: 
					[
						{
							id: String,
							name: String,
							type: NotSpecified,
							uiHint: None,
							uiTab: String,
							isAsync: False,
							disableBinding: False,
							structType: 
							{
								typeName: String,
								fields: 
								[
									{
										id: String,
										name: String,
										type: NotSpecified,
										uiHint: None,
										uiTab: String,
										isAsync: False,
										disableBinding: False,
										description: String,
										possibleValues: 
										[
											String
										],
										isOutput: False,
										customFieldValuesUrl: String,
										defaultValue: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														],
														structValue: 
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												}
											}
										},
										transitionNameFormat: String,
										uniqueness: NotUnique,
										voiceOnly: False,
										conditionalVisibilityField: String,
										conditionalVisibilityValue: String,
										noEvalTemplate: False,
										userMode: Hidden,
										anyValueType: False
									}
								]
							},
							listType: 
							{
								typeName: String,
								fields: 
								[
									{
										id: String,
										name: String,
										type: NotSpecified,
										uiHint: None,
										uiTab: String,
										isAsync: False,
										disableBinding: False,
										description: String,
										possibleValues: 
										[
											String
										],
										isOutput: False,
										customFieldValuesUrl: String,
										defaultValue: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														],
														structValue: 
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												}
											}
										},
										transitionNameFormat: String,
										uniqueness: NotUnique,
										voiceOnly: False,
										conditionalVisibilityField: String,
										conditionalVisibilityValue: String,
										noEvalTemplate: False,
										userMode: Hidden,
										anyValueType: False
									}
								]
							},
							description: String,
							possibleValues: 
							[
								String
							],
							isOutput: False,
							customFieldValuesUrl: String,
							defaultValue: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																
															}
														],
														structValue: {}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										],
										structValue: 
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														
													}
												],
												structValue: {}
											}
										}
									}
								}
							},
							transitionNameFormat: String,
							uniqueness: NotUnique,
							voiceOnly: False,
							conditionalVisibilityField: String,
							conditionalVisibilityValue: String,
							noEvalTemplate: False,
							userMode: Hidden,
							anyValueType: False
						}
					]
				},
				description: String,
				possibleValues: 
				[
					String
				],
				isOutput: False,
				customFieldValuesUrl: String,
				defaultValue: 
				{
					boolValue: False,
					stringValue: String,
					numberValue: 0,
					listValue: 
					[
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													
												}
											],
											structValue: {}
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												
											}
										],
										structValue: {}
									}
								}
							}
						}
					],
					structValue: 
					{
						String: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												
											}
										],
										structValue: {}
									}
								}
							],
							structValue: 
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										{
											
										}
									],
									structValue: {}
								}
							}
						}
					}
				},
				transitionNameFormat: String,
				uniqueness: NotUnique,
				voiceOnly: False,
				conditionalVisibilityField: String,
				conditionalVisibilityValue: String,
				noEvalTemplate: False,
				userMode: Hidden,
				anyValueType: False
			}
		]
	},
	settings: 
	{
		String: 
		{
			boolValue: False,
			stringValue: String,
			numberValue: 0,
			listValue: 
			[
				{
					String: 
					{
						boolValue: False,
						stringValue: String,
						numberValue: 0,
						listValue: 
						[
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										null
									]
								}
							}
						],
						structValue: 
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					}
				}
			],
			structValue: 
			{
				String: 
				{
					boolValue: False,
					stringValue: String,
					numberValue: 0,
					listValue: 
					[
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					],
					structValue: 
					{
						String: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								null
							]
						}
					}
				}
			}
		}
	},
	features: 
	[
		CrmSync
	],
	isAuthorized: False,
	id: String,
	dateCreated: String,
	dateLastModified: String,
	createdBy: String,
	lastModifiedBy: String
}