Evo Voice

<back to all web services

PatchIntegration

Update a specific integration

The following routes are available for this service:
PATCH/integrations/{integrationId}


export class NodeParameterMap
{
    [key:string] : NodeParameter;

    public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}


export class EntityInfo
{
    /**
    * The ID of the object
    */
    // @ApiMember(Description="The ID of the object")
    public id?: string;

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

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

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

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

    public constructor(init?: Partial<EntityInfo>) { (Object as any).assign(this, init); }
}

export class CustomerBreadcrumb
{
    public id?: string;
    public name?: string;

    public constructor(init?: Partial<CustomerBreadcrumb>) { (Object as any).assign(this, init); }
}

export enum IntegrationTypes
{
    HostedSuite = 'HostedSuite',
    OfficeRnd = 'OfficeRnd',
    Zoho = 'Zoho',
}

export enum IntegrationStatuses
{
    NotConfigured = 'NotConfigured',
    Error = 'Error',
    OK = 'OK',
}

export enum ValueTypes
{
    NotSpecified = 'NotSpecified',
    String = 'String',
    Boolean = 'Boolean',
    Number = 'Number',
    List = 'List',
    Struct = 'Struct',
    Transition = 'Transition',
    Custom = 'Custom',
    Date = 'Date',
    AudioFile = 'AudioFile',
    TimeZoneId = 'TimeZoneId',
    PhoneNumber = 'PhoneNumber',
    User = 'User',
    Endpoint = 'Endpoint',
    Time = 'Time',
    File = 'File',
    FaxNumber = 'FaxNumber',
    EmailAccount = 'EmailAccount',
    Customer = 'Customer',
    Flow = 'Flow',
    Team = 'Team',
    FlowReference = 'FlowReference',
    Integration = 'Integration',
}

export enum UIHints
{
    None = 'None',
    LargeText = 'LargeText',
    InlineForm = 'InlineForm',
    Password = 'Password',
    InlineStruct = 'InlineStruct',
}

export class Struct
{

    public constructor(init?: Partial<Struct>) { (Object as any).assign(this, init); }
}

export class Value
{
    public boolValue?: boolean;
    public stringValue?: string;
    public numberValue?: number;
    public listValue?: Struct[];
    public structValue?: Struct;

    public constructor(init?: Partial<Value>) { (Object as any).assign(this, init); }
}

export enum DataFieldUniqueness
{
    NotUnique = 'NotUnique',
    Unique = 'Unique',
    UniqueToCustomer = 'UniqueToCustomer',
}

export enum UserDataFieldModes
{
    Hidden = 'Hidden',
    ReadOnly = 'ReadOnly',
    ReadWrite = 'ReadWrite',
}

export class DataField
{
    public id?: string;
    public name?: string;
    public type?: ValueTypes;
    public uiHint?: UIHints;
    public uiTab?: string;
    public isAsync?: boolean;
    public disableBinding?: boolean;
    public structType?: DataType;
    public listType?: DataType;
    public description?: string;
    public possibleValues?: string[];
    public isOutput?: boolean;
    public customFieldValuesUrl?: string;
    public defaultValue?: Value;
    public transitionNameFormat?: string;
    public uniqueness?: DataFieldUniqueness;
    public voiceOnly?: boolean;
    public conditionalVisibilityField?: string;
    public conditionalVisibilityValue?: string;
    public noEvalTemplate?: boolean;
    public userMode?: UserDataFieldModes;
    public anyValueType?: boolean;

    public constructor(init?: Partial<DataField>) { (Object as any).assign(this, init); }
}

export class DataType
{
    public typeName?: string;
    public fields?: DataField[];

    public constructor(init?: Partial<DataType>) { (Object as any).assign(this, init); }
}

export enum IntegrationFeatures
{
    CrmSync = 'CrmSync',
    OAuth2 = 'OAuth2',
}

export class IntegrationInfo extends EntityInfo
{
    /**
    * The ID of the account associated with this integration
    */
    // @ApiMember(Description="The ID of the account associated with this integration")
    public accountId?: string;

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

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

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

    /**
    * The breadcrumb to the customer for this integration
    */
    // @ApiMember(Description="The breadcrumb to the customer for this integration")
    public customerBreadcrumb?: CustomerBreadcrumb[];

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

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

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

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

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

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

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

    /**
    * The features supported by this integration
    */
    // @ApiMember(Description="The features supported by this integration")
    public features?: IntegrationFeatures[];

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

    public constructor(init?: Partial<IntegrationInfo>) { super(init); (Object as any).assign(this, init); }
}

/**
* Update a specific integration
*/
// @Api(Description="Update a specific integration")
export class PatchIntegration implements IPatch
{
    /**
    * The ID of the integration you want to update
    */
    // @ApiMember(Description="The ID of the integration you want to update")
    public integrationId?: string;

    /**
    * The name for the integration
    */
    // @ApiMember(Description="The name for the integration")
    public name?: string;

    /**
    * The parent customer for this integration
    */
    // @ApiMember(Description="The parent customer for this integration")
    public customerId?: string;

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

    /**
    * Settings values for this integration
    */
    // @ApiMember(Description="Settings values for this integration")
    public settings?: Struct;

    public constructor(init?: Partial<PatchIntegration>) { (Object as any).assign(this, init); }
}

TypeScript PatchIntegration 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.

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

{
	integrationId: String,
	name: String,
	customerId: String,
	automaticallyCreateCustomers: 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
							]
						}
					}
				}
			}
		}
	}
}
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
}