/
webChannels.ts
164 lines (139 loc) · 5.27 KB
/
webChannels.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/*
* This code was generated by
* ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
* | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
* | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
*
* Twilio - Flex
* This is the public Twilio REST API.
*
* NOTE: This class is auto generated by OpenAPI Generator.
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { inspect, InspectOptions } from "util";
import V2 from "../V2";
const deserialize = require("../../../base/deserialize");
const serialize = require("../../../base/serialize");
import { isValidPathParam } from "../../../base/utility";
/**
* Options to pass to create a WebChannelsInstance
*/
export interface WebChannelsListInstanceCreateOptions {
/** The SID of the Conversations Address. See [Address Configuration Resource](https://www.twilio.com/docs/conversations/api/address-configuration-resource) for configuration details. When a conversation is created on the Flex backend, the callback URL will be set to the corresponding Studio Flow SID or webhook URL in your address configuration. */
addressSid: string;
/** The Conversation\\\'s friendly name. See the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource) for an example. */
chatFriendlyName?: string;
/** The Conversation participant\\\'s friendly name. See the [Conversation Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource) for an example. */
customerFriendlyName?: string;
/** The pre-engagement data. */
preEngagementData?: string;
}
export interface WebChannelsSolution {}
export interface WebChannelsListInstance {
_version: V2;
_solution: WebChannelsSolution;
_uri: string;
/**
* Create a WebChannelsInstance
*
* @param params - Parameter for request
* @param callback - Callback to handle processed record
*
* @returns Resolves to processed WebChannelsInstance
*/
create(
params: WebChannelsListInstanceCreateOptions,
callback?: (error: Error | null, item?: WebChannelsInstance) => any
): Promise<WebChannelsInstance>;
/**
* Provide a user-friendly representation
*/
toJSON(): any;
[inspect.custom](_depth: any, options: InspectOptions): any;
}
export function WebChannelsListInstance(version: V2): WebChannelsListInstance {
const instance = {} as WebChannelsListInstance;
instance._version = version;
instance._solution = {};
instance._uri = `/WebChats`;
instance.create = function create(
params: WebChannelsListInstanceCreateOptions,
callback?: (error: Error | null, items: WebChannelsInstance) => any
): Promise<WebChannelsInstance> {
if (params === null || params === undefined) {
throw new Error('Required parameter "params" missing.');
}
if (params["addressSid"] === null || params["addressSid"] === undefined) {
throw new Error("Required parameter \"params['addressSid']\" missing.");
}
let data: any = {};
data["AddressSid"] = params["addressSid"];
if (params["chatFriendlyName"] !== undefined)
data["ChatFriendlyName"] = params["chatFriendlyName"];
if (params["customerFriendlyName"] !== undefined)
data["CustomerFriendlyName"] = params["customerFriendlyName"];
if (params["preEngagementData"] !== undefined)
data["PreEngagementData"] = params["preEngagementData"];
const headers: any = {};
headers["Content-Type"] = "application/x-www-form-urlencoded";
let operationVersion = version,
operationPromise = operationVersion.create({
uri: instance._uri,
method: "post",
data,
headers,
});
operationPromise = operationPromise.then(
(payload) => new WebChannelsInstance(operationVersion, payload)
);
operationPromise = instance._version.setPromiseCallback(
operationPromise,
callback
);
return operationPromise;
};
instance.toJSON = function toJSON() {
return instance._solution;
};
instance[inspect.custom] = function inspectImpl(
_depth: any,
options: InspectOptions
) {
return inspect(instance.toJSON(), options);
};
return instance;
}
interface WebChannelsPayload extends WebChannelsResource {}
interface WebChannelsResource {
conversation_sid: string;
identity: string;
}
export class WebChannelsInstance {
constructor(protected _version: V2, payload: WebChannelsResource) {
this.conversationSid = payload.conversation_sid;
this.identity = payload.identity;
}
/**
* The unique string representing the [Conversation resource](https://www.twilio.com/docs/conversations/api/conversation-resource) created.
*/
conversationSid: string;
/**
* The unique string representing the User created and should be authorized to participate in the Conversation. For more details, see [User Identity & Access Tokens](https://www.twilio.com/docs/conversations/identity).
*/
identity: string;
/**
* Provide a user-friendly representation
*
* @returns Object
*/
toJSON() {
return {
conversationSid: this.conversationSid,
identity: this.identity,
};
}
[inspect.custom](_depth: any, options: InspectOptions) {
return inspect(this.toJSON(), options);
}
}