@opencx/mcp 1.15.3 → 1.15.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/availability-statuses.spec.d.ts +2 -0
- package/dist/availability-statuses.spec.d.ts.map +1 -0
- package/dist/availability-statuses.spec.js +154 -0
- package/dist/availability-statuses.spec.js.map +1 -0
- package/dist/schema.d.ts +1208 -115
- package/dist/schema.d.ts.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/availability-statuses.d.ts +4 -0
- package/dist/tools/availability-statuses.d.ts.map +1 -0
- package/dist/tools/availability-statuses.js +70 -0
- package/dist/tools/availability-statuses.js.map +1 -0
- package/dist/tools/blocklist.d.ts.map +1 -1
- package/dist/tools/blocklist.js +85 -0
- package/dist/tools/blocklist.js.map +1 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -175,6 +175,70 @@ export interface paths {
|
|
|
175
175
|
patch?: never;
|
|
176
176
|
trace?: never;
|
|
177
177
|
};
|
|
178
|
+
"/availability-statuses": {
|
|
179
|
+
parameters: {
|
|
180
|
+
query?: never;
|
|
181
|
+
header?: never;
|
|
182
|
+
path?: never;
|
|
183
|
+
cookie?: never;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* List availability statuses
|
|
187
|
+
* @description List the organization's defined availability statuses (excluding deleted ones), ordered as shown in the dashboard. The hardcoded 'online' and 'offline' shortcuts are not listed — they are always applicable via the special field of applyUserAvailabilityStatus.
|
|
188
|
+
*/
|
|
189
|
+
get: operations["listAvailabilityStatuses"];
|
|
190
|
+
put?: never;
|
|
191
|
+
post?: never;
|
|
192
|
+
delete?: never;
|
|
193
|
+
options?: never;
|
|
194
|
+
head?: never;
|
|
195
|
+
patch?: never;
|
|
196
|
+
trace?: never;
|
|
197
|
+
};
|
|
198
|
+
"/availability-statuses/users": {
|
|
199
|
+
parameters: {
|
|
200
|
+
query?: never;
|
|
201
|
+
header?: never;
|
|
202
|
+
path?: never;
|
|
203
|
+
cookie?: never;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Get users availability statuses (bulk)
|
|
207
|
+
* @description Resolve availability for up to 100 users in one call — same per-user shape as getUserAvailabilityStatus, ordered by user id. Ids that are unknown or outside the API key's organization are silently skipped, so the response only contains org members.
|
|
208
|
+
*/
|
|
209
|
+
get: operations["getUsersAvailabilityStatuses"];
|
|
210
|
+
put?: never;
|
|
211
|
+
post?: never;
|
|
212
|
+
delete?: never;
|
|
213
|
+
options?: never;
|
|
214
|
+
head?: never;
|
|
215
|
+
patch?: never;
|
|
216
|
+
trace?: never;
|
|
217
|
+
};
|
|
218
|
+
"/availability-statuses/users/{user_id}": {
|
|
219
|
+
parameters: {
|
|
220
|
+
query?: never;
|
|
221
|
+
header?: never;
|
|
222
|
+
path?: never;
|
|
223
|
+
cookie?: never;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Get user availability status
|
|
227
|
+
* @description Get a user's current availability: the raw availability record, the resolved status (an applied defined status, or the derived online / offline / mixed state), and the full per-support-team switch matrix. The user must belong to the API key's organization.
|
|
228
|
+
*/
|
|
229
|
+
get: operations["getUserAvailabilityStatus"];
|
|
230
|
+
/**
|
|
231
|
+
* Apply user availability status
|
|
232
|
+
* @description Apply a defined availability status (status_id) or a hardcoded shortcut (special: 'online' | 'offline') to a user, switching their main availability and per-support-team availability exactly like the dashboard status picker. If both fields are sent, special wins. Responds with the user's resulting resolved availability. The user must belong to the API key's organization.
|
|
233
|
+
*/
|
|
234
|
+
put: operations["applyUserAvailabilityStatus"];
|
|
235
|
+
post?: never;
|
|
236
|
+
delete?: never;
|
|
237
|
+
options?: never;
|
|
238
|
+
head?: never;
|
|
239
|
+
patch?: never;
|
|
240
|
+
trace?: never;
|
|
241
|
+
};
|
|
178
242
|
"/chat/sessions": {
|
|
179
243
|
parameters: {
|
|
180
244
|
query?: never;
|
|
@@ -1219,6 +1283,90 @@ export interface paths {
|
|
|
1219
1283
|
patch?: never;
|
|
1220
1284
|
trace?: never;
|
|
1221
1285
|
};
|
|
1286
|
+
"/blocklist/ips": {
|
|
1287
|
+
parameters: {
|
|
1288
|
+
query?: never;
|
|
1289
|
+
header?: never;
|
|
1290
|
+
path?: never;
|
|
1291
|
+
cookie?: never;
|
|
1292
|
+
};
|
|
1293
|
+
/**
|
|
1294
|
+
* List blocked IPs
|
|
1295
|
+
* @description List all blocked IP addresses and CIDR ranges. Visitors on these addresses cannot interact with the AI assistant.
|
|
1296
|
+
*/
|
|
1297
|
+
get: operations["listBlockedIps"];
|
|
1298
|
+
put?: never;
|
|
1299
|
+
/**
|
|
1300
|
+
* Block IP addresses
|
|
1301
|
+
* @description Block one or more IP addresses or CIDR ranges. Pass a comma-separated string for multiple values (e.g. "203.0.113.7, 198.51.100.0/24"). Both IPv4 and IPv6 are supported. Applies to web widget traffic: email and WhatsApp reach us through the provider’s servers and carry no visitor IP, so block those by domain or contact instead. A session first seen on the widget from a blocked address does stay blocked if it later continues on another channel.
|
|
1302
|
+
*/
|
|
1303
|
+
post: operations["blockIps"];
|
|
1304
|
+
delete?: never;
|
|
1305
|
+
options?: never;
|
|
1306
|
+
head?: never;
|
|
1307
|
+
patch?: never;
|
|
1308
|
+
trace?: never;
|
|
1309
|
+
};
|
|
1310
|
+
"/blocklist/ips/check": {
|
|
1311
|
+
parameters: {
|
|
1312
|
+
query?: never;
|
|
1313
|
+
header?: never;
|
|
1314
|
+
path?: never;
|
|
1315
|
+
cookie?: never;
|
|
1316
|
+
};
|
|
1317
|
+
/**
|
|
1318
|
+
* Check if an IP is blocked
|
|
1319
|
+
* @description Check whether an IP address is blocked. Matches both exact entries and any CIDR range that contains the address.
|
|
1320
|
+
*/
|
|
1321
|
+
get: operations["checkIpBlocked"];
|
|
1322
|
+
put?: never;
|
|
1323
|
+
post?: never;
|
|
1324
|
+
delete?: never;
|
|
1325
|
+
options?: never;
|
|
1326
|
+
head?: never;
|
|
1327
|
+
patch?: never;
|
|
1328
|
+
trace?: never;
|
|
1329
|
+
};
|
|
1330
|
+
"/blocklist/ips/session-activity": {
|
|
1331
|
+
parameters: {
|
|
1332
|
+
query?: never;
|
|
1333
|
+
header?: never;
|
|
1334
|
+
path?: never;
|
|
1335
|
+
cookie?: never;
|
|
1336
|
+
};
|
|
1337
|
+
/**
|
|
1338
|
+
* List IP addresses seen in recent sessions
|
|
1339
|
+
* @description Which IP addresses have been opening sessions, ranked by volume, with the number of distinct contacts seen from each. A high contact count against a single address is the signature of one visitor minting a throwaway contact per message. Use this to decide what to block instead of guessing at addresses. Covers widget channels only — other channels carry no client IP.
|
|
1340
|
+
*/
|
|
1341
|
+
get: operations["listSessionIpActivity"];
|
|
1342
|
+
put?: never;
|
|
1343
|
+
post?: never;
|
|
1344
|
+
delete?: never;
|
|
1345
|
+
options?: never;
|
|
1346
|
+
head?: never;
|
|
1347
|
+
patch?: never;
|
|
1348
|
+
trace?: never;
|
|
1349
|
+
};
|
|
1350
|
+
"/blocklist/ips/{id}": {
|
|
1351
|
+
parameters: {
|
|
1352
|
+
query?: never;
|
|
1353
|
+
header?: never;
|
|
1354
|
+
path?: never;
|
|
1355
|
+
cookie?: never;
|
|
1356
|
+
};
|
|
1357
|
+
get?: never;
|
|
1358
|
+
put?: never;
|
|
1359
|
+
post?: never;
|
|
1360
|
+
/**
|
|
1361
|
+
* Unblock an IP
|
|
1362
|
+
* @description Remove an IP address or CIDR range from the blocklist.
|
|
1363
|
+
*/
|
|
1364
|
+
delete: operations["unblockIp"];
|
|
1365
|
+
options?: never;
|
|
1366
|
+
head?: never;
|
|
1367
|
+
patch?: never;
|
|
1368
|
+
trace?: never;
|
|
1369
|
+
};
|
|
1222
1370
|
"/email": {
|
|
1223
1371
|
parameters: {
|
|
1224
1372
|
query?: never;
|
|
@@ -3948,6 +4096,86 @@ export interface paths {
|
|
|
3948
4096
|
patch?: never;
|
|
3949
4097
|
trace?: never;
|
|
3950
4098
|
};
|
|
4099
|
+
"/salesforce-crm/connection/status": {
|
|
4100
|
+
parameters: {
|
|
4101
|
+
query?: never;
|
|
4102
|
+
header?: never;
|
|
4103
|
+
path?: never;
|
|
4104
|
+
cookie?: never;
|
|
4105
|
+
};
|
|
4106
|
+
/**
|
|
4107
|
+
* Get Salesforce CRM connection status
|
|
4108
|
+
* @description Whether the organization has an active Salesforce CRM connection. Probe this before rendering any Salesforce-backed surface; 404 means the organization never connected.
|
|
4109
|
+
*/
|
|
4110
|
+
get: operations["getSalesforceCrmConnectionStatus"];
|
|
4111
|
+
put?: never;
|
|
4112
|
+
post?: never;
|
|
4113
|
+
delete?: never;
|
|
4114
|
+
options?: never;
|
|
4115
|
+
head?: never;
|
|
4116
|
+
patch?: never;
|
|
4117
|
+
trace?: never;
|
|
4118
|
+
};
|
|
4119
|
+
"/salesforce-crm/contacts/{contactId}": {
|
|
4120
|
+
parameters: {
|
|
4121
|
+
query?: never;
|
|
4122
|
+
header?: never;
|
|
4123
|
+
path?: never;
|
|
4124
|
+
cookie?: never;
|
|
4125
|
+
};
|
|
4126
|
+
/**
|
|
4127
|
+
* Get a contact's Salesforce CRM panel
|
|
4128
|
+
* @description The full Salesforce view of one OpenCX contact: the matched Contact or Lead, its account, opportunities, past cases, and the organization's configured custom objects. `lookup_status` distinguishes a confirmed no-match (`none`) from Salesforce being unreachable (`failed`) — treat `failed` as unknown, never as absence.
|
|
4129
|
+
*/
|
|
4130
|
+
get: operations["getSalesforceCrmContact"];
|
|
4131
|
+
put?: never;
|
|
4132
|
+
post?: never;
|
|
4133
|
+
delete?: never;
|
|
4134
|
+
options?: never;
|
|
4135
|
+
head?: never;
|
|
4136
|
+
patch?: never;
|
|
4137
|
+
trace?: never;
|
|
4138
|
+
};
|
|
4139
|
+
"/salesforce-crm/contacts": {
|
|
4140
|
+
parameters: {
|
|
4141
|
+
query?: never;
|
|
4142
|
+
header?: never;
|
|
4143
|
+
path?: never;
|
|
4144
|
+
cookie?: never;
|
|
4145
|
+
};
|
|
4146
|
+
/**
|
|
4147
|
+
* List cached Salesforce CRM records
|
|
4148
|
+
* @description The synced Salesforce Contacts and Leads the organization has cached, newest first. Served from the cache — this never queries Salesforce.
|
|
4149
|
+
*/
|
|
4150
|
+
get: operations["listSalesforceCrmContacts"];
|
|
4151
|
+
put?: never;
|
|
4152
|
+
post?: never;
|
|
4153
|
+
delete?: never;
|
|
4154
|
+
options?: never;
|
|
4155
|
+
head?: never;
|
|
4156
|
+
patch?: never;
|
|
4157
|
+
trace?: never;
|
|
4158
|
+
};
|
|
4159
|
+
"/salesforce-crm/contacts/search": {
|
|
4160
|
+
parameters: {
|
|
4161
|
+
query?: never;
|
|
4162
|
+
header?: never;
|
|
4163
|
+
path?: never;
|
|
4164
|
+
cookie?: never;
|
|
4165
|
+
};
|
|
4166
|
+
/**
|
|
4167
|
+
* Search cached Salesforce CRM records
|
|
4168
|
+
* @description Match cached Salesforce records by exact email and/or phone (both given means both must match). Served from the cache — this never queries Salesforce. At least one of `email` or `phone` is required.
|
|
4169
|
+
*/
|
|
4170
|
+
get: operations["searchSalesforceCrmContacts"];
|
|
4171
|
+
put?: never;
|
|
4172
|
+
post?: never;
|
|
4173
|
+
delete?: never;
|
|
4174
|
+
options?: never;
|
|
4175
|
+
head?: never;
|
|
4176
|
+
patch?: never;
|
|
4177
|
+
trace?: never;
|
|
4178
|
+
};
|
|
3951
4179
|
"/companion/notify-team": {
|
|
3952
4180
|
parameters: {
|
|
3953
4181
|
query?: never;
|
|
@@ -4201,7 +4429,7 @@ export type webhooks = Record<string, never>;
|
|
|
4201
4429
|
export interface components {
|
|
4202
4430
|
schemas: {
|
|
4203
4431
|
/** @enum {string} */
|
|
4204
|
-
SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
|
|
4432
|
+
SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
|
|
4205
4433
|
DefaultOfficeHoursInputDto: {
|
|
4206
4434
|
/** @description IANA timezone for the default schedule (e.g. "America/New_York", "Europe/London", "Asia/Tokyo") */
|
|
4207
4435
|
iana_timezone: string;
|
|
@@ -4261,6 +4489,7 @@ export interface components {
|
|
|
4261
4489
|
} | {
|
|
4262
4490
|
/** @constant */
|
|
4263
4491
|
type: "contacts_phone_number_in";
|
|
4492
|
+
/** @description Full phone numbers, matched exactly on digits (formatting like +, spaces, and dashes is ignored). Use * inside an entry for partial/substring matching. */
|
|
4264
4493
|
phone_number_in: string[];
|
|
4265
4494
|
} | {
|
|
4266
4495
|
/** @constant */
|
|
@@ -4534,6 +4763,13 @@ export interface components {
|
|
|
4534
4763
|
auto_send_on_close?: boolean;
|
|
4535
4764
|
/** @description Delay in minutes before sending CSAT after session closes */
|
|
4536
4765
|
send_delay_minutes?: number;
|
|
4766
|
+
/**
|
|
4767
|
+
* @description How often the same session may be surveyed: once_per_session (default, one survey ever), once_per_close (one per closure, so a reopened session can be surveyed again), or once_until_answered (re-ask after resend_after_days until the customer scores it)
|
|
4768
|
+
* @enum {string}
|
|
4769
|
+
*/
|
|
4770
|
+
resend_policy?: "once_per_close" | "once_per_session" | "once_until_answered";
|
|
4771
|
+
/** @description Days to wait before re-asking an unanswered survey. Only used when resend_policy is once_until_answered */
|
|
4772
|
+
resend_after_days?: number;
|
|
4537
4773
|
/** @description Full-HTML template for the public CSAT feedback page. Null/empty clears it (default page). */
|
|
4538
4774
|
web_template_html?: string | null;
|
|
4539
4775
|
/** @description Full-HTML template for the CSAT request email. Null/empty clears it (default email). */
|
|
@@ -4606,6 +4842,19 @@ export interface components {
|
|
|
4606
4842
|
/** @description Whether the agent is available for inbound phone calls */
|
|
4607
4843
|
call_available?: boolean;
|
|
4608
4844
|
};
|
|
4845
|
+
ApplyUserAvailabilityStatusDto: {
|
|
4846
|
+
/**
|
|
4847
|
+
* @description Hardcoded shortcut: 'online' = main availability on + available on every support team; 'offline' = main availability off + unavailable on every support team. Takes priority if status_id is also sent.
|
|
4848
|
+
* @enum {string}
|
|
4849
|
+
*/
|
|
4850
|
+
special: "online" | "offline";
|
|
4851
|
+
} | {
|
|
4852
|
+
/**
|
|
4853
|
+
* Format: uuid
|
|
4854
|
+
* @description Id of a defined availability status (see listAvailabilityStatuses)
|
|
4855
|
+
*/
|
|
4856
|
+
status_id: string;
|
|
4857
|
+
};
|
|
4609
4858
|
SalesforceMiawWebhookBody: {
|
|
4610
4859
|
/** @enum {string} */
|
|
4611
4860
|
event: "message:new";
|
|
@@ -4959,6 +5208,7 @@ export interface components {
|
|
|
4959
5208
|
} | {
|
|
4960
5209
|
/** @constant */
|
|
4961
5210
|
type: "contacts_phone_number_in";
|
|
5211
|
+
/** @description Full phone numbers, matched exactly on digits (formatting like +, spaces, and dashes is ignored). Use * inside an entry for partial/substring matching. */
|
|
4962
5212
|
phone_number_in: string[];
|
|
4963
5213
|
} | {
|
|
4964
5214
|
/** @constant */
|
|
@@ -5324,6 +5574,10 @@ export interface components {
|
|
|
5324
5574
|
};
|
|
5325
5575
|
delay_in_minutes?: number;
|
|
5326
5576
|
}[];
|
|
5577
|
+
/** @description Hold step sends outside the org office-hours window (defaults to true for new sequences) */
|
|
5578
|
+
respect_office_hours?: boolean;
|
|
5579
|
+
/** @description Named office-hours config to use as the send window; null = org default hours */
|
|
5580
|
+
office_hours_id?: string | null;
|
|
5327
5581
|
};
|
|
5328
5582
|
AddContactsToSequenceInput: {
|
|
5329
5583
|
contacts: ({
|
|
@@ -5623,6 +5877,14 @@ export interface components {
|
|
|
5623
5877
|
/** @description Why these domains are being blocked */
|
|
5624
5878
|
reason?: string;
|
|
5625
5879
|
};
|
|
5880
|
+
BlockIpsInputDto: {
|
|
5881
|
+
/** @description IP(s) or CIDR range(s) to block — comma-separated for multiple (e.g. "203.0.113.7, 198.51.100.0/24") */
|
|
5882
|
+
ips: string;
|
|
5883
|
+
/** @description Why these addresses are being blocked */
|
|
5884
|
+
reason?: string;
|
|
5885
|
+
/** @description Lift the block automatically after this many hours (max 8760). Omit for a permanent block. Automated callers should always set this: a shared or carrier-grade NAT address fronts many people, and a permanent block on one bans all of them. */
|
|
5886
|
+
expires_in_hours?: number;
|
|
5887
|
+
};
|
|
5626
5888
|
CreateEmailTemplatePublicInput: components["schemas"]["CreateEmailTemplateBodyDto"];
|
|
5627
5889
|
UpdateEmailTemplatePublicInput: components["schemas"]["CreateEmailTemplateBodyDto"];
|
|
5628
5890
|
CreateMacroInput: components["schemas"]["CreateSavedReplyDto"];
|
|
@@ -5754,6 +6016,82 @@ export interface components {
|
|
|
5754
6016
|
end_time: string;
|
|
5755
6017
|
}[];
|
|
5756
6018
|
};
|
|
6019
|
+
SalesforceCrmContactDetailsDto: {
|
|
6020
|
+
id: string;
|
|
6021
|
+
salesforce_record_id: string;
|
|
6022
|
+
/** @enum {string} */
|
|
6023
|
+
record_type: "Contact" | "Lead";
|
|
6024
|
+
email?: string;
|
|
6025
|
+
phone?: string;
|
|
6026
|
+
first_name?: string;
|
|
6027
|
+
last_name?: string;
|
|
6028
|
+
company?: string;
|
|
6029
|
+
salesforce_data: unknown;
|
|
6030
|
+
cached_at: string;
|
|
6031
|
+
salesforce_link: string;
|
|
6032
|
+
};
|
|
6033
|
+
SalesforceCrmAccountDetailsDto: {
|
|
6034
|
+
salesforce_account_id: string;
|
|
6035
|
+
name?: string;
|
|
6036
|
+
website?: string;
|
|
6037
|
+
industry?: string;
|
|
6038
|
+
number_of_employees?: string;
|
|
6039
|
+
annual_revenue?: string;
|
|
6040
|
+
billing_city?: string;
|
|
6041
|
+
billing_state?: string;
|
|
6042
|
+
billing_country?: string;
|
|
6043
|
+
salesforce_data: unknown;
|
|
6044
|
+
salesforce_link: string;
|
|
6045
|
+
};
|
|
6046
|
+
SalesforceCrmOpportunityDetailsDto: {
|
|
6047
|
+
salesforce_opportunity_id: string;
|
|
6048
|
+
name?: string;
|
|
6049
|
+
stage_name?: string;
|
|
6050
|
+
amount?: string;
|
|
6051
|
+
close_date?: string;
|
|
6052
|
+
is_closed?: boolean;
|
|
6053
|
+
is_won?: boolean;
|
|
6054
|
+
salesforce_data: unknown;
|
|
6055
|
+
salesforce_link: string;
|
|
6056
|
+
};
|
|
6057
|
+
SalesforceCrmCaseDetailsDto: {
|
|
6058
|
+
salesforce_case_id: string;
|
|
6059
|
+
case_number?: string;
|
|
6060
|
+
subject?: string;
|
|
6061
|
+
status?: string;
|
|
6062
|
+
priority?: string;
|
|
6063
|
+
origin?: string;
|
|
6064
|
+
created_date?: string;
|
|
6065
|
+
last_modified_date?: string;
|
|
6066
|
+
salesforce_data: unknown;
|
|
6067
|
+
salesforce_link: string;
|
|
6068
|
+
};
|
|
6069
|
+
SalesforceCrmCustomObjectRecordDto: {
|
|
6070
|
+
id: string;
|
|
6071
|
+
values: {
|
|
6072
|
+
[key: string]: string | number | boolean | null;
|
|
6073
|
+
};
|
|
6074
|
+
salesforce_link: string;
|
|
6075
|
+
};
|
|
6076
|
+
SalesforceCrmCustomObjectSectionDto: {
|
|
6077
|
+
object_api_name: string;
|
|
6078
|
+
label: string;
|
|
6079
|
+
records?: components["schemas"]["SalesforceCrmCustomObjectRecordDto"][];
|
|
6080
|
+
};
|
|
6081
|
+
ConsumerSalesforceCrmContactResponseDto: {
|
|
6082
|
+
consumer_id: string;
|
|
6083
|
+
consumer_email?: string;
|
|
6084
|
+
consumer_phone?: string;
|
|
6085
|
+
salesforce_contact?: components["schemas"]["SalesforceCrmContactDetailsDto"];
|
|
6086
|
+
accounts?: components["schemas"]["SalesforceCrmAccountDetailsDto"][];
|
|
6087
|
+
opportunities?: components["schemas"]["SalesforceCrmOpportunityDetailsDto"][];
|
|
6088
|
+
previous_cases?: components["schemas"]["SalesforceCrmCaseDetailsDto"][];
|
|
6089
|
+
custom_objects?: components["schemas"]["SalesforceCrmCustomObjectSectionDto"][];
|
|
6090
|
+
found_in_salesforce: boolean;
|
|
6091
|
+
/** @enum {string} */
|
|
6092
|
+
lookup_status: "found" | "none" | "failed";
|
|
6093
|
+
message: string;
|
|
6094
|
+
};
|
|
5757
6095
|
GenericResponseDto: {
|
|
5758
6096
|
data?: {
|
|
5759
6097
|
success: boolean;
|
|
@@ -5772,60 +6110,202 @@ export interface components {
|
|
|
5772
6110
|
url: string;
|
|
5773
6111
|
openai_file_id?: string;
|
|
5774
6112
|
};
|
|
5775
|
-
|
|
6113
|
+
WhatsAppTemplateDto: {
|
|
5776
6114
|
id: string;
|
|
5777
|
-
|
|
5778
|
-
phone_number: string | null;
|
|
5779
|
-
name: string | null;
|
|
6115
|
+
name: string;
|
|
5780
6116
|
/** @enum {string} */
|
|
5781
|
-
|
|
5782
|
-
language: string[];
|
|
5783
|
-
accent: string | null;
|
|
5784
|
-
handoff_phone_number: string | null;
|
|
5785
|
-
speed: number | null;
|
|
5786
|
-
interruptible: boolean;
|
|
5787
|
-
actionIds: string[] | null;
|
|
5788
|
-
instructions: string[] | null;
|
|
5789
|
-
data_collection_fields: string[] | null;
|
|
5790
|
-
data_collection_webhook_url: string | null;
|
|
6117
|
+
status: "APPROVED" | "REJECTED" | "PENDING" | "PAUSED" | "DISABLED" | "IN_APPEAL" | "PENDING_DELETION" | "DELETED" | "LIMIT_EXCEEDED" | "ARCHIVED";
|
|
5791
6118
|
/** @enum {string} */
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5825
|
-
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
6119
|
+
category: "UTILITY" | "MARKETING" | "AUTHENTICATION";
|
|
6120
|
+
/** @enum {string} */
|
|
6121
|
+
parameter_format: "NAMED" | "POSITIONAL";
|
|
6122
|
+
language: string;
|
|
6123
|
+
components?: ({
|
|
6124
|
+
/** @constant */
|
|
6125
|
+
type: "HEADER";
|
|
6126
|
+
/** @constant */
|
|
6127
|
+
format: "TEXT";
|
|
6128
|
+
/** @description 60 chars max */
|
|
6129
|
+
text: string;
|
|
6130
|
+
example?: {
|
|
6131
|
+
header_text: string[];
|
|
6132
|
+
} | {
|
|
6133
|
+
header_text_named_params: {
|
|
6134
|
+
param_name: string;
|
|
6135
|
+
example: string;
|
|
6136
|
+
}[];
|
|
6137
|
+
};
|
|
6138
|
+
} | {
|
|
6139
|
+
/** @constant */
|
|
6140
|
+
type: "HEADER";
|
|
6141
|
+
/**
|
|
6142
|
+
* @description
|
|
6143
|
+
* /**
|
|
6144
|
+
* * IMAGE: JPG | PNG
|
|
6145
|
+
* * DOCUMENT: PDF
|
|
6146
|
+
* * VIDEO: MP4
|
|
6147
|
+
* *\/
|
|
6148
|
+
*
|
|
6149
|
+
* @enum {string}
|
|
6150
|
+
*/
|
|
6151
|
+
format: "IMAGE" | "DOCUMENT" | "VIDEO";
|
|
6152
|
+
example?: {
|
|
6153
|
+
/** @description
|
|
6154
|
+
* /**
|
|
6155
|
+
* * A handle for the media uploaded through the Resumable Upload API
|
|
6156
|
+
* * https://developers.facebook.com/docs/graph-api/guides/upload
|
|
6157
|
+
* *\/
|
|
6158
|
+
* */
|
|
6159
|
+
header_handle: string | string[];
|
|
6160
|
+
};
|
|
6161
|
+
} | {
|
|
6162
|
+
/** @constant */
|
|
6163
|
+
type: "HEADER";
|
|
6164
|
+
/** @constant */
|
|
6165
|
+
format: "LOCATION";
|
|
6166
|
+
} | {
|
|
6167
|
+
/** @constant */
|
|
6168
|
+
type: "BODY";
|
|
6169
|
+
/** @description 1024 chars max, or 32768 if `body` is the only component in the template */
|
|
6170
|
+
text: string;
|
|
6171
|
+
example?: {
|
|
6172
|
+
/** @description Yes, this is an array of arrays, but only the first array is used, just like `header_text` */
|
|
6173
|
+
body_text: string[][];
|
|
6174
|
+
} | {
|
|
6175
|
+
body_text_named_params: {
|
|
6176
|
+
param_name: string;
|
|
6177
|
+
example: string;
|
|
6178
|
+
}[];
|
|
6179
|
+
};
|
|
6180
|
+
} | {
|
|
6181
|
+
/** @constant */
|
|
6182
|
+
type: "FOOTER";
|
|
6183
|
+
/** @description 60 chars max */
|
|
6184
|
+
text: string;
|
|
6185
|
+
} | {
|
|
6186
|
+
/**
|
|
6187
|
+
* @description
|
|
6188
|
+
* /**
|
|
6189
|
+
* * Templates are limited to 10 quick reply buttons. If using quick reply buttons with other buttons,
|
|
6190
|
+
* * buttons must be organized into two groups: quick reply buttons and non-quick reply buttons.
|
|
6191
|
+
* * If grouped incorrectly, the API will return an error indicating an invalid combination.
|
|
6192
|
+
* *
|
|
6193
|
+
* * Examples of valid groupings:
|
|
6194
|
+
* * - Quick Reply, Quick Reply
|
|
6195
|
+
* * - Quick Reply, Quick Reply, URL, Phone
|
|
6196
|
+
* * - URL, Phone, Quick Reply, Quick Reply
|
|
6197
|
+
* *
|
|
6198
|
+
* * Examples of invalid groupings:
|
|
6199
|
+
* * - Quick Reply, URL, Quick Reply
|
|
6200
|
+
* * - URL, Quick Reply, URL
|
|
6201
|
+
* *\/
|
|
6202
|
+
*
|
|
6203
|
+
* @constant
|
|
6204
|
+
*/
|
|
6205
|
+
type: "BUTTONS";
|
|
6206
|
+
buttons: ({
|
|
6207
|
+
/** @constant */
|
|
6208
|
+
type: "QUICK_REPLY";
|
|
6209
|
+
/** @description 25 chars max */
|
|
6210
|
+
text: string;
|
|
6211
|
+
} | {
|
|
6212
|
+
/** @constant */
|
|
6213
|
+
type: "URL";
|
|
6214
|
+
text: string;
|
|
6215
|
+
/** @description 2000 chars max */
|
|
6216
|
+
url: string;
|
|
6217
|
+
example?: [
|
|
6218
|
+
string
|
|
6219
|
+
];
|
|
6220
|
+
} | {
|
|
6221
|
+
/** @constant */
|
|
6222
|
+
type: "PHONE_NUMBER";
|
|
6223
|
+
/** @description 25 chars max */
|
|
6224
|
+
text: string;
|
|
6225
|
+
/** @description 20 chars max */
|
|
6226
|
+
phone_number: string;
|
|
6227
|
+
} | {
|
|
6228
|
+
/** @constant */
|
|
6229
|
+
type: "COPY_CODE";
|
|
6230
|
+
/** @description 15 chars max */
|
|
6231
|
+
example: string | string[];
|
|
6232
|
+
} | {
|
|
6233
|
+
/** @constant */
|
|
6234
|
+
type: "FLOW";
|
|
6235
|
+
/** @description 25 chars max */
|
|
6236
|
+
text: string;
|
|
6237
|
+
/** @enum {string} */
|
|
6238
|
+
icon: "DOCUMENT" | "PROMOTION" | "REVIEW";
|
|
6239
|
+
flow_id?: string;
|
|
6240
|
+
flow_name?: string;
|
|
6241
|
+
flow_json?: {
|
|
6242
|
+
[key: string]: unknown;
|
|
6243
|
+
};
|
|
6244
|
+
/** @enum {string} */
|
|
6245
|
+
flow_action: "data_exchange" | "navigate";
|
|
6246
|
+
navigate_screen?: string;
|
|
6247
|
+
} | {
|
|
6248
|
+
/** @constant */
|
|
6249
|
+
type: "MPM";
|
|
6250
|
+
example: string;
|
|
6251
|
+
})[];
|
|
6252
|
+
})[] | null;
|
|
6253
|
+
rejected_reason?: string | null;
|
|
6254
|
+
};
|
|
6255
|
+
PhoneAgentDto: {
|
|
6256
|
+
id: string;
|
|
6257
|
+
org_id: string;
|
|
6258
|
+
phone_number: string | null;
|
|
6259
|
+
name: string | null;
|
|
6260
|
+
/** @enum {string} */
|
|
6261
|
+
type: "inbound" | "outbound";
|
|
6262
|
+
language: string[];
|
|
6263
|
+
accent: string | null;
|
|
6264
|
+
handoff_phone_number: string | null;
|
|
6265
|
+
speed: number | null;
|
|
6266
|
+
interruptible: boolean;
|
|
6267
|
+
actionIds: string[] | null;
|
|
6268
|
+
instructions: string[] | null;
|
|
6269
|
+
data_collection_fields: string[] | null;
|
|
6270
|
+
data_collection_webhook_url: string | null;
|
|
6271
|
+
/** @enum {string} */
|
|
6272
|
+
model: "oppie-vox" | "oppie-vox-turbo" | "oppie-vox-2" | "oppie-vox-livekit";
|
|
6273
|
+
voice_id: string | null;
|
|
6274
|
+
first_message: string | null;
|
|
6275
|
+
/** Format: date-time */
|
|
6276
|
+
created_at: string;
|
|
6277
|
+
/** Format: date-time */
|
|
6278
|
+
updated_at: string;
|
|
6279
|
+
provider_external_id: string | null;
|
|
6280
|
+
flow: unknown | null;
|
|
6281
|
+
custom_llm: string | null;
|
|
6282
|
+
use_org_knowledgebase: boolean;
|
|
6283
|
+
background_noise_preset: ("office" | "bar" | "city-street") | null;
|
|
6284
|
+
recording_enabled: boolean;
|
|
6285
|
+
stt_keyterms: string[];
|
|
6286
|
+
stt_model: ("deepgram/flux-general" | "deepgram/nova-3" | "deepgram/nova-3-medical" | "cartesia/ink-whisper" | "elevenlabs/scribe_v2_realtime" | "xai/stt-1" | "assemblyai/universal-3-5-pro" | "speechmatics/enhanced") | null;
|
|
6287
|
+
tts_speed_pct: number | null;
|
|
6288
|
+
failover_transfer_destination_id: string | null;
|
|
6289
|
+
};
|
|
6290
|
+
PhoneAgentVoiceDto: {
|
|
6291
|
+
voice_id: string;
|
|
6292
|
+
name: string;
|
|
6293
|
+
labels: {
|
|
6294
|
+
accent: string | null;
|
|
6295
|
+
description: string | null;
|
|
6296
|
+
age: string | null;
|
|
6297
|
+
gender: string | null;
|
|
6298
|
+
use_case: string | null;
|
|
6299
|
+
language: string | null;
|
|
6300
|
+
};
|
|
6301
|
+
description: string | null;
|
|
6302
|
+
preview_url: string | null;
|
|
6303
|
+
};
|
|
6304
|
+
PhoneCallEventDto: {
|
|
6305
|
+
/** Format: uuid */
|
|
6306
|
+
id: string;
|
|
6307
|
+
/** Format: uuid */
|
|
6308
|
+
phone_call_id: string;
|
|
5829
6309
|
/** @enum {string} */
|
|
5830
6310
|
event_type: "ring_started" | "ring_accepted" | "ring_declined" | "ring_missed" | "dial_started" | "customer_answered" | "human_joined" | "transfer_initiated" | "transfer_accepted" | "transfer_completed" | "transfer_cancelled" | "transfer_declined" | "call_ended" | "call_failed";
|
|
5831
6311
|
actor_user_id: number | null;
|
|
@@ -5909,6 +6389,18 @@ export interface components {
|
|
|
5909
6389
|
UpdateAgentWorkflowsResponseDto: {
|
|
5910
6390
|
success: boolean;
|
|
5911
6391
|
};
|
|
6392
|
+
AvailabilityStatusDto: {
|
|
6393
|
+
id: string;
|
|
6394
|
+
org_id: string;
|
|
6395
|
+
name: string;
|
|
6396
|
+
group_ids: string[];
|
|
6397
|
+
sort_order: number;
|
|
6398
|
+
/** Format: date-time */
|
|
6399
|
+
created_at: string;
|
|
6400
|
+
/** Format: date-time */
|
|
6401
|
+
updated_at: string;
|
|
6402
|
+
deleted_at: string | null;
|
|
6403
|
+
};
|
|
5912
6404
|
GroupUsersDto: {
|
|
5913
6405
|
id: number;
|
|
5914
6406
|
name: string;
|
|
@@ -5932,6 +6424,69 @@ export interface components {
|
|
|
5932
6424
|
updated_at: string | null;
|
|
5933
6425
|
deleted_at: string | null;
|
|
5934
6426
|
};
|
|
6427
|
+
ResolvedAvailabilityStatusDto: {
|
|
6428
|
+
/**
|
|
6429
|
+
* @description A defined availability status is applied
|
|
6430
|
+
* @constant
|
|
6431
|
+
*/
|
|
6432
|
+
kind: "custom";
|
|
6433
|
+
/** @description Id of the applied availability status */
|
|
6434
|
+
status_id: string;
|
|
6435
|
+
/** @description Name of the applied availability status */
|
|
6436
|
+
name: string;
|
|
6437
|
+
} | {
|
|
6438
|
+
/**
|
|
6439
|
+
* @description Main availability on and available on every support team
|
|
6440
|
+
* @constant
|
|
6441
|
+
*/
|
|
6442
|
+
kind: "online";
|
|
6443
|
+
} | {
|
|
6444
|
+
/**
|
|
6445
|
+
* @description Main availability off
|
|
6446
|
+
* @constant
|
|
6447
|
+
*/
|
|
6448
|
+
kind: "offline";
|
|
6449
|
+
} | {
|
|
6450
|
+
/**
|
|
6451
|
+
* @description Main availability on but only available on some support teams
|
|
6452
|
+
* @constant
|
|
6453
|
+
*/
|
|
6454
|
+
kind: "mixed";
|
|
6455
|
+
/** @description Support teams the user is currently available on */
|
|
6456
|
+
available_teams: {
|
|
6457
|
+
id: string;
|
|
6458
|
+
name: string;
|
|
6459
|
+
}[];
|
|
6460
|
+
};
|
|
6461
|
+
UserAvailabilityStatusDto: {
|
|
6462
|
+
/** @description The user's raw availability record */
|
|
6463
|
+
availability: {
|
|
6464
|
+
id: string;
|
|
6465
|
+
user_id: number;
|
|
6466
|
+
organization_id: string;
|
|
6467
|
+
is_available: boolean;
|
|
6468
|
+
custom_status: string | null;
|
|
6469
|
+
/** Format: date-time */
|
|
6470
|
+
last_status_change: string;
|
|
6471
|
+
current_chat_count: number;
|
|
6472
|
+
max_concurrent_chats: number;
|
|
6473
|
+
notes: string | null;
|
|
6474
|
+
/** Format: date-time */
|
|
6475
|
+
created_at: string;
|
|
6476
|
+
/** Format: date-time */
|
|
6477
|
+
updated_at: string;
|
|
6478
|
+
call_available: boolean;
|
|
6479
|
+
call_locked: boolean;
|
|
6480
|
+
availability_status_id: string | null;
|
|
6481
|
+
};
|
|
6482
|
+
resolved_status: components["schemas"]["ResolvedAvailabilityStatusDto"];
|
|
6483
|
+
/** @description The user's full per-support-team availability switch matrix */
|
|
6484
|
+
teams: {
|
|
6485
|
+
id: string;
|
|
6486
|
+
name: string;
|
|
6487
|
+
available: boolean;
|
|
6488
|
+
}[];
|
|
6489
|
+
};
|
|
5935
6490
|
VersionHistoryItemDto: {
|
|
5936
6491
|
/** Format: uuid */
|
|
5937
6492
|
id: string;
|
|
@@ -6010,6 +6565,9 @@ export interface components {
|
|
|
6010
6565
|
} | null;
|
|
6011
6566
|
steps: components["schemas"]["SequenceStep"][];
|
|
6012
6567
|
is_continuous: boolean;
|
|
6568
|
+
reply_instructions: string | null;
|
|
6569
|
+
respect_office_hours: boolean;
|
|
6570
|
+
office_hours_id: string | null;
|
|
6013
6571
|
started_at: string | null;
|
|
6014
6572
|
canceled_at: string | null;
|
|
6015
6573
|
ended_at: string | null;
|
|
@@ -6018,10 +6576,11 @@ export interface components {
|
|
|
6018
6576
|
StartOneOffSequenceOutputDto: {
|
|
6019
6577
|
data?: {
|
|
6020
6578
|
success: boolean;
|
|
6579
|
+
run_id?: string;
|
|
6021
6580
|
};
|
|
6022
6581
|
error?: {
|
|
6023
6582
|
/** @enum {string} */
|
|
6024
|
-
code: "sequence_not_found" | "one_off_sequence_is_canceled" | "sequence_already_started";
|
|
6583
|
+
code: "sequence_not_found" | "one_off_sequence_is_canceled" | "sequence_already_started" | "cannot_schedule_continuous_sequence" | "start_at_in_past";
|
|
6025
6584
|
status: 400 | 404;
|
|
6026
6585
|
message: string;
|
|
6027
6586
|
};
|
|
@@ -6126,6 +6685,8 @@ export interface components {
|
|
|
6126
6685
|
instructions: {
|
|
6127
6686
|
id: string;
|
|
6128
6687
|
title: string;
|
|
6688
|
+
/** @constant */
|
|
6689
|
+
source?: "sequence_campaign";
|
|
6129
6690
|
}[];
|
|
6130
6691
|
tools: {
|
|
6131
6692
|
name: string;
|
|
@@ -6148,6 +6709,8 @@ export interface components {
|
|
|
6148
6709
|
instructions: {
|
|
6149
6710
|
id: string;
|
|
6150
6711
|
title: string;
|
|
6712
|
+
/** @constant */
|
|
6713
|
+
source?: "sequence_campaign";
|
|
6151
6714
|
}[];
|
|
6152
6715
|
tools: {
|
|
6153
6716
|
name: string;
|
|
@@ -6300,6 +6863,7 @@ export interface components {
|
|
|
6300
6863
|
[key: string]: unknown;
|
|
6301
6864
|
} | null;
|
|
6302
6865
|
whatsapp_template_request?: unknown | null;
|
|
6866
|
+
whatsapp_template_snapshot?: unknown | null;
|
|
6303
6867
|
rule_violation_reflections?: {
|
|
6304
6868
|
rule_name: string;
|
|
6305
6869
|
/** @description How the rule was violated */
|
|
@@ -6370,7 +6934,7 @@ export interface components {
|
|
|
6370
6934
|
}) | null;
|
|
6371
6935
|
knowledgebase_called?: boolean | null;
|
|
6372
6936
|
/** @enum {string} */
|
|
6373
|
-
type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_zendesk" | "integration_reopened_session" | "message" | "prohibited_topic_detected" | "sequence_message" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "workflow_message" | "workflow_note" | "workflow_triggered";
|
|
6937
|
+
type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_zendesk" | "integration_reopened_session" | "message" | "prohibited_topic_detected" | "sequence_message" | "session_forwarded" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "workflow_message" | "workflow_note" | "workflow_triggered";
|
|
6374
6938
|
extra_params?: {
|
|
6375
6939
|
[key: string]: unknown;
|
|
6376
6940
|
} | null;
|
|
@@ -6400,6 +6964,7 @@ export interface components {
|
|
|
6400
6964
|
workflow_run_id?: string | null;
|
|
6401
6965
|
sequence_id?: string | null;
|
|
6402
6966
|
whatsapp_template_name?: string | null;
|
|
6967
|
+
whatsapp_template_snapshot?: components["schemas"]["WhatsAppTemplateDto"] | null;
|
|
6403
6968
|
from_opencx_public_api?: boolean | null;
|
|
6404
6969
|
sub_status_id?: string | null;
|
|
6405
6970
|
whatsapp_sent_at?: string | null;
|
|
@@ -6408,6 +6973,11 @@ export interface components {
|
|
|
6408
6973
|
whatsapp_failed_at?: string | null;
|
|
6409
6974
|
whatsapp_error_title?: string | null;
|
|
6410
6975
|
whatsapp_error_details?: string | null;
|
|
6976
|
+
twitter_sent_at?: string | null;
|
|
6977
|
+
twitter_read_at?: string | null;
|
|
6978
|
+
twitter_failed_at?: string | null;
|
|
6979
|
+
twitter_error_title?: string | null;
|
|
6980
|
+
twitter_error_details?: string | null;
|
|
6411
6981
|
session_closed_payload: unknown;
|
|
6412
6982
|
agent_changed_payload?: components["schemas"]["AgentChangedPayload"] | null;
|
|
6413
6983
|
comment_thread_id?: string | null;
|
|
@@ -6486,6 +7056,13 @@ export interface components {
|
|
|
6486
7056
|
auto_send_on_close: boolean;
|
|
6487
7057
|
/** @description Delay in minutes before sending CSAT after session closes */
|
|
6488
7058
|
send_delay_minutes: number;
|
|
7059
|
+
/**
|
|
7060
|
+
* @description How often the same session may be surveyed: once_per_session, once_per_close, or once_until_answered
|
|
7061
|
+
* @enum {string}
|
|
7062
|
+
*/
|
|
7063
|
+
resend_policy: "once_per_close" | "once_per_session" | "once_until_answered";
|
|
7064
|
+
/** @description Days to wait before re-asking an unanswered survey (only used when resend_policy is once_until_answered) */
|
|
7065
|
+
resend_after_days: number;
|
|
6489
7066
|
/** @description Full-HTML template for the public CSAT feedback page (null = default page) */
|
|
6490
7067
|
web_template_html: string | null;
|
|
6491
7068
|
/** @description Full-HTML template for the CSAT request email (null = default email) */
|
|
@@ -6771,6 +7348,35 @@ export interface components {
|
|
|
6771
7348
|
enums: components["schemas"]["SavedReplyVariableEnum"][];
|
|
6772
7349
|
custom: components["schemas"]["SavedReplyVariableDto"][];
|
|
6773
7350
|
};
|
|
7351
|
+
SalesforceCrmConnectionStatusDto: {
|
|
7352
|
+
is_active: boolean;
|
|
7353
|
+
};
|
|
7354
|
+
SalesforceCrmContactResponseDto: {
|
|
7355
|
+
id: string;
|
|
7356
|
+
organization_id: string;
|
|
7357
|
+
salesforce_record_id: string;
|
|
7358
|
+
/** @enum {string} */
|
|
7359
|
+
record_type: "Contact" | "Lead";
|
|
7360
|
+
email: string | null;
|
|
7361
|
+
phone: string | null;
|
|
7362
|
+
first_name: string | null;
|
|
7363
|
+
last_name: string | null;
|
|
7364
|
+
company: string | null;
|
|
7365
|
+
salesforce_data: {
|
|
7366
|
+
[key: string]: unknown;
|
|
7367
|
+
};
|
|
7368
|
+
/** Format: date-time */
|
|
7369
|
+
cached_at: string;
|
|
7370
|
+
};
|
|
7371
|
+
PaginatedSalesforceCrmContactsResponseDto: {
|
|
7372
|
+
data: components["schemas"]["SalesforceCrmContactResponseDto"][];
|
|
7373
|
+
meta: {
|
|
7374
|
+
total: number;
|
|
7375
|
+
page: number;
|
|
7376
|
+
limit: number;
|
|
7377
|
+
totalPages: number;
|
|
7378
|
+
};
|
|
7379
|
+
};
|
|
6774
7380
|
AgentAvailability: {
|
|
6775
7381
|
id: string;
|
|
6776
7382
|
user_id: number;
|
|
@@ -7369,6 +7975,7 @@ export interface components {
|
|
|
7369
7975
|
[key: string]: unknown;
|
|
7370
7976
|
} | null;
|
|
7371
7977
|
whatsapp_template_request?: unknown | null;
|
|
7978
|
+
whatsapp_template_snapshot?: unknown | null;
|
|
7372
7979
|
rule_violation_reflections?: {
|
|
7373
7980
|
rule_name: string;
|
|
7374
7981
|
/** @description How the rule was violated */
|
|
@@ -8723,6 +9330,68 @@ export interface components {
|
|
|
8723
9330
|
DomainBlockStatusOutput: {
|
|
8724
9331
|
is_blocked: boolean;
|
|
8725
9332
|
};
|
|
9333
|
+
ListBlockedIpsOutput: {
|
|
9334
|
+
data: {
|
|
9335
|
+
/** @description Block record ID */
|
|
9336
|
+
id: string;
|
|
9337
|
+
/** @description The blocked address — a single IP (203.0.113.7) or a CIDR range (203.0.113.0/24) */
|
|
9338
|
+
ip_address: string;
|
|
9339
|
+
/** @description Why the address was blocked */
|
|
9340
|
+
reason: string | null;
|
|
9341
|
+
/** Format: date-time */
|
|
9342
|
+
created_at: string;
|
|
9343
|
+
/** @description When the block lifts automatically. Null means it never does. */
|
|
9344
|
+
expires_at: string | null;
|
|
9345
|
+
}[];
|
|
9346
|
+
total: number;
|
|
9347
|
+
page: number;
|
|
9348
|
+
total_pages: number;
|
|
9349
|
+
};
|
|
9350
|
+
BlockIpsOutput: {
|
|
9351
|
+
/** @description Addresses that were successfully blocked */
|
|
9352
|
+
blocked: {
|
|
9353
|
+
/** @description Block record ID */
|
|
9354
|
+
id: string;
|
|
9355
|
+
/** @description The blocked address — a single IP (203.0.113.7) or a CIDR range (203.0.113.0/24) */
|
|
9356
|
+
ip_address: string;
|
|
9357
|
+
/** @description Why the address was blocked */
|
|
9358
|
+
reason: string | null;
|
|
9359
|
+
/** Format: date-time */
|
|
9360
|
+
created_at: string;
|
|
9361
|
+
/** @description When the block lifts automatically. Null means it never does. */
|
|
9362
|
+
expires_at: string | null;
|
|
9363
|
+
}[];
|
|
9364
|
+
/** @description Addresses that needed no action — already blocked, or not a valid IP/CIDR */
|
|
9365
|
+
skipped: string[];
|
|
9366
|
+
/** @description Addresses that could NOT be blocked — these are still unblocked */
|
|
9367
|
+
failed: {
|
|
9368
|
+
ip: string;
|
|
9369
|
+
error: string;
|
|
9370
|
+
}[];
|
|
9371
|
+
summary: {
|
|
9372
|
+
total: number;
|
|
9373
|
+
blocked: number;
|
|
9374
|
+
skipped: number;
|
|
9375
|
+
failed: number;
|
|
9376
|
+
};
|
|
9377
|
+
};
|
|
9378
|
+
IpBlockStatusOutput: {
|
|
9379
|
+
is_blocked: boolean;
|
|
9380
|
+
};
|
|
9381
|
+
SessionIpActivityOutput: {
|
|
9382
|
+
data: {
|
|
9383
|
+
ip: string;
|
|
9384
|
+
session_count: number;
|
|
9385
|
+
contact_count: number;
|
|
9386
|
+
/** Format: date-time */
|
|
9387
|
+
first_seen: string;
|
|
9388
|
+
/** Format: date-time */
|
|
9389
|
+
last_seen: string;
|
|
9390
|
+
is_blocked: boolean;
|
|
9391
|
+
}[];
|
|
9392
|
+
page: number;
|
|
9393
|
+
has_more: boolean;
|
|
9394
|
+
};
|
|
8726
9395
|
GetCustomDomainsOutput: {
|
|
8727
9396
|
domainName: string;
|
|
8728
9397
|
domainNameVerificationStatus: string | null;
|
|
@@ -9238,6 +9907,135 @@ export interface operations {
|
|
|
9238
9907
|
};
|
|
9239
9908
|
};
|
|
9240
9909
|
};
|
|
9910
|
+
listAvailabilityStatuses: {
|
|
9911
|
+
parameters: {
|
|
9912
|
+
query?: never;
|
|
9913
|
+
header?: never;
|
|
9914
|
+
path?: never;
|
|
9915
|
+
cookie?: never;
|
|
9916
|
+
};
|
|
9917
|
+
requestBody?: never;
|
|
9918
|
+
responses: {
|
|
9919
|
+
/** @description Default Response */
|
|
9920
|
+
200: {
|
|
9921
|
+
headers: {
|
|
9922
|
+
[name: string]: unknown;
|
|
9923
|
+
};
|
|
9924
|
+
content: {
|
|
9925
|
+
"application/json": components["schemas"]["AvailabilityStatusDto"][];
|
|
9926
|
+
};
|
|
9927
|
+
};
|
|
9928
|
+
/** @description Internal Server Error */
|
|
9929
|
+
500: {
|
|
9930
|
+
headers: {
|
|
9931
|
+
[name: string]: unknown;
|
|
9932
|
+
};
|
|
9933
|
+
content: {
|
|
9934
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
9935
|
+
};
|
|
9936
|
+
};
|
|
9937
|
+
};
|
|
9938
|
+
};
|
|
9939
|
+
getUsersAvailabilityStatuses: {
|
|
9940
|
+
parameters: {
|
|
9941
|
+
query: {
|
|
9942
|
+
/** @description Comma-separated organization user IDs, max 100 (e.g. "12,34,56") */
|
|
9943
|
+
user_ids: string;
|
|
9944
|
+
};
|
|
9945
|
+
header?: never;
|
|
9946
|
+
path?: never;
|
|
9947
|
+
cookie?: never;
|
|
9948
|
+
};
|
|
9949
|
+
requestBody?: never;
|
|
9950
|
+
responses: {
|
|
9951
|
+
/** @description Default Response */
|
|
9952
|
+
200: {
|
|
9953
|
+
headers: {
|
|
9954
|
+
[name: string]: unknown;
|
|
9955
|
+
};
|
|
9956
|
+
content: {
|
|
9957
|
+
"application/json": components["schemas"]["UserAvailabilityStatusDto"][];
|
|
9958
|
+
};
|
|
9959
|
+
};
|
|
9960
|
+
/** @description Internal Server Error */
|
|
9961
|
+
500: {
|
|
9962
|
+
headers: {
|
|
9963
|
+
[name: string]: unknown;
|
|
9964
|
+
};
|
|
9965
|
+
content: {
|
|
9966
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
9967
|
+
};
|
|
9968
|
+
};
|
|
9969
|
+
};
|
|
9970
|
+
};
|
|
9971
|
+
getUserAvailabilityStatus: {
|
|
9972
|
+
parameters: {
|
|
9973
|
+
query?: never;
|
|
9974
|
+
header?: never;
|
|
9975
|
+
path: {
|
|
9976
|
+
/** @description Organization user ID */
|
|
9977
|
+
user_id: number;
|
|
9978
|
+
};
|
|
9979
|
+
cookie?: never;
|
|
9980
|
+
};
|
|
9981
|
+
requestBody?: never;
|
|
9982
|
+
responses: {
|
|
9983
|
+
/** @description Default Response */
|
|
9984
|
+
200: {
|
|
9985
|
+
headers: {
|
|
9986
|
+
[name: string]: unknown;
|
|
9987
|
+
};
|
|
9988
|
+
content: {
|
|
9989
|
+
"application/json": components["schemas"]["UserAvailabilityStatusDto"];
|
|
9990
|
+
};
|
|
9991
|
+
};
|
|
9992
|
+
/** @description Internal Server Error */
|
|
9993
|
+
500: {
|
|
9994
|
+
headers: {
|
|
9995
|
+
[name: string]: unknown;
|
|
9996
|
+
};
|
|
9997
|
+
content: {
|
|
9998
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
9999
|
+
};
|
|
10000
|
+
};
|
|
10001
|
+
};
|
|
10002
|
+
};
|
|
10003
|
+
applyUserAvailabilityStatus: {
|
|
10004
|
+
parameters: {
|
|
10005
|
+
query?: never;
|
|
10006
|
+
header?: never;
|
|
10007
|
+
path: {
|
|
10008
|
+
/** @description Organization user ID */
|
|
10009
|
+
user_id: number;
|
|
10010
|
+
};
|
|
10011
|
+
cookie?: never;
|
|
10012
|
+
};
|
|
10013
|
+
requestBody: {
|
|
10014
|
+
content: {
|
|
10015
|
+
"application/json": components["schemas"]["ApplyUserAvailabilityStatusDto"];
|
|
10016
|
+
};
|
|
10017
|
+
};
|
|
10018
|
+
responses: {
|
|
10019
|
+
/** @description Default Response */
|
|
10020
|
+
200: {
|
|
10021
|
+
headers: {
|
|
10022
|
+
[name: string]: unknown;
|
|
10023
|
+
};
|
|
10024
|
+
content: {
|
|
10025
|
+
"application/json": components["schemas"]["UserAvailabilityStatusDto"];
|
|
10026
|
+
};
|
|
10027
|
+
};
|
|
10028
|
+
/** @description Internal Server Error */
|
|
10029
|
+
500: {
|
|
10030
|
+
headers: {
|
|
10031
|
+
[name: string]: unknown;
|
|
10032
|
+
};
|
|
10033
|
+
content: {
|
|
10034
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
10035
|
+
};
|
|
10036
|
+
};
|
|
10037
|
+
};
|
|
10038
|
+
};
|
|
9241
10039
|
listChatSessions: {
|
|
9242
10040
|
parameters: {
|
|
9243
10041
|
query?: {
|
|
@@ -10913,16 +11711,143 @@ export interface operations {
|
|
|
10913
11711
|
};
|
|
10914
11712
|
};
|
|
10915
11713
|
};
|
|
10916
|
-
hasSessionCsatSent: {
|
|
11714
|
+
hasSessionCsatSent: {
|
|
11715
|
+
parameters: {
|
|
11716
|
+
query?: never;
|
|
11717
|
+
header?: never;
|
|
11718
|
+
path: {
|
|
11719
|
+
session_id: string;
|
|
11720
|
+
};
|
|
11721
|
+
cookie?: never;
|
|
11722
|
+
};
|
|
11723
|
+
requestBody?: never;
|
|
11724
|
+
responses: {
|
|
11725
|
+
/** @description Default Response */
|
|
11726
|
+
200: {
|
|
11727
|
+
headers: {
|
|
11728
|
+
[name: string]: unknown;
|
|
11729
|
+
};
|
|
11730
|
+
content: {
|
|
11731
|
+
"application/json": {
|
|
11732
|
+
session_id: string;
|
|
11733
|
+
csat_sent: boolean;
|
|
11734
|
+
};
|
|
11735
|
+
};
|
|
11736
|
+
};
|
|
11737
|
+
/** @description Internal Server Error */
|
|
11738
|
+
500: {
|
|
11739
|
+
headers: {
|
|
11740
|
+
[name: string]: unknown;
|
|
11741
|
+
};
|
|
11742
|
+
content: {
|
|
11743
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
11744
|
+
};
|
|
11745
|
+
};
|
|
11746
|
+
};
|
|
11747
|
+
};
|
|
11748
|
+
getCsatSettings: {
|
|
11749
|
+
parameters: {
|
|
11750
|
+
query?: never;
|
|
11751
|
+
header?: never;
|
|
11752
|
+
path?: never;
|
|
11753
|
+
cookie?: never;
|
|
11754
|
+
};
|
|
11755
|
+
requestBody?: never;
|
|
11756
|
+
responses: {
|
|
11757
|
+
/** @description Default Response */
|
|
11758
|
+
200: {
|
|
11759
|
+
headers: {
|
|
11760
|
+
[name: string]: unknown;
|
|
11761
|
+
};
|
|
11762
|
+
content: {
|
|
11763
|
+
"application/json": components["schemas"]["CsatSettingsResponseDto"];
|
|
11764
|
+
};
|
|
11765
|
+
};
|
|
11766
|
+
/** @description Internal Server Error */
|
|
11767
|
+
500: {
|
|
11768
|
+
headers: {
|
|
11769
|
+
[name: string]: unknown;
|
|
11770
|
+
};
|
|
11771
|
+
content: {
|
|
11772
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
11773
|
+
};
|
|
11774
|
+
};
|
|
11775
|
+
};
|
|
11776
|
+
};
|
|
11777
|
+
updateCsatSettings: {
|
|
11778
|
+
parameters: {
|
|
11779
|
+
query?: never;
|
|
11780
|
+
header?: never;
|
|
11781
|
+
path?: never;
|
|
11782
|
+
cookie?: never;
|
|
11783
|
+
};
|
|
11784
|
+
requestBody: {
|
|
11785
|
+
content: {
|
|
11786
|
+
"application/json": components["schemas"]["UpdateCsatSettingsDto"];
|
|
11787
|
+
};
|
|
11788
|
+
};
|
|
11789
|
+
responses: {
|
|
11790
|
+
/** @description Default Response */
|
|
11791
|
+
200: {
|
|
11792
|
+
headers: {
|
|
11793
|
+
[name: string]: unknown;
|
|
11794
|
+
};
|
|
11795
|
+
content: {
|
|
11796
|
+
"application/json": components["schemas"]["CsatSettingsResponseDto"];
|
|
11797
|
+
};
|
|
11798
|
+
};
|
|
11799
|
+
/** @description Internal Server Error */
|
|
11800
|
+
500: {
|
|
11801
|
+
headers: {
|
|
11802
|
+
[name: string]: unknown;
|
|
11803
|
+
};
|
|
11804
|
+
content: {
|
|
11805
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
11806
|
+
};
|
|
11807
|
+
};
|
|
11808
|
+
};
|
|
11809
|
+
};
|
|
11810
|
+
getAutopilotStatus: {
|
|
11811
|
+
parameters: {
|
|
11812
|
+
query?: never;
|
|
11813
|
+
header?: never;
|
|
11814
|
+
path?: never;
|
|
11815
|
+
cookie?: never;
|
|
11816
|
+
};
|
|
11817
|
+
requestBody?: never;
|
|
11818
|
+
responses: {
|
|
11819
|
+
/** @description Default Response */
|
|
11820
|
+
200: {
|
|
11821
|
+
headers: {
|
|
11822
|
+
[name: string]: unknown;
|
|
11823
|
+
};
|
|
11824
|
+
content: {
|
|
11825
|
+
"application/json": components["schemas"]["AutopilotStatusResponseDto"];
|
|
11826
|
+
};
|
|
11827
|
+
};
|
|
11828
|
+
/** @description Internal Server Error */
|
|
11829
|
+
500: {
|
|
11830
|
+
headers: {
|
|
11831
|
+
[name: string]: unknown;
|
|
11832
|
+
};
|
|
11833
|
+
content: {
|
|
11834
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
11835
|
+
};
|
|
11836
|
+
};
|
|
11837
|
+
};
|
|
11838
|
+
};
|
|
11839
|
+
updateAutopilotStatus: {
|
|
10917
11840
|
parameters: {
|
|
10918
11841
|
query?: never;
|
|
10919
11842
|
header?: never;
|
|
10920
|
-
path
|
|
10921
|
-
session_id: string;
|
|
10922
|
-
};
|
|
11843
|
+
path?: never;
|
|
10923
11844
|
cookie?: never;
|
|
10924
11845
|
};
|
|
10925
|
-
requestBody
|
|
11846
|
+
requestBody: {
|
|
11847
|
+
content: {
|
|
11848
|
+
"application/json": components["schemas"]["UpdateAutopilotInputDto"];
|
|
11849
|
+
};
|
|
11850
|
+
};
|
|
10926
11851
|
responses: {
|
|
10927
11852
|
/** @description Default Response */
|
|
10928
11853
|
200: {
|
|
@@ -10930,10 +11855,7 @@ export interface operations {
|
|
|
10930
11855
|
[name: string]: unknown;
|
|
10931
11856
|
};
|
|
10932
11857
|
content: {
|
|
10933
|
-
"application/json":
|
|
10934
|
-
session_id: string;
|
|
10935
|
-
csat_sent: boolean;
|
|
10936
|
-
};
|
|
11858
|
+
"application/json": components["schemas"]["AutopilotStatusResponseDto"];
|
|
10937
11859
|
};
|
|
10938
11860
|
};
|
|
10939
11861
|
/** @description Internal Server Error */
|
|
@@ -10947,7 +11869,7 @@ export interface operations {
|
|
|
10947
11869
|
};
|
|
10948
11870
|
};
|
|
10949
11871
|
};
|
|
10950
|
-
|
|
11872
|
+
listProhibitedTopics: {
|
|
10951
11873
|
parameters: {
|
|
10952
11874
|
query?: never;
|
|
10953
11875
|
header?: never;
|
|
@@ -10962,7 +11884,7 @@ export interface operations {
|
|
|
10962
11884
|
[name: string]: unknown;
|
|
10963
11885
|
};
|
|
10964
11886
|
content: {
|
|
10965
|
-
"application/json": components["schemas"]["
|
|
11887
|
+
"application/json": components["schemas"]["ProhibitedTopicsResponseDto"];
|
|
10966
11888
|
};
|
|
10967
11889
|
};
|
|
10968
11890
|
/** @description Internal Server Error */
|
|
@@ -10976,7 +11898,7 @@ export interface operations {
|
|
|
10976
11898
|
};
|
|
10977
11899
|
};
|
|
10978
11900
|
};
|
|
10979
|
-
|
|
11901
|
+
updateProhibitedTopics: {
|
|
10980
11902
|
parameters: {
|
|
10981
11903
|
query?: never;
|
|
10982
11904
|
header?: never;
|
|
@@ -10985,7 +11907,7 @@ export interface operations {
|
|
|
10985
11907
|
};
|
|
10986
11908
|
requestBody: {
|
|
10987
11909
|
content: {
|
|
10988
|
-
"application/json": components["schemas"]["
|
|
11910
|
+
"application/json": components["schemas"]["UpdateProhibitedTopicsInputDto"];
|
|
10989
11911
|
};
|
|
10990
11912
|
};
|
|
10991
11913
|
responses: {
|
|
@@ -10995,7 +11917,7 @@ export interface operations {
|
|
|
10995
11917
|
[name: string]: unknown;
|
|
10996
11918
|
};
|
|
10997
11919
|
content: {
|
|
10998
|
-
"application/json": components["schemas"]["
|
|
11920
|
+
"application/json": components["schemas"]["ProhibitedTopicsResponseDto"];
|
|
10999
11921
|
};
|
|
11000
11922
|
};
|
|
11001
11923
|
/** @description Internal Server Error */
|
|
@@ -11009,9 +11931,14 @@ export interface operations {
|
|
|
11009
11931
|
};
|
|
11010
11932
|
};
|
|
11011
11933
|
};
|
|
11012
|
-
|
|
11934
|
+
listBlockedContacts: {
|
|
11013
11935
|
parameters: {
|
|
11014
|
-
query?:
|
|
11936
|
+
query?: {
|
|
11937
|
+
/** @description Page number (default: 1) */
|
|
11938
|
+
page?: number;
|
|
11939
|
+
/** @description Results per page (default: 20) */
|
|
11940
|
+
limit?: number;
|
|
11941
|
+
};
|
|
11015
11942
|
header?: never;
|
|
11016
11943
|
path?: never;
|
|
11017
11944
|
cookie?: never;
|
|
@@ -11024,7 +11951,7 @@ export interface operations {
|
|
|
11024
11951
|
[name: string]: unknown;
|
|
11025
11952
|
};
|
|
11026
11953
|
content: {
|
|
11027
|
-
"application/json": components["schemas"]["
|
|
11954
|
+
"application/json": components["schemas"]["ListBlockedContactsOutput"];
|
|
11028
11955
|
};
|
|
11029
11956
|
};
|
|
11030
11957
|
/** @description Internal Server Error */
|
|
@@ -11038,7 +11965,7 @@ export interface operations {
|
|
|
11038
11965
|
};
|
|
11039
11966
|
};
|
|
11040
11967
|
};
|
|
11041
|
-
|
|
11968
|
+
blockContact: {
|
|
11042
11969
|
parameters: {
|
|
11043
11970
|
query?: never;
|
|
11044
11971
|
header?: never;
|
|
@@ -11047,7 +11974,7 @@ export interface operations {
|
|
|
11047
11974
|
};
|
|
11048
11975
|
requestBody: {
|
|
11049
11976
|
content: {
|
|
11050
|
-
"application/json": components["schemas"]["
|
|
11977
|
+
"application/json": components["schemas"]["BlockContactInputDto"];
|
|
11051
11978
|
};
|
|
11052
11979
|
};
|
|
11053
11980
|
responses: {
|
|
@@ -11056,9 +11983,7 @@ export interface operations {
|
|
|
11056
11983
|
headers: {
|
|
11057
11984
|
[name: string]: unknown;
|
|
11058
11985
|
};
|
|
11059
|
-
content
|
|
11060
|
-
"application/json": components["schemas"]["AutopilotStatusResponseDto"];
|
|
11061
|
-
};
|
|
11986
|
+
content?: never;
|
|
11062
11987
|
};
|
|
11063
11988
|
/** @description Internal Server Error */
|
|
11064
11989
|
500: {
|
|
@@ -11071,11 +11996,13 @@ export interface operations {
|
|
|
11071
11996
|
};
|
|
11072
11997
|
};
|
|
11073
11998
|
};
|
|
11074
|
-
|
|
11999
|
+
checkContactBlocked: {
|
|
11075
12000
|
parameters: {
|
|
11076
12001
|
query?: never;
|
|
11077
12002
|
header?: never;
|
|
11078
|
-
path
|
|
12003
|
+
path: {
|
|
12004
|
+
contact_id: string;
|
|
12005
|
+
};
|
|
11079
12006
|
cookie?: never;
|
|
11080
12007
|
};
|
|
11081
12008
|
requestBody?: never;
|
|
@@ -11086,7 +12013,7 @@ export interface operations {
|
|
|
11086
12013
|
[name: string]: unknown;
|
|
11087
12014
|
};
|
|
11088
12015
|
content: {
|
|
11089
|
-
"application/json": components["schemas"]["
|
|
12016
|
+
"application/json": components["schemas"]["ContactBlockStatusOutput"];
|
|
11090
12017
|
};
|
|
11091
12018
|
};
|
|
11092
12019
|
/** @description Internal Server Error */
|
|
@@ -11100,27 +12027,24 @@ export interface operations {
|
|
|
11100
12027
|
};
|
|
11101
12028
|
};
|
|
11102
12029
|
};
|
|
11103
|
-
|
|
12030
|
+
unblockContact: {
|
|
11104
12031
|
parameters: {
|
|
11105
12032
|
query?: never;
|
|
11106
12033
|
header?: never;
|
|
11107
|
-
path
|
|
11108
|
-
|
|
11109
|
-
|
|
11110
|
-
requestBody: {
|
|
11111
|
-
content: {
|
|
11112
|
-
"application/json": components["schemas"]["UpdateProhibitedTopicsInputDto"];
|
|
12034
|
+
path: {
|
|
12035
|
+
/** @description The block record ID */
|
|
12036
|
+
id: string;
|
|
11113
12037
|
};
|
|
12038
|
+
cookie?: never;
|
|
11114
12039
|
};
|
|
12040
|
+
requestBody?: never;
|
|
11115
12041
|
responses: {
|
|
11116
12042
|
/** @description Default Response */
|
|
11117
12043
|
200: {
|
|
11118
12044
|
headers: {
|
|
11119
12045
|
[name: string]: unknown;
|
|
11120
12046
|
};
|
|
11121
|
-
content
|
|
11122
|
-
"application/json": components["schemas"]["ProhibitedTopicsResponseDto"];
|
|
11123
|
-
};
|
|
12047
|
+
content?: never;
|
|
11124
12048
|
};
|
|
11125
12049
|
/** @description Internal Server Error */
|
|
11126
12050
|
500: {
|
|
@@ -11133,7 +12057,7 @@ export interface operations {
|
|
|
11133
12057
|
};
|
|
11134
12058
|
};
|
|
11135
12059
|
};
|
|
11136
|
-
|
|
12060
|
+
listBlockedDomains: {
|
|
11137
12061
|
parameters: {
|
|
11138
12062
|
query?: {
|
|
11139
12063
|
/** @description Page number (default: 1) */
|
|
@@ -11153,7 +12077,7 @@ export interface operations {
|
|
|
11153
12077
|
[name: string]: unknown;
|
|
11154
12078
|
};
|
|
11155
12079
|
content: {
|
|
11156
|
-
"application/json": components["schemas"]["
|
|
12080
|
+
"application/json": components["schemas"]["ListBlockedDomainsOutput"];
|
|
11157
12081
|
};
|
|
11158
12082
|
};
|
|
11159
12083
|
/** @description Internal Server Error */
|
|
@@ -11167,7 +12091,7 @@ export interface operations {
|
|
|
11167
12091
|
};
|
|
11168
12092
|
};
|
|
11169
12093
|
};
|
|
11170
|
-
|
|
12094
|
+
blockDomains: {
|
|
11171
12095
|
parameters: {
|
|
11172
12096
|
query?: never;
|
|
11173
12097
|
header?: never;
|
|
@@ -11176,7 +12100,7 @@ export interface operations {
|
|
|
11176
12100
|
};
|
|
11177
12101
|
requestBody: {
|
|
11178
12102
|
content: {
|
|
11179
|
-
"application/json": components["schemas"]["
|
|
12103
|
+
"application/json": components["schemas"]["BlockDomainsInputDto"];
|
|
11180
12104
|
};
|
|
11181
12105
|
};
|
|
11182
12106
|
responses: {
|
|
@@ -11185,7 +12109,9 @@ export interface operations {
|
|
|
11185
12109
|
headers: {
|
|
11186
12110
|
[name: string]: unknown;
|
|
11187
12111
|
};
|
|
11188
|
-
content
|
|
12112
|
+
content: {
|
|
12113
|
+
"application/json": components["schemas"]["BlockDomainsOutput"];
|
|
12114
|
+
};
|
|
11189
12115
|
};
|
|
11190
12116
|
/** @description Internal Server Error */
|
|
11191
12117
|
500: {
|
|
@@ -11198,13 +12124,14 @@ export interface operations {
|
|
|
11198
12124
|
};
|
|
11199
12125
|
};
|
|
11200
12126
|
};
|
|
11201
|
-
|
|
12127
|
+
checkDomainBlocked: {
|
|
11202
12128
|
parameters: {
|
|
11203
|
-
query
|
|
11204
|
-
|
|
11205
|
-
|
|
11206
|
-
contact_id: string;
|
|
12129
|
+
query: {
|
|
12130
|
+
/** @description A domain (e.g. "spam.com") or email (e.g. "user@spam.com") */
|
|
12131
|
+
value: string;
|
|
11207
12132
|
};
|
|
12133
|
+
header?: never;
|
|
12134
|
+
path?: never;
|
|
11208
12135
|
cookie?: never;
|
|
11209
12136
|
};
|
|
11210
12137
|
requestBody?: never;
|
|
@@ -11215,7 +12142,7 @@ export interface operations {
|
|
|
11215
12142
|
[name: string]: unknown;
|
|
11216
12143
|
};
|
|
11217
12144
|
content: {
|
|
11218
|
-
"application/json": components["schemas"]["
|
|
12145
|
+
"application/json": components["schemas"]["DomainBlockStatusOutput"];
|
|
11219
12146
|
};
|
|
11220
12147
|
};
|
|
11221
12148
|
/** @description Internal Server Error */
|
|
@@ -11229,7 +12156,7 @@ export interface operations {
|
|
|
11229
12156
|
};
|
|
11230
12157
|
};
|
|
11231
12158
|
};
|
|
11232
|
-
|
|
12159
|
+
unblockDomain: {
|
|
11233
12160
|
parameters: {
|
|
11234
12161
|
query?: never;
|
|
11235
12162
|
header?: never;
|
|
@@ -11259,12 +12186,12 @@ export interface operations {
|
|
|
11259
12186
|
};
|
|
11260
12187
|
};
|
|
11261
12188
|
};
|
|
11262
|
-
|
|
12189
|
+
listBlockedIps: {
|
|
11263
12190
|
parameters: {
|
|
11264
12191
|
query?: {
|
|
11265
12192
|
/** @description Page number (default: 1) */
|
|
11266
12193
|
page?: number;
|
|
11267
|
-
/** @description Results per page (default: 20) */
|
|
12194
|
+
/** @description Results per page (default: 20, max: 200) */
|
|
11268
12195
|
limit?: number;
|
|
11269
12196
|
};
|
|
11270
12197
|
header?: never;
|
|
@@ -11279,7 +12206,7 @@ export interface operations {
|
|
|
11279
12206
|
[name: string]: unknown;
|
|
11280
12207
|
};
|
|
11281
12208
|
content: {
|
|
11282
|
-
"application/json": components["schemas"]["
|
|
12209
|
+
"application/json": components["schemas"]["ListBlockedIpsOutput"];
|
|
11283
12210
|
};
|
|
11284
12211
|
};
|
|
11285
12212
|
/** @description Internal Server Error */
|
|
@@ -11293,7 +12220,7 @@ export interface operations {
|
|
|
11293
12220
|
};
|
|
11294
12221
|
};
|
|
11295
12222
|
};
|
|
11296
|
-
|
|
12223
|
+
blockIps: {
|
|
11297
12224
|
parameters: {
|
|
11298
12225
|
query?: never;
|
|
11299
12226
|
header?: never;
|
|
@@ -11302,7 +12229,7 @@ export interface operations {
|
|
|
11302
12229
|
};
|
|
11303
12230
|
requestBody: {
|
|
11304
12231
|
content: {
|
|
11305
|
-
"application/json": components["schemas"]["
|
|
12232
|
+
"application/json": components["schemas"]["BlockIpsInputDto"];
|
|
11306
12233
|
};
|
|
11307
12234
|
};
|
|
11308
12235
|
responses: {
|
|
@@ -11312,7 +12239,7 @@ export interface operations {
|
|
|
11312
12239
|
[name: string]: unknown;
|
|
11313
12240
|
};
|
|
11314
12241
|
content: {
|
|
11315
|
-
"application/json": components["schemas"]["
|
|
12242
|
+
"application/json": components["schemas"]["BlockIpsOutput"];
|
|
11316
12243
|
};
|
|
11317
12244
|
};
|
|
11318
12245
|
/** @description Internal Server Error */
|
|
@@ -11326,10 +12253,10 @@ export interface operations {
|
|
|
11326
12253
|
};
|
|
11327
12254
|
};
|
|
11328
12255
|
};
|
|
11329
|
-
|
|
12256
|
+
checkIpBlocked: {
|
|
11330
12257
|
parameters: {
|
|
11331
12258
|
query: {
|
|
11332
|
-
/** @description
|
|
12259
|
+
/** @description An IP address (e.g. "203.0.113.7" or "2001:db8::1") */
|
|
11333
12260
|
value: string;
|
|
11334
12261
|
};
|
|
11335
12262
|
header?: never;
|
|
@@ -11344,7 +12271,7 @@ export interface operations {
|
|
|
11344
12271
|
[name: string]: unknown;
|
|
11345
12272
|
};
|
|
11346
12273
|
content: {
|
|
11347
|
-
"application/json": components["schemas"]["
|
|
12274
|
+
"application/json": components["schemas"]["IpBlockStatusOutput"];
|
|
11348
12275
|
};
|
|
11349
12276
|
};
|
|
11350
12277
|
/** @description Internal Server Error */
|
|
@@ -11358,7 +12285,43 @@ export interface operations {
|
|
|
11358
12285
|
};
|
|
11359
12286
|
};
|
|
11360
12287
|
};
|
|
11361
|
-
|
|
12288
|
+
listSessionIpActivity: {
|
|
12289
|
+
parameters: {
|
|
12290
|
+
query?: {
|
|
12291
|
+
/** @description How far back to look (default: 30, max: 90) */
|
|
12292
|
+
days?: number;
|
|
12293
|
+
/** @description Page (default: 1) */
|
|
12294
|
+
page?: number;
|
|
12295
|
+
/** @description Results per page (default: 50, max: 200) */
|
|
12296
|
+
limit?: number;
|
|
12297
|
+
};
|
|
12298
|
+
header?: never;
|
|
12299
|
+
path?: never;
|
|
12300
|
+
cookie?: never;
|
|
12301
|
+
};
|
|
12302
|
+
requestBody?: never;
|
|
12303
|
+
responses: {
|
|
12304
|
+
/** @description Default Response */
|
|
12305
|
+
200: {
|
|
12306
|
+
headers: {
|
|
12307
|
+
[name: string]: unknown;
|
|
12308
|
+
};
|
|
12309
|
+
content: {
|
|
12310
|
+
"application/json": components["schemas"]["SessionIpActivityOutput"];
|
|
12311
|
+
};
|
|
12312
|
+
};
|
|
12313
|
+
/** @description Internal Server Error */
|
|
12314
|
+
500: {
|
|
12315
|
+
headers: {
|
|
12316
|
+
[name: string]: unknown;
|
|
12317
|
+
};
|
|
12318
|
+
content: {
|
|
12319
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
12320
|
+
};
|
|
12321
|
+
};
|
|
12322
|
+
};
|
|
12323
|
+
};
|
|
12324
|
+
unblockIp: {
|
|
11362
12325
|
parameters: {
|
|
11363
12326
|
query?: never;
|
|
11364
12327
|
header?: never;
|
|
@@ -14061,6 +15024,10 @@ export interface operations {
|
|
|
14061
15024
|
};
|
|
14062
15025
|
delay_in_minutes?: number;
|
|
14063
15026
|
}[];
|
|
15027
|
+
/** @description Hold step sends outside the org office-hours window (defaults to true for new sequences) */
|
|
15028
|
+
respect_office_hours?: boolean;
|
|
15029
|
+
/** @description Named office-hours config to use as the send window; null = org default hours */
|
|
15030
|
+
office_hours_id?: string | null;
|
|
14064
15031
|
};
|
|
14065
15032
|
};
|
|
14066
15033
|
};
|
|
@@ -16171,7 +17138,7 @@ export interface operations {
|
|
|
16171
17138
|
timezone?: string;
|
|
16172
17139
|
policy_id?: string;
|
|
16173
17140
|
team_id?: string;
|
|
16174
|
-
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
|
|
17141
|
+
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
|
|
16175
17142
|
agent_id?: number;
|
|
16176
17143
|
};
|
|
16177
17144
|
header?: never;
|
|
@@ -16208,7 +17175,7 @@ export interface operations {
|
|
|
16208
17175
|
timezone?: string;
|
|
16209
17176
|
policy_id?: string;
|
|
16210
17177
|
team_id?: string;
|
|
16211
|
-
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
|
|
17178
|
+
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
|
|
16212
17179
|
agent_id?: number;
|
|
16213
17180
|
group_by: "policy" | "team" | "agent" | "channel";
|
|
16214
17181
|
};
|
|
@@ -16246,7 +17213,7 @@ export interface operations {
|
|
|
16246
17213
|
timezone?: string;
|
|
16247
17214
|
policy_id?: string;
|
|
16248
17215
|
team_id?: string;
|
|
16249
|
-
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
|
|
17216
|
+
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
|
|
16250
17217
|
agent_id?: number;
|
|
16251
17218
|
granularity?: "day" | "week";
|
|
16252
17219
|
};
|
|
@@ -16284,7 +17251,7 @@ export interface operations {
|
|
|
16284
17251
|
timezone?: string;
|
|
16285
17252
|
policy_id?: string;
|
|
16286
17253
|
team_id?: string;
|
|
16287
|
-
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
|
|
17254
|
+
channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
|
|
16288
17255
|
agent_id?: number;
|
|
16289
17256
|
};
|
|
16290
17257
|
header?: never;
|
|
@@ -16379,6 +17346,132 @@ export interface operations {
|
|
|
16379
17346
|
};
|
|
16380
17347
|
};
|
|
16381
17348
|
};
|
|
17349
|
+
getSalesforceCrmConnectionStatus: {
|
|
17350
|
+
parameters: {
|
|
17351
|
+
query?: never;
|
|
17352
|
+
header?: never;
|
|
17353
|
+
path?: never;
|
|
17354
|
+
cookie?: never;
|
|
17355
|
+
};
|
|
17356
|
+
requestBody?: never;
|
|
17357
|
+
responses: {
|
|
17358
|
+
/** @description Default Response */
|
|
17359
|
+
200: {
|
|
17360
|
+
headers: {
|
|
17361
|
+
[name: string]: unknown;
|
|
17362
|
+
};
|
|
17363
|
+
content: {
|
|
17364
|
+
"application/json": components["schemas"]["SalesforceCrmConnectionStatusDto"];
|
|
17365
|
+
};
|
|
17366
|
+
};
|
|
17367
|
+
/** @description Internal Server Error */
|
|
17368
|
+
500: {
|
|
17369
|
+
headers: {
|
|
17370
|
+
[name: string]: unknown;
|
|
17371
|
+
};
|
|
17372
|
+
content: {
|
|
17373
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
17374
|
+
};
|
|
17375
|
+
};
|
|
17376
|
+
};
|
|
17377
|
+
};
|
|
17378
|
+
getSalesforceCrmContact: {
|
|
17379
|
+
parameters: {
|
|
17380
|
+
query?: never;
|
|
17381
|
+
header?: never;
|
|
17382
|
+
path: {
|
|
17383
|
+
contactId: string;
|
|
17384
|
+
};
|
|
17385
|
+
cookie?: never;
|
|
17386
|
+
};
|
|
17387
|
+
requestBody?: never;
|
|
17388
|
+
responses: {
|
|
17389
|
+
/** @description Default Response */
|
|
17390
|
+
200: {
|
|
17391
|
+
headers: {
|
|
17392
|
+
[name: string]: unknown;
|
|
17393
|
+
};
|
|
17394
|
+
content: {
|
|
17395
|
+
"application/json": components["schemas"]["ConsumerSalesforceCrmContactResponseDto"];
|
|
17396
|
+
};
|
|
17397
|
+
};
|
|
17398
|
+
/** @description Internal Server Error */
|
|
17399
|
+
500: {
|
|
17400
|
+
headers: {
|
|
17401
|
+
[name: string]: unknown;
|
|
17402
|
+
};
|
|
17403
|
+
content: {
|
|
17404
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
17405
|
+
};
|
|
17406
|
+
};
|
|
17407
|
+
};
|
|
17408
|
+
};
|
|
17409
|
+
listSalesforceCrmContacts: {
|
|
17410
|
+
parameters: {
|
|
17411
|
+
query?: {
|
|
17412
|
+
page?: number;
|
|
17413
|
+
limit?: number;
|
|
17414
|
+
};
|
|
17415
|
+
header?: never;
|
|
17416
|
+
path?: never;
|
|
17417
|
+
cookie?: never;
|
|
17418
|
+
};
|
|
17419
|
+
requestBody?: never;
|
|
17420
|
+
responses: {
|
|
17421
|
+
/** @description Default Response */
|
|
17422
|
+
200: {
|
|
17423
|
+
headers: {
|
|
17424
|
+
[name: string]: unknown;
|
|
17425
|
+
};
|
|
17426
|
+
content: {
|
|
17427
|
+
"application/json": components["schemas"]["PaginatedSalesforceCrmContactsResponseDto"];
|
|
17428
|
+
};
|
|
17429
|
+
};
|
|
17430
|
+
/** @description Internal Server Error */
|
|
17431
|
+
500: {
|
|
17432
|
+
headers: {
|
|
17433
|
+
[name: string]: unknown;
|
|
17434
|
+
};
|
|
17435
|
+
content: {
|
|
17436
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
17437
|
+
};
|
|
17438
|
+
};
|
|
17439
|
+
};
|
|
17440
|
+
};
|
|
17441
|
+
searchSalesforceCrmContacts: {
|
|
17442
|
+
parameters: {
|
|
17443
|
+
query?: {
|
|
17444
|
+
email?: string;
|
|
17445
|
+
phone?: string;
|
|
17446
|
+
page?: number;
|
|
17447
|
+
limit?: number;
|
|
17448
|
+
};
|
|
17449
|
+
header?: never;
|
|
17450
|
+
path?: never;
|
|
17451
|
+
cookie?: never;
|
|
17452
|
+
};
|
|
17453
|
+
requestBody?: never;
|
|
17454
|
+
responses: {
|
|
17455
|
+
/** @description Default Response */
|
|
17456
|
+
200: {
|
|
17457
|
+
headers: {
|
|
17458
|
+
[name: string]: unknown;
|
|
17459
|
+
};
|
|
17460
|
+
content: {
|
|
17461
|
+
"application/json": components["schemas"]["PaginatedSalesforceCrmContactsResponseDto"];
|
|
17462
|
+
};
|
|
17463
|
+
};
|
|
17464
|
+
/** @description Internal Server Error */
|
|
17465
|
+
500: {
|
|
17466
|
+
headers: {
|
|
17467
|
+
[name: string]: unknown;
|
|
17468
|
+
};
|
|
17469
|
+
content: {
|
|
17470
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
17471
|
+
};
|
|
17472
|
+
};
|
|
17473
|
+
};
|
|
17474
|
+
};
|
|
16382
17475
|
coworkerNotifyTeam: {
|
|
16383
17476
|
parameters: {
|
|
16384
17477
|
query?: never;
|