Ticket API
# Ticket API
# API Declaration
The "token" param must be contained in the header of the https request when calling the API.
Token is the only global API call credential for the Sobot API open platform. It is used when developers call the business APIs and thus should be properly kept. At least 32 chars should be reserved to store token. The validity period of token is currently 24 hours. It needs to be refreshed regularly or reacquired according to the token failure prompt returned by the API. When requesting the token API, regardless of the existence of token, a new token will be returned and its expiry time will be reset (currently 24 hours).
Token usage description:
- Developers need to obtain and manage the token uniformly. When calling the Sobot open APIs of various business, they should use the same token, instead of refreshing and obtaining new tokens for each business. Otherwise, it will easily lead to token invalidation and affect the normal API call.
- The current validity period of the token is transmitted by the returned expire_in, which is currently a value within 86,400 s. Developers need to refresh the new token in advance based on this valid time.
- Developers should reacquire the token according to the token invalidation prompt returned by the API.
# i18n Declaration
If the prompt text of the corresponding language needs to be returned when calling the API, the "language" parameter must be contained in the header of the https request.
Currently, it supports text in both Chinese (zh) and English (en), with Chinese being the default.
request headers:
Param | Type | Required | Description |
---|---|---|---|
language | String | Yes | Language identifiers: en-English, zh-Chinese |
# API Call
# ● Get the Access Token Code
API description:
Get the open API token, which is only applicable to all APIs of Sobot Open Platform v5.0. Contact the Sobot after-sales service personnel to get appid and app_key in the API.
Request method:
GET
Request URL:
https://sg.sobot.io/api/get_token
Request param:
Param | Type | Required | Description |
---|---|---|---|
appid | String | Yes | The 3rd-party user's unique API call credential ID |
create_time | String | Yes | Timestamp (s), e.g.: timestamp 1569397773 for 2019-09-25 15:49:33 |
sign | String | Yes | Signature, which is md5(appid+create_time+app_key) sign signature; app_key is a key |
Request example:
curl https://sg.sobot.io/api/get_token?appid=1&create_time=1569397773&sign=258eec3118705112b2c53dc8043d4d34
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
token | String | Yes | Token code |
expires_in | String | Yes | Credential valid time (unit: s) |
Timestamp conversion tool:
http://tool.chinaz.com/Tools/unixtime.aspx
sign Signature generation example:
E.g., appid = "1"; create_time="1569397773"; app_key="2"
sign = Md5("115693977732") is 258eec3118705112b2c53dc8043d4d34.
Return example:
{
"item": {
"token": "4ac37cb2e9c740dba4b75a34d5358802",
"expires_in": "86400"
},
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
8
# ● Query Time Zone
API description:
Query Time Zone Information.
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/get_timezone
Request param:
Param | Type | Required | Description |
---|---|---|---|
None |
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Returned data |
Item object:
Param | Type | Required | Description |
---|---|---|---|
offset | int | Yes | Time zone offset |
sortNo | int | Yes | sort |
timezone | String | Yes | time difference |
timezoneId | String | Yes | Time Zone Id |
timezoneValue | String | Yes | Time zone name |
Request example:
curl
-H 'token:4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
https://sg.sobot.io/api/ws/5/ticket/get_timezone
2
3
4
Return example:
{
"item": [
{
"offset": -11.0,
"sortNo": 1,
"timezone": "-12:00",
"timezoneId": "Etc/GMT+11",
"timezoneValue": "GMT-11:00 International Date Line West"
},
{
"offset": -11.0,
"sortNo": 2,
"timezone": "-11:00",
"timezoneId": "Pacific/Midway",
"timezoneValue": "GMT-11:00 Midway Island"
},
{
"offset": -11.0,
"sortNo": 2,
"timezone": "-11:00",
"timezoneId": "US/Samoa",
"timezoneValue": "GMT-11:00 American Samoa"
},
{
"offset": -10.0,
"sortNo": 3,
"timezone": "-10:00",
"timezoneId": "US/Hawaii",
"timezoneValue": "GMT-10:00 Hawaii"
},
{
"offset": -8.0,
"sortNo": 4,
"timezone": "-09:00",
"timezoneId": "US/Alaska",
"timezoneValue": "GMT-08:00 Alaska"
},
{
"offset": -7.0,
"sortNo": 5,
"timezone": "-08:00",
"timezoneId": "America/Los_Angeles",
"timezoneValue": "GMT-07:00 Pacific Time (US & Canada)"
},
{
"offset": -7.0,
"sortNo": 6,
"timezone": "-07:00",
"timezoneId": "America/Phoenix",
"timezoneValue": "GMT-07:00 Arizona"
},
{
"offset": -7.0,
"sortNo": 5,
"timezone": "-08:00",
"timezoneId": "America/Tijuana",
"timezoneValue": "GMT-07:00 Tijuana"
},
{
"offset": -5.0,
"sortNo": 8,
"timezone": "-05:00",
"timezoneId": "America/Bogota",
"timezoneValue": "GMT-05:00 Bogota"
},
{
"offset": -5.0,
"sortNo": 7,
"timezone": "-06:00",
"timezoneId": "America/Chicago",
"timezoneValue": "GMT-05:00 Central America"
},
{
"offset": -5.0,
"sortNo": 7,
"timezone": "-06:00",
"timezoneId": "America/Mexico_City",
"timezoneValue": "GMT-05:00 Mexico City"
},
{
"offset": -5.0,
"sortNo": 7,
"timezone": "-06:00",
"timezoneId": "America/Monterrey",
"timezoneValue": "GMT-05:00 Monterrey"
},
{
"offset": -4.0,
"sortNo": 9,
"timezone": "-04:00",
"timezoneId": "America/Caracas",
"timezoneValue": "GMT-04:00 Caracas"
},
{
"offset": -4.0,
"sortNo": 8,
"timezone": "-05:00",
"timezoneId": "America/Indiana/Indianapolis",
"timezoneValue": "GMT-04:00 Indiana (East)"
},
{
"offset": -4.0,
"sortNo": 9,
"timezone": "-04:00",
"timezoneId": "America/La_Paz",
"timezoneValue": "GMT-04:00 La Paz"
},
{
"offset": -4.0,
"sortNo": 8,
"timezone": "-05:00",
"timezoneId": "America/New_York",
"timezoneValue": "GMT-04:00 New_York"
},
{
"offset": -4.0,
"sortNo": 11,
"timezone": "-03:00",
"timezoneId": "America/Santiago",
"timezoneValue": "GMT-04:00 Santiago"
},
{
"offset": -3.0,
"sortNo": 9,
"timezone": "-04:00",
"timezoneId": "America/Halifax",
"timezoneValue": "GMT-03:00 Atlantic Time (Canada)"
},
{
"offset": -3.0,
"sortNo": 11,
"timezone": "-03:00",
"timezoneId": "America/Sao_Paulo",
"timezoneValue": "GMT-03:00 Brasilia"
},
{
"offset": -2.5,
"sortNo": 10,
"timezone": "-03:30",
"timezoneId": "America/St_Johns",
"timezoneValue": "GMT-02:30 Newfoundland"
},
{
"offset": -1.0,
"sortNo": 12,
"timezone": "-02:00",
"timezoneId": "Etc/GMT+1",
"timezoneValue": "GMT-01:00 Mid-Atlantic"
},
{
"offset": 0.0,
"sortNo": 13,
"timezone": "-01:00",
"timezoneId": "Atlantic/Azores",
"timezoneValue": "GMT+00:00 Azores"
},
{
"offset": 0.0,
"sortNo": 14,
"timezone": "+00:00",
"timezoneId": "Atlantic/Reykjavik",
"timezoneValue": "GMT+00:00 Monrovia"
},
{
"offset": 1.0,
"sortNo": 14,
"timezone": "+00:00",
"timezoneId": "Europe/Lisbon",
"timezoneValue": "GMT+01:00 Lisbon"
},
{
"offset": 1.0,
"sortNo": 14,
"timezone": "+00:00",
"timezoneId": "Europe/London",
"timezoneValue": "GMT+01:00 London"
},
{
"offset": 2.0,
"sortNo": 16,
"timezone": "+02:00",
"timezoneId": "Africa/Cairo",
"timezoneValue": "GMT+02:00 Cairo"
},
{
"offset": 2.0,
"sortNo": 16,
"timezone": "+02:00",
"timezoneId": "Africa/Harare",
"timezoneValue": "GMT+02:00 Harare"
},
{
"offset": 2.0,
"sortNo": 15,
"timezone": "+01:00",
"timezoneId": "Europe/Bratislava",
"timezoneValue": "GMT+02:00 Bratislava"
},
{
"offset": 2.0,
"sortNo": 15,
"timezone": "+01:00",
"timezoneId": "Europe/Brussels",
"timezoneValue": "GMT+02:00 Brussels"
},
{
"offset": 3.0,
"sortNo": 17,
"timezone": "+03:00",
"timezoneId": "Asia/Baghdad",
"timezoneValue": "GMT+03:00 Baghdad"
},
{
"offset": 3.0,
"sortNo": 17,
"timezone": "+03:00",
"timezoneId": "Asia/Kuwait",
"timezoneValue": "GMT+03:00 Kuwait"
},
{
"offset": 3.0,
"sortNo": 16,
"timezone": "+02:00",
"timezoneId": "Europe/Athens",
"timezoneValue": "GMT+03:00 Athens"
},
{
"offset": 3.0,
"sortNo": 16,
"timezone": "+02:00",
"timezoneId": "Europe/Bucharest",
"timezoneValue": "GMT+03:00 Bucharest"
},
{
"offset": 3.0,
"sortNo": 17,
"timezone": "+03:00",
"timezoneId": "Europe/Istanbul",
"timezoneValue": "GMT+03:00 Istanbul"
},
{
"offset": 3.0,
"sortNo": 17,
"timezone": "+03:00",
"timezoneId": "Europe/Minsk",
"timezoneValue": "GMT+03:00 Minsk"
},
{
"offset": 4.0,
"sortNo": 19,
"timezone": "+04:00",
"timezoneId": "Asia/Baku",
"timezoneValue": "GMT+04:00 Baku"
},
{
"offset": 4.0,
"sortNo": 19,
"timezone": "+04:00",
"timezoneId": "Asia/Dubai",
"timezoneValue": "GMT+04:00 Abu Dhabi"
},
{
"offset": 4.0,
"sortNo": 19,
"timezone": "+04:00",
"timezoneId": "Asia/Muscat",
"timezoneValue": "GMT+04:00 Muscat"
},
{
"offset": 4.0,
"sortNo": 19,
"timezone": "+04:00",
"timezoneId": "Europe/Samara",
"timezoneValue": "GMT+04:00 Samara"
},
{
"offset": 4.5,
"sortNo": 20,
"timezone": "+04:30",
"timezoneId": "Asia/Kabul",
"timezoneValue": "GMT+04:30 Kabul"
},
{
"offset": 4.5,
"sortNo": 18,
"timezone": "+03:30",
"timezoneId": "Asia/Tehran",
"timezoneValue": "GMT+04:30 Tehran"
},
{
"offset": 5.0,
"sortNo": 21,
"timezone": "+05:00",
"timezoneId": "Asia/Karachi",
"timezoneValue": "GMT+05:00 Karachi"
},
{
"offset": 5.0,
"sortNo": 21,
"timezone": "+05:00",
"timezoneId": "Asia/Yekaterinburg",
"timezoneValue": "GMT+05:00 Ekaterinburg"
},
{
"offset": 5.5,
"sortNo": 22,
"timezone": "+05:30",
"timezoneId": "Asia/Kolkata",
"timezoneValue": "GMT+05:30 Kolkata"
},
{
"offset": 5.75,
"sortNo": 23,
"timezone": "+05:45",
"timezoneId": "Asia/Kathmandu",
"timezoneValue": "GMT+05:45 Kathmandu"
},
{
"offset": 6.0,
"sortNo": 24,
"timezone": "+06:00",
"timezoneId": "Asia/Almaty",
"timezoneValue": "GMT+06:00 Almaty"
},
{
"offset": 6.5,
"sortNo": 25,
"timezone": "+06:30",
"timezoneId": "Asia/Yangon",
"timezoneValue": "GMT+06:30 Rangoon"
},
{
"offset": 7.0,
"sortNo": 26,
"timezone": "+07:00",
"timezoneId": "Asia/Bangkok",
"timezoneValue": "GMT+07:00 Bangkok"
},
{
"offset": 7.0,
"sortNo": 26,
"timezone": "+07:00",
"timezoneId": "Asia/Jakarta",
"timezoneValue": "GMT+07:00 Jakarta"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Hong_Kong",
"timezoneValue": "GMT+08:00 Hong Kong"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Irkutsk",
"timezoneValue": "GMT+08:00 Irkutsk"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Manila",
"timezoneValue": "GMT+08:00 Manila"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Shanghai",
"timezoneValue": "GMT+08:00 Beijing"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Singapore",
"timezoneValue": "GMT+08:00 Singapore"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Taipei",
"timezoneValue": "GMT+08:00 Taipei"
},
{
"offset": 8.0,
"sortNo": 27,
"timezone": "+08:00",
"timezoneId": "Asia/Ulaanbaatar",
"timezoneValue": "GMT+08:00 Ulaanbaatar"
},
{
"offset": 9.0,
"sortNo": 28,
"timezone": "+09:00",
"timezoneId": "Asia/Seoul",
"timezoneValue": "GMT+09:00 Seoul"
},
{
"offset": 9.0,
"sortNo": 28,
"timezone": "+09:00",
"timezoneId": "Asia/Tokyo",
"timezoneValue": "GMT+09:00 Tokyo"
},
{
"offset": 9.5,
"sortNo": 31,
"timezone": "+10:30",
"timezoneId": "Australia/Adelaide",
"timezoneValue": "GMT+09:30 Adelaide"
},
{
"offset": 9.5,
"sortNo": 29,
"timezone": "+09:30",
"timezoneId": "Australia/Darwin",
"timezoneValue": "GMT+09:30 Darwin"
},
{
"offset": 10.0,
"sortNo": 30,
"timezone": "+10:00",
"timezoneId": "Australia/Brisbane",
"timezoneValue": "GMT+10:00 Brisbane"
},
{
"offset": 10.0,
"sortNo": 32,
"timezone": "+11:00",
"timezoneId": "Australia/Hobart",
"timezoneValue": "GMT+10:00 Hobart"
},
{
"offset": 10.0,
"sortNo": 32,
"timezone": "+11:00",
"timezoneId": "Australia/Melbourne",
"timezoneValue": "GMT+10:00 Melbourne"
},
{
"offset": 12.0,
"sortNo": 33,
"timezone": "+12:00",
"timezoneId": "Asia/Kamchatka",
"timezoneValue": "GMT+12:00 Kamchatka"
},
{
"offset": 12.0,
"sortNo": 34,
"timezone": "+13:00",
"timezoneId": "Pacific/Auckland",
"timezoneValue": "GMT+12:00 Auckland"
},
{
"offset": 12.0,
"sortNo": 33,
"timezone": "+12:00",
"timezoneId": "Pacific/Fiji",
"timezoneValue": "GMT+12:00 Fiji"
},
{
"offset": 13.0,
"sortNo": 34,
"timezone": "+13:00",
"timezoneId": "Pacific/Apia",
"timezoneValue": "GMT+13:00 Samoa"
},
{
"offset": 13.0,
"sortNo": 34,
"timezone": "+13:00",
"timezoneId": "Pacific/Tongatapu",
"timezoneValue": "GMT+13:00 Nuku'alofa"
}
],
"retCode": "000000",
"retMsg": "Success"
}
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
# ● Query Data Dictionary
API description:
Data dictionary includes ticket category, ticket status, ticket priority, and cc data. Ticket category is a dynamic dictionary item, and the returned data will change with the enterprise configuration. Please call this API to get the specific value of the above data.
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/get_data_dict
Request param:
Param | Type | Required | Description |
---|---|---|---|
None |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' https://sg.sobot.io/api/ws/5/ticket/get_data_dict
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Returned data |
Item object:
Param | Type | Required | Description |
---|---|---|---|
ticket_type_list | List | Yes | Ticket category info |
ticket_status_list | List | Yes | Ticket status info |
ticket_level_list | List | Yes | Ticket priority info |
group_list | List | Yes | Skill group info, with frequent business changes |
agent_list | List | Yes | Agent info, with frequent business changes |
ticket_type_list set:
Param | Type | Required | Description |
---|---|---|---|
typeid | String | Yes | Category ID |
companyid | String | Yes | Company ID |
type_name | String | Yes | Category name |
parentid | String | Yes | Parent ID, with frequent business changes |
type_level | String | Yes | Category level, with 5 levels max (1: Level 1, 2: Level 2, 3: Level 3, 4: Level 4, 5: Level 5) |
node_flag | String | Yes | Whether it is a leaf node (0: Yes, 1: No) |
sub_type_list | List | Yes | Sub-category info, whose content is consistent with ticket_type_list |
ticket_status_list set:
Param | Type | Required | Description |
---|---|---|---|
dict_value | String | Yes | Ticket status CODE |
dict_name | String | Yes | Ticket status name |
ticket_level_list set:
Param | Type | Required | Description |
---|---|---|---|
dict_value | String | Yes | Ticket priority CODE |
dict_name | String | Yes | Ticket priority name |
group_list set:
Param | Type | Required | Description |
---|---|---|---|
groupid | String | Yes | Skill group ID |
group_name | String | Yes | Skill Group Name |
agent_list set:
Param | Type | Required | Description |
---|---|---|---|
agentid | String | Yes | Agent ID |
agent_name | String | Yes | Agent name |
Return example:
{
"item": {
"ticket_level_list": [
{
"dict_name": "Low",
"dict_value": "0"
},
{
"dict_name": "Medium",
"dict_value": "1"
},
{
"dict_name": "High",
"dict_value": "2"
},
{
"dict_name": "Emergency",
"dict_value": "3"
}
],
"group_list": [
{
"group_name": "group1",
"groupid": "acb290d666814d65834c70073aed65f2_4"
},
{
"group_name": "group2",
"groupid": "e3b931da9ab24a2abcb6f6ae59ae8c0c"
}
],
"ticket_status_list": [
{
"dict_name": "Not Received",
"dict_value": "0"
},
{
"dict_name": "Processing",
"dict_value": "1"
},
{
"dict_name": "Waiting for Reply",
"dict_value": "2"
},
{
"dict_name": "Resolved",
"dict_value": "3"
},
{
"dict_name": "Closed",
"dict_value": "99"
}
],
"ticket_type_list": [
{
"companyid": "acb290d666814d65834c70073aed65f2",
"node_flag": "0",
"parentid": "-1",
"type_level": "1",
"type_name": "other",
"typeid": "9"
},
{
"companyid": "acb290d666814d65834c70073aed65f2",
"node_flag": "1",
"parentid": "-1",
"sub_type_list": [
{
"companyid": "acb290d666814d65834c70073aed65f2",
"node_flag": "0",
"parentid": "131b5060166d4dbbb4beda95a4ff3d32",
"type_level": "2",
"type_name": "type1-1",
"typeid": "42a4d00d26304a1fa3c94c552d47cfdf"
},
{
"companyid": "acb290d666814d65834c70073aed65f2",
"node_flag": "1",
"parentid": "131b5060166d4dbbb4beda95a4ff3d32",
"sub_type_list": [
{
"companyid": "acb290d666814d65834c70073aed65f2",
"node_flag": "1",
"parentid": "5dc2f4d31c894f35a779f6a6d175c803",
"sub_type_list": [
{
"companyid": "acb290d666814d65834c70073aed65f2",
"node_flag": "0",
"parentid": "d3c3a3efc71f4a949bb7be8af6643626",
"type_level": "3",
"type_name": "type1-2-1",
"typeid": "d3c3a3efc71f4a949bb7be8af6643626"
}
],
"type_level": "2",
"type_name": "type1-2",
"typeid": "5dc2f4d31c894f35a779f6a6d175c803"
}
],
"type_level": "1",
"type_name": "type1",
"typeid": "131b5060166d4dbbb4beda95a4ff3d32"
}
]
}
],
"agent_list": [
{
"agent_name": "ming",
"agentid": "0a37c8156d094311890e48fbc06501c4"
},
{
"agent_name": "admin2",
"agentid": "efcfda336b5d4caeb4fd71392c54b5c9"
}
]
},
"ret_code": "000000",
"ret_msg": "Success"
}
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
# ● Query Custom Field Info
API description:
Return the basic information of the ticket custom field
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/query_ticket_extend_fields
Request param:
Param | Type | Required | Description |
---|---|---|---|
None |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' https://sg.sobot.io/api/ws/5/ticket/query_ticket_extend_fields`
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | Yes | Return set |
Items set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_name | String | Yes | Custom field name |
field_type | String | Yes | Custom field type. 1: Single-line text, 2: Multi-line text, 3: Date, 4: Time, 5: Number, 6: Drop-down list, 7: Check box, 8: Radio button 9: Cascade 12: Date+Time |
fill_flag | String | Yes | Whether custom field is required (0: No, 1: Yes) |
field_data_list | List | No | Option info of optional field |
field_data_list set:
Param | Type | Required | Description |
---|---|---|---|
data_name | String | Yes | Option name of custom field |
data_value | String | Yes | Option CODE value of custom field |
Return example:
{
"items": [
{
"field_data_list": [
{
"data_name": "999",
"data_value": "540264609760473"
},
{
"data_name": "777",
"data_value": "540264668320333"
},
{
"data_name": "888",
"data_value": "540264668320352"
}
],
"field_name": "Dropdown list",
"field_type": 6,
"fieldid": "3ceef648f3d6412abdf8fd6aac5db9f3",
"fill_flag": 1
},
{
"field_data_list": [
{
"data_name": "Chinese",
"data_value": "500862751814255"
},
{
"data_name": "mathematics",
"data_value": "500862751819356"
},
{
"data_name": "English",
"data_value": "502372726676614"
}
],
"field_name": "check",
"field_type": 7,
"fieldid": "8f52d2f19fad4a8eae22238437817b9c",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "test234",
"field_type": 5,
"fieldid": "d1dc7e1e13794cf1a936d74b76c4ecc0",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "time",
"field_type": 4,
"fieldid": "4e1e6b21b433461d9bac2cee6d3297d1",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "date",
"field_type": 3,
"fieldid": "30b5071f2b514d57b6d34e7c95cdf431",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "567",
"field_type": 2,
"fieldid": "c2610afb04014d788e398324f7f01329",
"fill_flag": 0
}
],
"ret_code": "000000",
"ret_msg": "Success"
}
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
# ● Add Option Info for Ticket Custom Field (Optional)
API description:
Add option information in bulk for ticket optional custom field
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/save_option_data_value
Request param:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Ticket custom field ID |
field_data_value | List | Yes | Option info of ticket custom field |
agentid | String | Yes | Operation agent ID |
agent_name | String | Yes | Operation agent name |
field_data_value set:
Param | Type | Required | Description |
---|---|---|---|
field_value | String | Yes | Field option value |
field_text | String | Yes | Field text value |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/save_option_data_value -X POST -H 'content-type: application/json'
-H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' -d '{"fieldid":"3ceef648f3d6412abdf8fd6aac5db9f3","agentid":"0a37c8156d094311890e48fbc06501c4","agent_name":"ming","field_data_value":[{"field_value":"539325753445693","field_text":"test"}]}'`
2
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
# ● Query the Ticket Template Associated with Ticket Category
API description:
Return the custom field information in the ticket template associated with the ticket category
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/query_fileds_by_typeid
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticket_typeid | String | Yes | Ticket category ID |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' https://sg.sobot.io/api/ws/5/ticket/query_fileds_by_typeid
?ticket_typeid=75c5b76905054a0bad862d0e725570e9
2
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | Yes | Return set |
Items set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_name | String | Yes | Custom field name |
field_type | String | Yes | Custom field type. 1: Single-line text, 2: Multi-line text, 3: Date, 4: Time, 5: Number, 6: Drop-down list, 7: Check box, 8: Radio button 9: Cascade 12: Date+Time |
fill_flag | String | Yes | Whether custom field is required (0: No, 1: Yes) |
field_data_list | List | No | Option info of optional field |
field_data_list set:
Param | Type | Required | Description |
---|---|---|---|
data_name | String | Yes | Option name of custom field |
data_value | String | Yes | Option CODE value of custom field |
Return example:
{
"items": [
{
"field_data_list": [
{
"data_name": "999",
"data_value": "540264609760473"
},
{
"data_name": "777",
"data_value": "540264668320333"
},
{
"data_name": "888",
"data_value": "540264668320352"
}
],
"field_name": "Dropdown list",
"field_type": 6,
"fieldid": "3ceef648f3d6412abdf8fd6aac5db9f3",
"fill_flag": 1
},
{
"field_data_list": [
{
"data_name": "Chinese",
"data_value": "500862751814255"
},
{
"data_name": "mathematics",
"data_value": "500862751819356"
},
{
"data_name": "English",
"data_value": "502372726676614"
}
],
"field_name": "check",
"field_type": 7,
"fieldid": "8f52d2f19fad4a8eae22238437817b9c",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "test234",
"field_type": 5,
"fieldid": "d1dc7e1e13794cf1a936d74b76c4ecc0",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "time",
"field_type": 4,
"fieldid": "4e1e6b21b433461d9bac2cee6d3297d1",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "date",
"field_type": 3,
"fieldid": "30b5071f2b514d57b6d34e7c95cdf431",
"fill_flag": 0
},
{
"field_data_list": [],
"field_name": "567",
"field_type": 2,
"fieldid": "c2610afb04014d788e398324f7f01329",
"fill_flag": 0
}
],
"ret_code": "000000",
"ret_msg": "Success"
}
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
# ● Query Custom Ticket Status
API description:
Return the basic information of the ticket custom status
Request method:
GET
Request URL:
https://www.sobot.com/api/ws/5/ticket/query_ticket_status_infos
Request param:
Param | Type | Required | Description |
---|---|---|---|
None |
Request example:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/ws/5/ticket/query_ticket_status_infos`
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | Yes | Return set |
items set:
Param | Type | Required | Description |
---|---|---|---|
status_id | String | Yes | Status ID. If custom state management is not enabled, this field is null. |
status_code | Integer | Yes | Status code. |
status_name | String | Yes | Custom ticket status name. |
status_type | Integer | Yes | Status type. 1- New, 2- In Progress, 3- Waiting for Customer Response, 4- Pause, 5- Resolved, 6- Closed, 7- Deleted. |
status_desc | String | Yes | Custom ticket status description. |
customer_status_name | String | Yes | The name of custom ticket status displayed on the customer side. |
is_delete | Integer | Yes | Whether the custom ticket status is deleted. (0: No, 1: Yes) |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success",
"items": [
{
"status_id": null,
"status_code": 0,
"status_name": "Not Received",
"status_type": 1,
"status_desc": "The ticket is pending assignment to agent.",
"customer_status_name": "Processing",
"is_delete": 0
},
{
"status_id": null,
"status_code": 1,
"status_name": "Processing",
"status_type": 2,
"status_desc": "Agent is processing the ticket.",
"customer_status_name": "Processing",
"is_delete": 0
},
{
"status_id": null,
"status_code": 2,
"status_name": "Awaiting agent reply",
"status_type": 2,
"status_desc": "After the customer replies, the ticket status will automatically update to this status.",
"customer_status_name": "Processing",
"is_delete": 0
},
{
"status_id": null,
"status_code": 3,
"status_name": "Resolved",
"status_type": 5,
"status_desc": "The ticket issue has been resolved, awaiting customer confirmation.",
"customer_status_name": "Resolved",
"is_delete": 0
},
{
"status_id": null,
"status_code": 99,
"status_name": "Closed",
"status_type": 6,
"status_desc": "The ticket issue has been resolved, and the customer has confirmed.",
"customer_status_name": "Resolved",
"is_delete": 0
},
{
"status_id": null,
"status_code": 98,
"status_name": "Deleted",
"status_type": 7,
"status_desc": "Deleted",
"customer_status_name": "Deleted",
"is_delete": 0
}
]
}
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
# ● Create Tickets (Customer)
API description:
When this API is called, the system will find customers according to the submitted params by the priority of "Customer ID > Docking ID > Customer Email > Customer Phone No.". If the customer is successfully matched, it will be a ticket associated customer; otherwise, the new customer will be created and associated.
Note:
- The ticket custom fields passed here must be the custom fields in the ticket template associated with the ticket category id passed.
- The custom fields in the category-associated template are obtained by querying the ticket template info API associated with the ticket category.
- Ticket category ID need to call the ticket category in the data dictionary to get specific values.
- You can call Attachment Upload (Customer) if you need to upload attachments.
- first_contact_type and first_contact_info need to exist or not exist simultaneously
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/save_user_ticket
Request param:
Param | Type | Required | Description |
---|---|---|---|
companyid | String | Yes | Enterprise ID |
ticket_title | String | Yes | Ticket Title |
userid | String | No | Customer ID |
partnerid | String | No | Docking ID |
ticket_content | String | Yes | Ticket problem description |
user_emails | String | No | Customer Email |
user_tels | String | No | Customer Phone No. |
ticket_typeid | String | Yes | Ticket category ID, the category ID of leaf nodes |
ticket_from | String | Yes | Ticket source. 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 12: Email submission, 13: Voice MSG, 16: WeChat mini program submission, 17: WeCom submission, 21: Bot Submission, 23: Facebook - Ticket Submission, 25: WhatsApp - Ticket Submission, 27: Instagram - Ticket Submission, 29: Line - Ticket Submission, 31: Discord - Ticket Submission, 33: Telegram - Ticket Submission, 34: Shopify |
file_str | String | No | Attachment path. Multiple attachments are separated by semicolon ";" |
extend_fields | List | No | Ticket custom field info |
first_contact_type | Int | No | Preferred contact info types 1: Email 2: Phone no. |
first_contact_info | String | No | Preferred contact info value |
extend_fields set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_value | String | Yes | Custom field value |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/save_user_ticket -X POST -H 'content-type: application/json' -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' -d '{"companyid":"acb290d666814d65834c70073aed65f2","ticket_title":"test","userid":"007e447e1c104583971c2e990df0d4ac","ticket_content":"test",,"ticket_typeid":"4112bddd39cd4895808180f139cd497a", "ticket_from":"1","extend_fields":[{"fieldid":"5ba3741d772c47d9a3066db1d3900b4e","field_value":"123"},{"fieldid":"3ceef648f3d6412abdf8fd6aac5db9f3","field_value":"539325753445693"}}'
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
Return example:
{
"item": {
"ticketid": "5c4015d7bf71493db4a53a2877a1ae98"
},
"items": [],
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
8
# ● Create Tickets (Agent)
API description:
Agents create tickets and associates them with the corresponding customers
Note:
- The ticket custom fields passed here must be the custom fields in the ticket template associated with the ticket category id passed.
- The custom fields in the category-associated template are obtained by querying the ticket template info API associated with the ticket category.
- Ticket category ID need to call the ticket category in the data dictionary to get specific values.
- You can call Attachment Upload (Agent) if you need to upload attachments.
- first_contact_type and first_contact_info need to exist or not exist simultaneously. userid must have a value when the preferred contact info exists.
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/save_agent_ticket
Request param:
Param | Type | Required | Description |
---|---|---|---|
companyid | String | Yes | Enterprise ID |
ticket_title | String | Yes | Ticket Title |
userid | String | No | Customer ID |
ticket_content | String | Yes | Ticket problem description |
ticket_from | String | Yes | Ticket source. 0: Ticket Center, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 14: WeChat mini program-Livechat workbench, 15:WeCom-Livechat workbench, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 22: Facebook - Livechat Workbench, 24: WhatsApp - Livechat Workbench, 26: Instagram - Livechat Workbench, 28: Line - Livechat Workbench, 30: Discord - Livechat Workbench, 32: Telegram - Livechat Workbench, 34: Shopify |
deal_groupid | String | No | Receiving skill group ID |
deal_group_name | String | No | Receiving skill group name |
deal_agentid | String | No | Receiving agent ID |
deal_agent_name | String | No | Receiving agent name |
create_agentid | String | Yes | Creation agent ID |
create_agent_name | String | Yes | Creation agent name |
recordid | String | No | Record ID, the call record ID or chat record ID |
ticket_status | String | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status (Note: Use the status code instead of the status ID). |
ticket_level | String | Yes | Ticket priority. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticket_typeid | String | Yes | Ticket category ID, the category ID of leaf nodes |
file_str | String | No | Attachment path. Multiple attachments are separated by semicolon ";" |
copy_agent | List | No | CC agent |
extend_fields | List | No | Ticket custom field info |
first_contact_type | Int | No | Preferred contact info types 1: Email 2: Phone no. |
first_contact_info | String | No | Preferred contact info value |
copy_agent set:
Param | Type | Required | Description |
---|---|---|---|
agent_name | String | Yes | Agent name |
agent_mail | String | Yes | Agent email |
extend_fields set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_value | String | Yes | Custom field value |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/save_agent_ticket -X POST -H 'content-type: application/json'
-H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-d '{"companyid":"acb290d666814d65834c70073aed65f2","ticket_title":"test","userid":"007e447e1c104583971c2e990df0d4ac","ticket_content":"test","ticket_status":"1","ticket_level":"0","create_agentid ":"0a37c8156d094311890e48fbc06501c4","create_agent_name":"ming",
"ticket_typeid":"4112bddd39cd4895808180f139cd497a","ticket_from":"0","extend_fields":[{"fieldid":"5ba3741d772c47d9a3066db1d3900b4e","field_value":"123"},{"fieldid":"3ceef648f3d6412abdf8fd6aac5db9f3","field_value":"539325753445693"}]}'
2
3
4
5
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
Return example:
{
"item": {
"ticketid": "5c4015d7bf71493db4a53a2877a1ae98"
},
"items": [],
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
8
# ● Reply to Tickets (Customer)
API description:
Customers reply to the tickets (customers can reply to all)
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/save_user_reply
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
reply_content | String | Yes | Ticket reply content |
file_str | String | No | Reply attachment path. Multiple attachments are separated by semicolon ";" |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/save_user_reply -X POST -H 'content-type: application/json'
-H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' -d '{"ticketid":"acb290d666814d65834c70073aed65f2","reply_content":"agent reply"}'
2
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
# ● Reply to Tickets (Agent)
API description:
Agents reply to the tickets (Agents can choose to reply to agents only or all)
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/save_ticket_reply
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticket_title | String | Yes | Ticket Title |
ticket_content | String | Yes | Ticket problem description |
ticketid | String | Yes | Ticket ID |
get_ticket_datetime_ms | Long | Yes | Get ticket info time, e.g.: 1678085323404 (current time) |
reply_content | String | No | Ticket reply content |
reply_type | String | Yes | Ticket reply type. 0: Visible to all, 1: Visible to agents only |
deal_groupid | String | No | Receiving skill group ID |
deal_group_name | String | No | Receiving skill group name |
deal_agentid | String | No | Receiving agent ID |
deal_agent_name | String | No | Receiving agent name |
reply_agentid | String | Yes | Reply agent ID, the agent currently processing the reply |
reply_agent_name | String | Yes | Reply agent name |
ticket_status | String | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticket_level | String | Yes | Ticket priority. 0: Low, 1: Medium, 2: High, 3: Urgent |
reply_file_str | String | No | Reply attachment path. Multiple attachments are separated by semicolon ";" |
copy_agent | List | No | CC agent |
extend_fields | List | No | Ticket custom field info |
copy_agent set:
Param | Type | Required | Description |
---|---|---|---|
agent_name | String | Yes | Agent name |
agent_mail | String | Yes | Agent email |
extend_fields set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_value | String | Yes | Custom field value |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/save_ticket_reply -X POST
-H 'content-type: application/json'
-H 'token:4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-d '{"ticketid":"acb290d666814d65834c70073aed65f2","ticket_title":"test","reply_content":"agent reply","ticket_content":"test","reply_type":"0","ticket_status":"1","ticket_level":"0",
"get_ticket_datetime":"2019-09-19 13:00:00","reply_agentid":"0a37c8156d094311890e48fbc06501c4","reply_agent_name":"ming","copy_agent":[{"agent_name":"test","agent_mail":"3443355456@qq.com"}],"reply_agentid":"0a37c8156d094311890e48fbc06501c4","reply_agent_name":"ming", "extend_fields":[{"fieldid":"5ba3741d772c47d9a3066db1d3900b4e","field_value":"123"},{"fieldid":"3ceef648f3d6412abdf8fd6aac5db9f3","field_value":"539325753445693"}]}'
2
3
4
5
6
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
# ● Attachment Upload (Customer)
API description:
Customers upload one or more attachments when creating or replying to a ticket. Upload the attachment first, and then call Create Tickets (Customer) or Reply to Tickets (Customer).
Note:
- Indicate Content-Type in the request: multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/user_upload_file
Request param:
Param | Type | Required | Description |
---|---|---|---|
file | IO stream | No | File stream. Select the file to be uploaded |
file_num_key | String | No | Upload file ID, which is a value generated randomly to determine the number of uploaded files |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/user_upload_file -X POST-H 'content-type:multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' -F 'file=@/ C:/Users/Pictures/WeChat Image_201905281146jpg ' -F 'file_num_key=16dfc20e-f3de-46tf-8088-844cfde704d3'
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
file_url | String | Yes | File path |
Return example:
{
"item": {
"file_url": "https://img-sg.sobot.io/console/acb290d666814d65834c70073aed65f2/ticket/WeChat image_201905281146jpg"
},
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
# ● Attachment Upload (Agent)
API description:
Agents upload one or more attachments when creating or replying to a ticket. Upload the attachment first, and then call Create Tickets (Agent) or Reply to Tickets (Agent).
Note:
- Indicate Content-Type in the request: multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/upload_file
Request param:
Param | Type | Required | Name | Note |
---|---|---|---|---|
file | IO stream | No | File stream | Select the file to be uploaded |
file_num_key | String | No | Upload file ID | A value generated randomly to determine the number of uploaded files |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/upload_file -X POST -H 'content-type:multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' -F 'file=@/ C:/Users/Pictures/WeChat Image_201905281146jpg' -F 'file_num_key=16dfc20e-f3de-46tf-8088-844cfde704d3'
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
file_url | String | Yes | File path |
Return example:
{
"item": {
"file_url": "https://img-sg.sobot.io/console/acb290d666814d65834c70073aed65f2/ticket/WeChat image_201905281146jpg"
},
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
# ● Ticket Reminder
API description:
Perform reminder to tickets and return the operation results.
Short message notification to customer service is currently not supported for reminders through the interface.
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/reminder
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | No | Ticket ID |
ticket_code | String | No | Ticket No. |
reminder_agentid | String | Yes | Reminder agent ID |
reminder_remark | String | Yesy | Reminder note |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/reminder -X POST -H 'content-type: application/json'
-H 'token:4ac37cb2e9c740dba4b75a34d5358802'
-d '{"ticketid":"d53fb3d4b37d4164b8885ff0b3c3a1bb","ticket_code":"20240903000001",
"reminder_agentid":"7dd8695ed454436897da52576a42b29e","reminder_remark":"reminder note"}'
2
3
4
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | No | Return message |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
# ● Add Ticket Satisfaction Evaluation
API description:
Perform satisfaction evaluation to tickets and return the operation results
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/add_ticket_evaluation
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticketId | String | Yes | Ticket ID |
companyId | String | Yes | Company ID |
score | Integer | Yes | Score. 1: 1 star, 2: 2 stars, 3: 3 stars, 4: 4 stars, 5: 5 stars |
remark | String | No | Comment |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -H 'language:en' https://sg.sobot.io/api/ws/5/ticket/add_ticket_evaluation?ticketId=2831ceace38c45649840374a08d321bd&companyId=45649840374a08d321bd&score=5&remark=I am satisfied with this service
Return param:
Field | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
# ● Query Ticket List by Creation Time
API description:
Query ticket list information by ticket creation time period
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/query_tickets
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Request param:
Param | Type | Required | Description |
---|---|---|---|
create_start_datetime_ms | Long | Yes | Ticket creation start time, e.g.: 1678085323404 |
create_end_datetime_ms | Long | Yes | Ticket creation end time, e.g.: 1678085323404 (the creation time period queried cannot exceed one month) |
ticket_status | String | No | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticket_from | String | No | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
ticket_typeid | String | No | Ticket category ID |
userid | String | No | Customer ID |
user_partnerid | String | No | Customer Docking ID |
deal_agentid | String | No | Receiving agent ID |
deal_agent_groupid | String | No | Receiving agent group ID |
page_no | Integer | Yes | Current page, the first page by default |
page_size | Integer | Yes | Pieces displayed on the current page, 15 per page by default, 50 per page max |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-H 'timezoneid:Asia/Shanghai'
https://sg.sobot.io/api/ws/5/ticket/query_tickets?create_start_datetime=2018-09-18 00:00:00&create_end_datetime=2018-09-18 23:59:59
2
3
4
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | No | Return set |
page_no | Integer | Yes | Current page |
page_size | Integer | Yes | Pieces displayed on the current page |
page_count | Integer | Yes | Total pages |
total_count | Integer | Yes | Total pieces |
Items set:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
ticket_title | String | Yes | Ticket Title |
ticket_content | String | Yes | Problem description |
ticket_code | String | Yes | Ticket No. |
ticket_from | String | Yes | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
ticket_level | String | Yes | Ticket priority. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticket_status | String | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
start_type | String | Yes | Ticket creator type. 0: Agent, 1: Customer |
start_name | String | Yes | Ticket creator name |
ticket_type_name | String | Yes | Ticket category name, displayed as: Level 1/Level 2/Level 3 |
deal_agent_name | String | No | Receiving agent name |
deal_group_name | String | No | Receiving skill group name |
create_datetime | String | Yes | Ticket creation time, e.g.: 2018- 09 - 18 12 :00: 00 |
create_datetime_ms | Long | Yes | Ticket creation time, e.g.: 1678085323404 |
update_datetime | String | Yes | Ticket update time, e.g.: 2018- 09 - 18 13 :00: 00 |
update_datetime_ms | Long | Yes | Ticket update time, e.g.: 16780853234040 |
user_nick | String | Yes | Customer Nickname |
user_name | String | No | Customer name |
user_tels | String | No | Customer phone number. Multiple numbers are separated by comma "," |
user_emails | String | No | Customer emails. Multiple emails are separated by comma "," |
evaluation_datetime | String | No | Ticket evaluation time, e.g.: 2018- 09 - 18 13 :00: 00 |
evaluation_datetime_ms | Long | No | Ticket evaluation time, e.g.: 1678085323404 |
score | Integer | No | Score. 1: 1 star, 2: 2 stars, 3: 3 stars, 4: 4 stars, 5: 5 stars |
remark | String | No | Comment |
Return example:
{
"items": [
{
"create_datetime": "2018-09-18 09:10:05",
"create_datetime_ms": 16780853234040,
"deal_group_name": "",
"deal_agent_name": "",
"start_name": "admin1",
"start_type": "1",
"ticket_code": "20190912000007",
"ticket_content": "test ticket",
"ticket_from": "1",
"ticket_level": "0",
"ticket_status": "1",
"ticket_title": "test ticket",
"ticket_type_name": "Service",
"ticketid": "b6dacd72a5cf4e2999e78a18a9126c72",
"update_datetime": "2018-09-18 09:15:55",
"update_datetime_ms": 16780853234040,
"user_nick": "user1",
"evaluation_datetime": "2018-09-18 09:15:55",
"evaluation_datetime_ms": 16780853234040,
"score": 1,
"remark": "The problem was solved very quickly"
},
{
"create_datetime": "2018-09-18 08:14:05",
"create_datetime_ms": 16780853234040,
"deal_group_name": "",
"deal_agent_name": "",
"start_name": "admin1",
"start_type": "1",
"ticket_code": "20190912000006",
"ticket_content": "est ticket 2",
"ticket_from": "1",
"ticket_level": "0",
"ticket_status": "1",
"ticket_title": "test ticket 2",
"ticket_type_name": "Consulting/consulting 1/consulting 2",
"ticketid": "266a341702ef40d595915a3c19676745",
"update_datetime": "2018-09-18 08:20:05",
"user_nick": "user2"
},
{
"create_datetime": "2018-09-18 07:34:25",
"create_datetime_ms": 16780853234040,
"deal_group_name": "123",
"deal_agent_name": "ming",
"start_name": "admin1",
"start_type": "0",
"ticket_code": "20190912000003",
"ticket_content": "<p>34433434</p>",
"ticket_from": "0",
"ticket_level": "0",
"ticket_status": "0",
"ticket_title": "4343",
"ticket_type_name": "other",
"ticketid": "f294176887284c5597794c636d5a1bfe",
"update_datetime": "2018-09-18 07:54:35",
"update_datetime_ms": 16780853234040,
"user_emails": "wangxun0104@hotmail.com",
"user_name": "user3",
"user_nick": "user3",
"user_tels": "18280240680"
}
],
"page_count": 1,
"page_no": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "Success",
"total_count": 3
}
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
# ● Query Ticket List by Update Time
API description:
Query ticket list information by ticket update time period
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/query_tickets_by_update_time
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Request param:
Param | Type | Required | Description |
---|---|---|---|
update_start_datetime_ms | Long | Yes | Ticket update start time, e.g.: 1678085323404 |
update_end_datetime_ms | Long | Yes | Ticket update end time, e.g.: 1678085323404 (the creation time period queried cannot exceed one month) |
ticket_status | String | No | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticket_from | String | No | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
ticket_typeid | String | No | Ticket category ID |
userid | String | No | Customer ID |
user_partnerid | String | No | Customer Docking ID |
deal_agentid | String | No | Receiving agent ID |
deal_agent_groupid | String | No | Receiving agent group ID |
page_no | Integer | Yes | Current page, the first page by default |
page_size | Integer | Yes | Pieces displayed on the current page, 15 per page by default, 50 per page max |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-H 'timezoneid:Asia/Shanghai'
https://sg.sobot.io/api/ws/5/ticket/query_tickets_by_update_time?update_start_datetime=2018-09-18 00:00:00&update_end_datetime=2018-09-18 23:59:59
2
3
4
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | No | Return set |
page_no | Integer | Yes | Current page |
page_size | Integer | Yes | Pieces displayed on the current page |
page_count | Integer | Yes | Total pages |
total_count | Integer | Yes | Total pieces |
Items set:
Param | Type | Required | Name |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
ticket_title | String | Yes | Ticket Title |
ticket_content | String | Yes | Problem description |
ticket_code | String | Yes | Ticket No. |
ticket_from | String | Yes | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
ticket_level | String | Yes | Ticket priority. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticket_status | String | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
start_type | String | Yes | Ticket creator type. 0: Agent, 1: Customer |
start_name | String | Yes | Ticket creator name |
ticket_type_name | String | Yes | Ticket category name, displayed as: Level 1/Level 2/Level 3 |
deal_agent_name | String | No | Receiving agent name |
deal_group_name | String | No | Receiving skill group name |
create_datetime | String | Yes | Ticket creation time, e.g.: 2018- 09 - 18 12 :00: 00 |
create_datetime_ms | Long | Yes | Ticket creation time, e.g.: 1678085323404 |
update_datetime | String | Yes | Ticket update time, e.g.: 2018- 09 - 18 13 :00: 00 |
update_datetime_ms | Long | Yes | Ticket update time, e.g.: 1678085323404 |
user_nick | String | Yes | Customer Nickname |
user_name | String | No | Customer name |
user_tels | String | No | Customer phone number. Multiple numbers are separated by comma "," |
user_emails | String | No | Customer emails. Multiple emails are separated by comma "," |
evaluation_datetime | String | No | Ticket evaluation time, e.g.: 2018- 09 - 18 13 :00: 00 |
evaluation_datetime_ms | Long | No | Ticket evaluation time, e.g.: 1678085323404 |
score | Integer | No | Score. 1: 1 star, 2: 2 stars, 3: 3 stars, 4: 4 stars, 5: 5 stars |
remark | String | No | Comment |
Return example:
{
"items": [
{
"create_datetime": "2018-09-18 09:10:05",
"create_datetime_ms": 1678085323404,
"deal_group_name": "",
"deal_agent_name": "",
"start_name": "admin1",
"start_type": "1",
"ticket_code": "20190912000007",
"ticket_content": "test ticket",
"ticket_from": "1",
"ticket_level": "0",
"ticket_status": "1",
"ticket_title": "test ticket",
"ticket_type_name": "Service",
"ticketid": "b6dacd72a5cf4e2999e78a18a9126c72",
"update_datetime": "2018-09-18 09:15:55",
"update_datetime_ms": 1678085323404,
"user_nick": "user1",
"evaluation_datetime": "2018-09-18 09:15:55",
"evaluation_datetime_ms": 1678085323404,
"score": 1,
"remark": "The problem was solved very quickly"
},
{
"create_datetime": "2018-09-18 08:14:05",
"create_datetime_ms": 1678085323404,
"deal_group_name": "",
"deal_agent_name": "",
"start_name": "admin1",
"start_type": "1",
"ticket_code": "20190912000006",
"ticket_content": "est ticket 2",
"ticket_from": "1",
"ticket_level": "0",
"ticket_status": "1",
"ticket_title": "test ticket 2",
"ticket_type_name": "Consulting/consulting 1/consulting 2",
"ticketid": "266a341702ef40d595915a3c19676745",
"update_datetime": "2018-09-18 08:20:05",
"update_datetime_ms": 1678085323404,
"user_nick": "user2"
},
{
"create_datetime": "2018-09-18 07:34:25",
"create_datetime_ms": 1678085323404,
"deal_group_name": "123",
"deal_agent_name": "ming",
"start_name": "admin1",
"start_type": "0",
"ticket_code": "20190912000003",
"ticket_content": "<p>34433434</p>",
"ticket_from": "0",
"ticket_level": "0",
"ticket_status": "0",
"ticket_title": "4343",
"ticket_type_name": "other",
"ticketid": "f294176887284c5597794c636d5a1bfe",
"update_datetime": "2018-09-18 07:54:35",
"update_datetime_ms": 1678085323404,
"user_emails": "wangxun0104@hotmail.com",
"user_name": "user3",
"user_nick": "user3",
"user_tels": "18280240680"
}
],
"page_count": 1,
"page_no": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "Success",
"total_count": 3
}
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
# ● Query Ticket Detail Page
API description:
Return the details of the ticket (including ticket reply and operation history).
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/get_ticket_by_id
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-H 'timezoneid:Asia/Shanghai'
-d https://sg.sobot.io/api/ws/5/ticket/get_ticket_by_id?ticketid=ebe6a8b6bcf840418b8e58d123262945
2
3
4
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | No | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
companyid | String | Yes | Company ID |
ticketid | String | Yes | Ticket ID |
ticket_code | String | Yes | Ticket No. |
ticket_title | String | Yes | Ticket Title |
ticket_content | String | Yes | Ticket problem description |
ticket_from | String | Yes | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
ticket_level | String | Yes | Ticket priority. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticket_status | String | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticket_typeid | String | Yes | Ticket category ID |
ticket_type_name | String | Yes | Ticket category name |
start_type | String | Yes | Ticket creator type. 0: Agent, 1: Customer |
start_name | String | Yes | Ticket creator name |
deal_groupid | String | No | Ticket receiving skill group ID |
deal_group_name | String | No | Ticket receiving skill group name |
deal_agentid | String | No | Ticket receiving agent ID |
deal_agent_name | String | No | Ticket receiving agent name |
recordid | String | No | Associated record ID, the chat or call ID (chat ID when ticket source is desktop site-livechat workbench, call ID when ticket source is Call Center) |
userid | String | Yes | Ticket associated customer ID |
user_nick | String | Yes | Customer Nickname |
user_name | String | No | Customer name |
user_tels | String | No | Customer phone number. Multiple numbers are separated by comma "," |
user_emails | String | No | Customer emails. Multiple emails are separated by comma "," |
update_agent_name | String | Yes | Ticket operator name |
create_datetime | String | Yes | Ticket creation time, e.g.: 2018- 09 - 18 10 :14: 05 |
create_datetime_ms | Long | Yes | Ticket creation time, e.g.: 1678085323404 |
update_datetime | String | Yes | Ticket update time, e.g.: 2018- 09 - 18 10 :34: 45 |
update_datetime_ms | Long | Yes | Ticket update time, e.g.: 1678085323404 |
file_list | List | No | Attachment |
extend_fields_list | List | No | Ticket custom field |
deal_list | List | No | All ticket replies |
update_log_list | List | Yes | Ticket operation records |
evaluation_datetime | String | No | Ticket evaluation time, e.g.: 2018- 09 - 18 13 :00: 00 |
evaluation_datetime_ms | Long | No | Ticket evaluation time, e.g.: 1678085323404 |
score | Integer | No | Score. 1: 1 star, 2: 2 stars, 3: 3 stars, 4: 4 stars, 5: 5 stars |
remark | String | No | Comment |
params_extends_list | List | No | Docking field |
create_group_names | String | No | Creation agent group name. Multiple names are separated by comma "," |
closed_datetime | String | No | Ticket close time, e.g.: 2022- 08 - 10 10 :14: 05 |
closed_datetime_ms | Long | No | Ticket close time, e.g.: 1678085323404 |
first_accept_datetime | String | No | Ticket 1st response time, e.g.: 2022-08-10 10:14:05 |
first_accept_datetime_ms | Long | No | Ticket 1st response time, e.g.: 1678085323404 |
first_complete_datetime | String | No | Ticket FCR time, e.g.: 2022-08-10 10:14:05 |
first_complete_datetime_ms | Long | No | Ticket FCR time, e.g.: 1678085323404 |
concern_serviceid | String | No | Ticket follower ID. Multiple IDs are separated by comma "," |
concern_service_name | String | No | Ticket follower name. Multiple names are separated by comma "," |
extend_fields_list set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_name | String | Yes | Custom field name |
field_type | String | Yes | Custom field type. 1: Single-line text, 2: Multi-line text, 3: Date, 4: Time, 5: Number, 6: Drop-down list, 7: Check box, 8: Radio button 9: Cascade 12: Date+Time |
field_text | String | No | Optional field option text value |
field_value | String | Yes | Custom field value |
field_sortno | Integer | Yes | Sort field. The smaller the value is, the higher the ranking will be |
params_extends_list set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Docking field ID |
field_name | String | Yes | Docking field name |
field_value | String | Yes | Docking field value |
deal_list set:
Param | Type | Required | Description |
---|---|---|---|
replyid | String | Yes | Reply ID |
reply_title | String | Yes | Reply title |
reply_content | String | No | Reply content (The reply content of the Call Reply way is the call ID) |
reply_type | String | Yes | Reply type. 0: Visible to all, 1: Visible to agents only |
reply_datetime | String | Yes | Reply time, e.g.: 2018- 09 - 18 10 :34: 45 |
reply_datetime_ms | Long | Yes | Reply time, e.g.: 1678085323404 |
start_type | String | Yes | Respondent type. 0: Agent, 1: Customer, 2:Flow trigger, 3: Ticket bot, 6: Automations |
update_user_name | String | Yes | Respondent name |
face_img | String | Yes | Respondent avatar |
file_list | List | No | Reply attachment |
reply_type_new | Integer | No | Reply way, 1: Ticket Repaly, 2: Email Reply, 3: Internal Note, 4: Email Notify, 5: SMS Notify, 6: Call Reply, 7: Amazon Reply |
update_log_list set:
Param | Type | Required | Description |
---|---|---|---|
update_title | String | Yes | Operation record title |
update_contents | String | No | Operation record content JSON format |
log_from | String | Yes | Operation record source. 1: Page operation, 2: Flow trigger, 3: Automations 4: Ticket bot rule 5: Ticket bot 6: System operation |
update_datetime | String | Yes | Operation record time, e.g.: 2018- 09 - 18 10 :34: 45 |
update_datetime_ms | Long | Yes | Operation record time, e.g.: 1678085323404 |
start_type | String | Yes | Operator type. 0: Agent, 1: Customer, 2: Flow trigger, 3: Ticket bot, 4: Ticket bot rule, 5: System operation, 6: Automations |
update_agent_name | String | Yes | Operator name |
face_img | String | Yes | Operator avatar |
file_list set:
Param | Type | Required | Description |
---|---|---|---|
file_name | String | Yes | Attachment name |
file_url | String | Yes | Attachment path |
file_type | String | Yes | Attachment type |
Return example:
{
"item": {
"companyid": "acb290d666814d65834c70073aed65f2",
"create_datetime": "2018-09-18 10:14:05",
"create_datetime_ms": 1678085323404,
"deal_groupid": "",
"deal_group_name": "",
"deal_list": [
{
"face_img": "https://img-sg.sobot.io/console/acb290d666814d65834c70073aed65f2/userImage/2018011516173PNG ",
"file_list": [
{
"file_name": "201905281146jpg",
"file_type": "jpg",
"file_url": "https://img-sg.sobot.io/console/acb290d666814d65834c70073aed65f2/ticket/WeChat image_20190528114613_15686145601jpg"
}
],
"reply_content": "<p>343</p>",
"reply_datetime": "2018-09-18 10:34:45",
"reply_datetime_ms": 1678085323404,
"reply_title": "Reply to customers in Beijing ",
"reply_type": "0",
"start_type": "0",
"update_user_name": "admin2",
"replyid": "c11897076adc4dd98f7a64f026fc2632"
}
],
"deal_agent_name": "admin2",
"extend_fields_list": [
{
"field_name": "Dropdown list",
"fieldid": "3ceef648f3d6412abdf8fd6aac5db9f3",
"field_type": "6",
"field_text": "999",
"field_value": "540264609760473"
},
{
"field_name": "time",
"fieldid": "4e1e6b21b433461d9bac2cee6d3297d1",
"field_type": "4",
"field_text": "",
"field_value": "00:00"
},
{
"field_name": "test234",
"fieldid": "d1dc7e1e13794cf1a936d74b76c4ecc0",
"field_type": "1",
"field_text": "",
"field_value": "455445"
}
],
"file_list": [],
"start_name": "Beijing customers",
"start_type": "1",
"ticket_code": "1534758910",
"ticket_content": "<p>test</p>",
"ticket_from": "1",
"ticket_level": "0",
"ticket_status": "2",
"ticket_title": "Customer message",
"ticket_typeid": "c6aef17dca6b4ee5b9dc4206d8162abt",
"ticket_type_name": "Consulting/consulting 1/consulting 2",
"ticketid": "d6aef19dca6b4ee5b9dc4206d8162105",
"update_log_list": [
{
"face_img": "https://img-sg.sobot.io/console/acb290d666814d65834c70073aed65f2/userImage/2018011516173PNG ",
"log_from": "1",
"start_type": "0",
"update_contents": "{\"reply\":\"343\",\"reply file\":\"201905281146jpg\"}",
"update_agent_name": "admin2",
"update_datetime": "2018-09-18 10:34:45",
"update_datetime_ms": 1678085623404,
"update_title": "Ticket update"
},
{
"face_img": "https://img-sg.sobot.io/console/common/face/user.png",
"log_from": "1",
"start_type": "1",
"update_contents": "{\"Ticket Category\":\"Consulting/consulting 1/consulting 2\",\"Ticket Title\":\"Customer message\",\"Problem description\":\"test\",\"Custom Fields\":\"{\"Dropdown list\":\"1\",\"test1\":\"2\"}\",\"Priority\":\"Low\",\"Tickets Status\":\"Not Received\"}",
"update_datetime": "2018-09-18 10:14:05",
"update_datetime_ms": 1678085323404,
"update_title": "Ticket create"
}
],
"update_datetime": "2018-09-18 10:34:45",
"update_datetime_ms": 1678085323404,
"user_nick": "Beijing customers",
"userid": "fdd41fb55c4f41e4afa4906064deced3",
"evaluation_datetime": "2018-09-18 09:15:55",
"evaluation_datetime_ms": 1678085323404,
"score": 1,
"remark": "The problem was solved very quickly"
},
"ret_code": "000000",
"ret_msg": "Success"
}
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
# ● Query Ticket Statistics Overview
API description:
Get the corresponding number of tickets in a certain time period.
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/get_ticket_data
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Request param:
Param | Type | Required | Description |
---|---|---|---|
start_datetime_ms | Long | Yes | Start Time, e.g.:1678085323404 |
end_datetime_ms | Long | Yes | End Time, e.g.: 1678085323404 |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-H 'timezoneid:Asia/Shanghai'
https://sg.sobot.io/api/ws/5/ticket/get_ticket_data?start_datetime=2019-09-18 00:00:00&end_datetime=2019-09-18 23:59:59
2
3
4
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
item | Object | Yes | Return object |
Item object:
Param | Type | Required | Description |
---|---|---|---|
unassigned_ticket_num | String | Yes | Number of unassigned tickets |
unsolved_ticket_num | String | Yes | Number of unresolved tickets |
Return example:
{
"item": {
"unassigned_ticket_num": "2",
"unsolved_ticket_num": "3"
},
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
8
# ● Query Ticket Agent Workload
API description:
Get the agent workload in a certain time period.
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/query_agent_jobs
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Request param:
Param | Type | Required | Description |
---|---|---|---|
start_datetime_ms | Long | Yes | Start Time, e.g.: 1678085323404 |
end_datetime_ms | Long | Yes | End Time, e.g.: 1678085323404 |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-H 'timezoneid:Asia/Shanghai'
https://sg.sobot.io/api/ws/5/ticket/query_agent_jobs?start_datetime=2019-09-18 00:00:00&end_datetime=2019-09-18 23:59:59
2
3
4
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | Yes | Return set |
Items set:
Param | Type | Required | Description |
---|---|---|---|
agentid | String | Yes | Agent ID |
agent_name | String | Yes | Agent name |
deal_ticket_num | String | Yes | Number of processed tickets |
ticket_end_rate | String | Yes | Ticket close rate |
Return example:
{
"items": [
{
"deal_ticket_num": "1",
"agent_name": "admin2",
"agentid": "efcfda336b5d4caeb4fd71392c54b5c9",
"ticket_end_rate": "0"
},
{
"deal_ticket_num": 0,
"agent_name": "ming",
"agentid": "0a37c8156d094311890e48fbc06501c4",
"ticket_end_rate": "0"
}
],
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● Query Data of Ticket Message Push Exception
API description:
Return the data of ticket message push failure
Request method:
GET
Request URL:
https://sg.sobot.io/api/ws/5/ticket/query_ticket_push_fail_infos
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Request param:
Param | Type | Required | Description |
---|---|---|---|
start_datetime_ms | Long | Yes | Start Time, e.g.: 1678085323404 |
end_datetime_ms | Long | Yes | End Time, e.g.: 1678085323404 |
page_no | Integer | Yes | Current page, the first page by default |
page_size | Integer | Yes | Pieces displayed on the current page, 15 per page by default, 50 per page max |
Request example:
curl -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-H 'timezoneid:Asia/Shanghai'
https://sg.sobot.io/api/ws/5/ticket/query_ticket_push_fail_infos?start_datetime=2020-04-08 00:00:00&end_datetime=2020-04-08 23:59:59
2
3
4
request headers:
Param | Type | Required | Description |
---|---|---|---|
timezoneid | String | No | Timezone identifiers, e.g: Asia/Shanghai, America/Caracas,Default value Asia/Shanghai |
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
items | List | Yes | Return set |
page_no | Integer | Yes | Current page |
page_size | Integer | Yes | Pieces displayed on the current page |
page_count | Integer | Yes | Total pages |
total_count | Integer | Yes | Total pieces |
Items set:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
companyid | String | Yes | Company ID |
ticket_title | String | Yes | Ticket Title |
ticket_content | String | Yes | Problem description |
ticket_code | String | Yes | Ticket No. |
ticket_from | String | Yes | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
ticket_level | String | Yes | Ticket priority. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticket_status | String | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticket_type_name | String | Yes | Ticket category name, displayed as: Level 1/Level 2/Level 3 |
deal_agentid | String | No | Receiving agent ID |
deal_agent_name | String | No | Receiving agent name |
deal_groupid | String | No | Receiving skill group ID |
deal_group_name | String | No | Receiving skill group name |
reply_content | String | No | Ticket reply content |
update_datetime | String | Yes | Ticket update time, e.g.: 2020- 04 - 08 13 :00: 00 |
update_datetime_ms | Long | Yes | Ticket update time, e.g.: 1678085323404 |
update_agent_name | String | Yes | Operation agent name |
userid | String | Yes | Ticket associated customer ID |
user_nick | String | Yes | Customer Nickname |
user_name | String | No | Customer name |
user_tels | String | No | Customer phone number. Multiple numbers are separated by comma "," |
user_emails | String | No | Customer email. Multiple emails are separated by comma "," |
recordid | String | No | Ticket associated record ID, the call record ID when the ticket source is Call Center or chat record ID when the ticket source is Desktop site-Livechat Workbench |
file_str | String | No | Attachment path |
voice_url | String | No | Recording file |
hope_accept_time | String | No | 1st response time specified by SLA, e.g.: 2020-04-08 13:00:00 |
hope_accept_time_ms | Long | No | 1st response time specified by SLA, e.g.: 1678085323404 |
hope_complete_time | String | No | FCR time specified by SLA, e.g.: 2020-04-08 13:00:00 |
hope_complete_time_ms | Long | No | FCR time specified by SLA, e.g.: 1678085323404 |
is_reminder | String | Yes | Reminder info tag, indicating whether it is a reminder. 0: No, 1: Yes |
reminder_agentid | String | No | Reminder agent ID |
reminder_agent_name | String | No | Reminder agent name |
reminder_remark | String | No | Reminder note |
reminder_time | String | No | Reminder time, a specific time, e.g.: 2020- 04 - 20 12 :35: 30 |
reminder_time_ms | Long | No | Reminder time, a specific time, e.g.: 1678085323404 |
partnerid | String | No | Associated customer docking ID |
extend_fields_list | List | No | Ticket custom field |
extend_fields_list set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_name | String | Yes | Custom field name |
field_type | String | Yes | Custom field type. 1: Single-line text, 2: Multi-line text, 3: Date, 4: Time, 5: Number, 6: Drop-down list, 7: Check box, 8: Radio button 9: Cascade 12: Date+Time |
field_text | String | No | Optional field option text value |
field_value | String | Yes | Custom field value |
Return example:
{
"items": [
{
"companyid": "40d8940f1e854642b41f7c21f790b8e3",
"deal_agent_name": "",
"deal_agentid": "",
"deal_group_name": "",
"deal_groupid": "",
"extend_fields_list": [],
"file_str": "",
"hope_accept_time": "",
"hope_complete_time": "",
"partnerid": "test_lily",
"recordid": "",
"ticket_code": "20200326000002",
"ticket_content": "<p>lily</p>",
"ticket_from": "0",
"ticket_level": "0",
"ticket_status": "0",
"ticket_title": "Service ticket",
"ticketid": "4c38229b83bd4101a09612b9ac26baf7",
"update_agent_name": "admin2",
"user_name": "VIP",
"userid": "11a1e8a4a8e9480a8f409dc2a130431f",
"is_reminder": "0",
"voice_url": ""
},
{
"companyid": "40d8940f1e854642b41f7c21f790b8e3",
"deal_agent_name": "admin2",
"deal_agentid": "587d3293ff794d7785a33d9a0695ea32",
"deal_group_name": "",
"deal_groupid": "",
"extend_fields_list": [
{
"field_name": "RIO",
"field_text": "77",
"field_type": "6",
"field_value": "121",
"fieldid": "6cb4450292d34720877f6083514ca6fb"
},
{
"field_name": "time",
"field_type": "4",
"field_value": "09:00",
"fieldid": "22696682739c4fd7a68094eeed34a8a9"
}
],
"file_str": "",
"hope_accept_time": "",
"hope_complete_time": "",
"partnerid": "sdk284",
"recordid": "",
"ticket_code": "20200326000001",
"ticket_content": "",
"ticket_from": "4",
"ticket_level": "0",
"ticket_status": "1",
"ticket_title": "test ticket",
"ticketid": "2831ceace38c45649840374a08d321bd",
"update_agent_name": "admin2",
"userid": "9a4da303f00b4f5295459070edb6b34a",
"voice_url": ""
},
{
"ticketid": "23ddfbcd7de8472c93e4385d6195dfd5",
"companyid": "40d8940f1e854642b41f7c21f790b8e3",
"ticket_code": "202004200000001",
"is_reminder": "1",
"reminder_agentid": "587d3293ff794d7785a33d9a0695ea32",
"reminder_agent_name": "admin2",
"reminder_remark": "Reminder",
"reminder_time": "2020-04-20 12:35:30",
"reminder_time_ms": 1678085323404,
"update_datetime": "2020-04-20 12:35:30",
"update_datetime_ms": 1678085323404
}
],
"page_count": 1,
"page_no": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "Success",
"total_count": 2
}
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
# ● Offline Data File Download API
API description:
Support acquiring the original data of the ticket business module by calling this API, which can be used for enterprises to archive or analyze data.
Note:
To use this API to download offline data, you should notify Sobot to arrange data sorting in advance; otherwise, you're unable to download data.
Request method:
POST
Request URL:
https://sg.sobot.io/api/wb/5/data/export_data
Request param:
Param | Type | Required | Description |
---|---|---|---|
task_type | String | Yes | Task type. The data here used to get the ticket module should be passed in with a fixed value: 6 |
date | String | Yes | Date (yyyy-MM-dd) |
Request example:
curl https://sg.sobot.io/api/wb/5/data/export_data
-X POST
-H 'content-type: application/json'
-H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-d '{
"task_type": "6",
"date": "2019-11-05",
}'
2
3
4
5
6
7
8
9
Return param:
Field | Data Type | Required | Description |
---|---|---|---|
updateTime | Long | Yes | Ticket update time (s) |
startType | Integer | Yes | Ticket creator type. 0: Agent, 1: Customer |
startName | String | Yes | Ticket creator name |
companyId | String | Yes | Company ID of the ticket |
ticketId | String | Yes | Ticket ID |
ticketCode | String | Yes | Ticket No. |
ticketTitle | String | Yes | Ticket Title |
ticketContent | String | Yes | Problem description |
ticketStatus | Integer | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticketLevel | Integer | Yes | Ticket level. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticketFrom | Integer | Yes | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
createTime | Long | Yes | Ticket creation time (s) |
dealGroupId | String | No | Receiving agent group ID |
dealGroupName | String | No | Receiving agent group name |
dealUserId | String | No | Receiving agent ID |
dealUserName | String | No | Receiving agent name |
hopeAcceptTime | String | No | 1st response time specified by SLA, e.g.: 2019-11-11 13:01:30 |
hopeCompleteTime | String | No | FCR time specified by SLA, e.g.: 2019-11-11 13:05:00 |
customerId | String | Yes | Associated customer ID |
nick | String | Yes | Associated customer nickname |
uname | String | No | Associated customer's real name |
tel | String | No | Associated customer's phone number. Multiple numbers are separated by semicolon |
String | No | Associated customer email. Multiple emails are separated by semicolon | |
ticketTypeName | String | Yes | Ticket Categories |
recordId | String | No | Record ID |
copyUser | String | No | CC agent ID |
resultList | List | No | Ticket custom field |
dealList | List | No | All ticket replies |
fileStr | String | No | All attachment paths, separated by comma |
updateLogList | List | No | Ticket operation records |
resultList ticket custom field:
Field | Data Type | Required | Description |
---|---|---|---|
fieldId | String | Yes | Custom field ID |
fieldType | Integer | Yes | Custom field type. 1: Single-line text, 2: Multi-line text, 3: Date, 4: Time, 5: Number, 6: Drop-down list, 7: Check box, 8: Radio button 9: Cascade 12: Date+Time |
fieldVariable | String | Yes | Param name of custom field |
title | String | Yes | Custom field name |
value | String | Yes | Custom field value |
text | String | Yes | Optional field option text value |
dealList all ticket replies:
Field | Data Type | Required | Description |
---|---|---|---|
replyTitle | String | Yes | Reply title |
replyContent | String | Yes | Reply content |
replyType | String | Yes | Reply type. 0: Visible to all, 1: Visible to agents only |
replyTime | Long | Yes | Reply time (s) |
startType | Integer | Yes | Respondent type. 0: Agent, 1: Customer |
updateUserName | String | Yes | Respondent name |
updateUserId | String | Yes | Respondent ID |
fileList | List | No | Reply attachment list |
fileList reply attachment list:
Field | Data Type | Required | Description |
---|---|---|---|
fileName | String | Yes | Attachment name |
fileUrl | String | Yes | Attachment path |
fileType | String | Yes | Attachment type |
updateLogList ticket operation records:
Field | Data Type | Required | Description |
---|---|---|---|
updateTitle | String | Yes | Operation record title |
updateContent | String | Yes | Operation record content |
updateTime | Long | Yes | Operation record time (s) |
startType | Integer | Yes | Operator type. 0: Agent, 1: Customer |
updateServiceName | String | Yes | Operator name |
Return example:
{
"ticketTitle": "test ticket",
"dealUserId": "27a3f720bdd8446ea243017f1d2b626f",
"ticketLevel": 0,
"dealUserName": "admin2",
"startType": 0,
"updateLogList": [
{
"startType": 0,
"updateTime": 1591847016,
"updateServiceName": "admin2",
"updateContent": "{\"Ticket Category\":\"1\",\"Ticket Title\":\"test ticket\",\"Problem Description\":\"test\",\"Attachment of problem description\":\"abc.jpg\",\"Custom Fields\":\"callid:eexdrevssfg;company id:abdcreerrt;\",\"Priority\":\"Low\",\"Tickets Status\":\"Not Received\"}",
"updateTitle": "Ticket create"
},
{
"startType": 0,
"updateTime": 1591847020,
"updateServiceName": "admin2",
"updateContent": "{\"Receiving Agent\":\"admin2\"}",
"updateTitle": "Ticket update"
},
{
"startType": 0,
"updateTime": 1591847020,
"updateServiceName": "admin2",
"updateContent": "{\"Receiving Agent\":\"admin2\"}",
"updateTitle": "Ticket update"
},
{
"startType": 0,
"updateTime": 1591850735,
"updateServiceName": "admin2",
"updateContent": "{\"Tickets Status\":\"Closed\"}",
"updateTitle": "Ticket update"
}
],
"updateTime": 1591850735,
"dealGroupName": "",
"dealList": [
{
"replyTime": 1591847016,
"replyType": "0",
"updateUserId": "27a3f720bdd8446ea243017f1d2b626f",
"updateUserName": "admin2",
"startType": 0,
"replyContent": "<p>test</p>",
"fileList": [
{
"fileName": "15918469714.jpg",
"fileUrl": "https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918469714.jpg",
"fileType": "jpg"
}
]
},
{
"replyTime": 1591850735,
"replyType": "1",
"updateUserId": "27a3f720bdd8446ea243017f1d2b626f",
"updateUserName": "admin2",
"startType": 0,
"replyTitle": "reply admin2 zhangjc@sobot.io",
"fileList": []
},
{
"replyTime": 1591847352,
"replyType": "1",
"updateUserId": "27a3f720bdd8446ea243017f1d2b626f",
"updateUserName": "admin2",
"startType": 0,
"replyTitle": "reply admin2 zhangjc@sobot.io",
"fileList": [
{
"fileName": "15918473508.jpg",
"fileUrl": "https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918473508.jpg",
"fileType": "jpg"
},
{
"fileName": "15918473472.jpg",
"fileUrl": "https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918473472.jpg",
"fileType": "jpg"
}
]
}
],
"nick": "user2",
"companyId": "651b00ce4b5a43969b63ac934e4f0ba2",
"ticketFrom": 0,
"createTime": 1591847016,
"ticketStatus": 99,
"customerId": "570f8e431f9843239ed083f748015412",
"ticketContent": "<p>test2</p>",
"dealGroupId": "",
"fileStr": ";https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918469714.jpg;https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918469714.jpg;https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918473508.jpg;https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918469714.jpg;https://img-sg.sobot.io/console/651b00ce4b5a43969b63ac934e4f0ba2/ticket/15918473472.jpg",
"ticketCode": 20200611000021,
"resultList": [
{
"fieldId": "271c5b23bd914d81950e68755b7c43b4",
"fieldType": 1,
"fieldVariable": "customField15",
"title": "company id",
"value": "abdcreerrt"
},
{
"fieldId": "63f0aab22a2b4760a2d9d4a58f2ff938",
"fieldType": 1,
"fieldVariable": "customField20",
"title": "callid",
"value": "eexdrevssfg"
},
{
"fieldId": "f8b00f7f1df948b7b4233ac23bd419bd",
"fieldType": 6,
"fieldVariable": "customField97",
"text": "app",
"title": "Problem type",
"value": "587347957556856 "
},
{
"fieldId": "01c370c4eac64be7a7b784208e9d15ae",
"fieldType": 10,
"fieldVariable": "customField120 ",
"title": "333",
"value": "[[{\"id\":\"9521446615114883a8a091f41a6b576d\",\"text\":\"\",\"value\":\"\"}]]"
}
],
"ticketId": "c3f25978eb5d4d4e95f02f1db570a1b7",
"startName": "admin2"
}
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
# ● Ticket Reply Info Deletion
API description:
Delete the reply information of the ticket.
Request method:
POST
Request URL:
https://sg.sobot.io/api/ws/5/ticket/del_reply_infos
Request param:
Param | Type | Required | Description |
---|---|---|---|
ticketid | String | Yes | Ticket ID |
replyid | String | Yes | Ticket reply ID, the reply record ID corresponding to the deleted ticket reply information |
agentid | String | No | Operation agent ID |
Request example:
curl https://sg.sobot.io/api/ws/5/ticket/del_reply_infos -X POST -H 'content-type: application/json'
-H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-H 'language:en'
-d '{
"ticketid":"e1ccfd1725074f868d9e14dde5853d3d",
"agentid":"0a37c8156d094311890e48fbc06501c4",
"replyid":"c11897076adc4dd98f7a64f026fc2632"
}'
2
3
4
5
6
7
8
Return param:
Param | Type | Required | Description |
---|---|---|---|
ret_code | String | Yes | Return code |
ret_msg | String | Yes | Return message |
Return example:
{
"ret_code": "000000",
"ret_msg": "Success"
}
2
3
4
# Ticket Message Forwarding
# ● Ticket Information
API description:
Push the ticket information
Return content:
Param | Type | Required | Description |
---|---|---|---|
sys_code | String | Yes | Product code, 4 |
type | String | Yes | Message type, ticket |
content | List | Yes | Message Content |
content set:
Param | Type | Required | Description |
---|---|---|---|
companyid | String | Yes | Company ID, available for separate statistics on a company with multiple super admin accounts or multiple branches |
ticketid | String | Yes | Ticket ID |
ticket_code | String | Yes | Ticket No. |
ticket_title | String | Yes | Ticket title, with a max length of 100 |
ticket_content | String | Yes | Problem description, with a max length of 5000 |
ticket_type_name | String | Yes | Ticket category name. Categories with multiple levels are separated by / |
ticket_status | Integer | Yes | Ticket status. 0: Not received, 1: Processing, 2: Waiting for reply, 3: Resolved, 99: Closed, 98: Deleted, including custom ticket status. |
ticket_level | Integer | Yes | Ticket level. 0: Low, 1: Medium, 2: High, 3: Urgent |
ticket_from | Integer | Yes | Ticket source. 0: Ticket Center, 1: Desktop site submission, 2: Mobile site submission, 3: WeChat official account submission, 4: App submission, 6: Desktop site-Livechat Workbench, 7: CRM, 8: Call Center, 9: WeChat official account-Livechat workbench, 10: Mobile site-Livechat workbench, 11: App-Livechat workbench, 12: Email submission, 13: Voice MSG, 14: WeChat mini program-Livechat workbench, 15: WeCom-Livechat workbench, 16: WeChat mini-program submission, 17: WeCom submission, 18: Import in Bulk, 19: WeChat Agent, 20: WeCom - SCRM, 21: Bot Submission, 22: Facebook - Livechat Workbench, 23: Facebook - Ticket Submission, 24: WhatsApp - Livechat Workbench, 25: WhatsApp - Ticket Submission, 26: Instagram - Livechat Workbench, 27: Instagram - Ticket Submission, 28: Line - Livechat Workbench, 29: Line - Ticket Submission, 30: Discord - Livechat Workbench, 31: Discord - Ticket Submission, 32: Telegram - Livechat Workbench, 33: Telegram - Ticket Submission, 34: Shopify |
file_str | String | No | Attachment path. Multiple attachments are separated by semicolon |
deal_groupid | String | No | Receiving agent group ID |
deal_group_name | String | No | Receiving agent group name |
deal_agentid | String | No | Receiving agent ID |
deal_agent_name | String | No | Receiving agent name |
copy_agent | String | No | CC Agent |
hope_accept_time | String | No | 1st response time specified by SLA, a specific time, e.g.: 2019-11-11 13:01:30 |
hope_complete_time | String | No | FCR time specified by SLA, a specific time, e.g.: 2019-11-11 13:05:00 |
userid | String | Yes | Associated customer ID |
user_nick | String | Yes | Associated customer nickname |
user_name | String | No | Associated customer's real name |
user_tels | String | No | Associated customer's phone number. Multiple numbers are separated by semicolon |
user_emails | String | No | Associated customer email. Multiple emails are separated by semicolon |
partnerid | String | No | Associated customer's docking ID |
enterpriseid | String | No | Associated customer's enterprise ID |
enterprise_name | String | No | Associated customer's enterprise name |
recordid | String | No | Record ID, the call record ID when the ticket source is Call Center or chat record ID when the ticket source is Desktop site-Livechat Workbench |
update_name | String | Yes | Operator name, the name of the operator currently editing or replying to a ticket |
update_time | String | Yes | Update time, a specific time of saving the editing ticket or submitting the replied ticket, e.g.: 2019-11-11 12:00:30 |
reply_content | String | No | Ticket reply name |
is_receipt | String | No | Receipt info tag, indicating whether it is a receipt. 0: No, 1: Yes |
is_reminder | String | Yes | Reminder info tag, indicating whether it is a reminder. 0: No, 1: Yes |
reminder_agentid | String | No | Reminder agent ID |
reminder_agent_name | String | No | Reminder agent name |
reminder_remark | String | No | Reminder note |
reminder_time | String | No | Reminder time, a specific time, e.g.: 2020- 04 - 20 12 :35: 30 |
extend_fields_list | List | No | Ticket custom field set |
partner_fields_list | List | No | Ticket docking field set |
reply_type | String | No | Ticket reply type. 0: Visible to all, 1: Visible to agents only |
start_type | String | No | Ticket creator type. 0: Agent, 1: Customer |
create_groupids | String | No | Creation agent group ID. Multiple IDs are separated by comma "," |
closed_time | String | No | Ticket close time, e.g.: 2022- 08 - 10 10 :14: 05 |
first_accept_time | String | No | Ticket 1st response time, e.g.: 2022-08-10 10:14:05 |
first_complete_time | String | No | Ticket FCR time, e.g.: 2022-08-10 10:14:05 |
concern_serviceid | String | No | Ticket follower ID. Multiple IDs are separated by comma "," |
first_contact_type | Int | No | Preferred contact info types 1: Email 2: Phone no. |
first_contact_info | String | No | Preferred contact info value |
relation_ticket_codes | String | No | relationTicketCodes. Multiple IDs are separated by comma "," |
start_userid | String | No | Initiator of work order |
extend_fields_list set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Custom field ID |
field_type | String | Yes | Custom field type. 1: Single-line text, 2: Multi-line text, 3: Date, 4: Time, 5: Number, 6: Drop-down list, 7: Check box, 8: Radio button 9:Cascade 11: REGION 12: Date+Time |
field_name | String | Yes | Custom field name |
field_value | String | Yes | Custom field value |
field_text | String | Yes | Optional field option text value |
partner_fields_list set:
Param | Type | Required | Description |
---|---|---|---|
fieldid | String | Yes | Field ID |
field_name | String | Yes | Field name |
fidle_value | String | Yes | Field value |
Return example:
Non-reminder info:
{
"sys_code": "4",
"type": "ticket",
"content": [
{
"companyid": "5cc2c708202d4defaf72d4bcac362a55",
"ticketid": "56b7954e8ff1428ea39cd5a8136de9e1",
"ticket_code": "20191111000001",
"ticket_title": "test ticket",
"ticket_content": "test ticket",
"ticket_type_name": "consulting",
"ticket_status": "0",
"ticket_level": "0",
"ticket_from": "0",
"file_str": "",
"deal_groupid": "5436dc5288b645188aedc2a21f66a4ba",
"deal_group_name": "group2",
"deal_agentid": "0a37c8156d094311890e48fbc06501c4",
"deal_agent_name": "ming",
"copy_agent": "",
"hope_accept_time": "2019-11-11 13:01:30",
"hope_complete_time": "2019-11-11 13:05:00",
"userid": "3dff300e008f4c4a8c399751ddb7b8cc",
"user_nick": "user2",
"partnerid": "",
"enterpriseid": "",
"enterprise_name": "",
"recordid": "",
"reply_content": "reply",
"update_name": "admin2",
"update_time": "2019-11-11 12:00:30",
"is_reminder": "0",
"reply_type": "0",
"start_type": "0",
"extend_fields_list": [
{
"fieldid": "1",
"field_type": 1,
"field_text": "",
"field_name": "WeChat",
"field_value": "21332112"
},
{
"fieldid": "4",
"field_type": 6,
"field_text": "",
"field_name": "Dropdown list",
"field_value": "500862697708553"
}
],
"partner_fields_list": [
{
"fieldid": "a974d9ac9cbc43388f80e6e8c968ddc9",
"field_value ": "https://sg.sobot.io",
"field_name": "link"
},
{
"fieldid": "1b17bbfa1e48447ebfce11a66ff5d802",
"field_name": "remark",
"field_value": "1500"
}
]
}
]
}
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
Reminder info:
{
"sys_code": "4",
"type": "ticket",
"content": [
{
"companyid": "5cc2c708202d4defaf72d4bcac362a55",
"ticketid": "56b7954e8ff1428ea39cd5a8136de9e1",
"ticket_code": "20191111000001",
"is_reminder": "1",
"reminder_remark": "reminder",
"reminder_agentid": "0a37c8156d094311890e48fbc06501c4",
"reminder_agent_name": "admin2",
"reminder_time": "2020-04-20 12:00:30",
"update_time": "2020-04-20 12:00:30 "
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Request response example:
Dock by this response example to perform message confirmation, so that both sides can easily compare the statistical data
{
"data": {
"receiveTime": "20191209115658 "
},
"retCode": "000000",
"retMsg": "Success"
}
2
3
4
5
6
7
# API return code
# ● Operation Done
Return code | Code description |
---|---|
000000 | Operation done (Any code other than this code is an error code) |
# ● System Exception
Return code | Code description |
---|---|
900001 | Blank token |
900002 | Token expired. Get a new one |
900003 | signature error |
900004 | Company api configuration info not found |
999999 | Unknown System Exception |
# ● Business Exception
Return code | Code description |
---|---|
400001 | Creation time cannot be blank |
400002 | Creation end time cannot be earlier than start time |
400003 | The creation time period queried cannot exceed one month |
400004 | Request param cannot be null |
400005 | Wrong time format |
400006 | Operation agent ID cannot be blank |
400007 | Incorrect operation agent ID |
400008 | Ticket category ID cannot be blank |
400009 | Ticket status cannot be blank |
400010 | Ticket source cannot be blank |
400011 | Ticket level cannot be blank |
400012 | Skill group ID cannot be blank |
400013 | Receiving agent group does not match receiving agent |
400014 | Request Failed |
400015 | Start time cannot be blank |
400016 | Access to ticket info expired, please refresh |
400017 | Update time cannot be blank |
400018 | Update end time cannot be earlier than start time |
400019 | Update time period queried about cannot exceed 1 month |
400020 | Ticket info not found |
400021 | Ticket reply info not found |
400057 | End time cannot be earlier than start time |
400308 | Name exists. Enter again |
400309 | Name should not be blank |
400310 | The name cannot be repeated with the default name |
400311 | Ticket status not found |
400312 | Support up to 30 ticket statuses |
400314 | The ticket status is incorrect |