Data Service API
# Data Service API
# Talk Management
# ● Query Main Talk List
API URL :https://sg.sobot.io/callservice/tm/tm-reports/maincdrs/_search
Request method: POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
startTime | long | Yes | Start time (ms) |
endTime | long | Yes | End time (ms) |
pageNum | int | Yes | Page number starting from 1 |
pageSize | int | Yes | Record entries on each page |
callID | String | No | Main callID of talk records |
hideNumber | int | No | Customer number masking. 0: Not set, plaintext by default; 1: Masking; 2: Plaintext |
operator | String | No | Request operator; use agent work no. when agentType is 0 and agent id when agentType is 1 |
agent | String | No | Involved agent; use agent work no. when agentType is 0 and agent id when agentType is 1 |
agentType | int | No | API agent param type: 0: Agent work no., 1: Agent id |
customerNumber | String | No | Customer Phone No. |
gatewayNumber | String | No | Relay No. |
callType | int | No | Call type 1: Internal 2: Inbound, 3: Outbound; |
mainDialType | String | No | Inbound; RegularMakeCall; ClickToCallback; TwoWayToPSTN;Internal; PreviewOutbound; PredictiveOutbound; |
callResult | int | No | Talk result: 4. Agent not found 5. Customer fast clear-down 6. Missed call of agent 7. Missed call of customer 8. Answered by both 9. Relay no. deactivated 21. Answered by Customer 22. System Unanswered |
hangupDisposition | int | No | Hang-up side: 1. Others 2. Agent side 3. Customer side |
attachedData | String | No | Custom data |
agentCount | int | No | Number of agents handling the call 1. Not handled, 2. 1 Agent-handled 3. Agents-handled |
transferCount | int | No | Number of transfers initiated 1. No 2. Transferred |
consultCount | int | No | Answered inquiry calls 1.No 2. Inquiry answered |
departmentId | String | No | View organization |
Return param:
Param | Type | Required | Description |
---|---|---|---|
list | Array | Yes | Array Reference Customer Call Main talk list |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "",
"code": 200,
"reason": "OK",
"kind": "MainCDRInfo",
"data": {
"currPage": 1, // Current page
"pageSize": 15, // Records on each page
"total": 12 // Total records
"list":[
{
"callID":" 6bf3cbb167a14c7521993665adba687b ", // callID
"callType": 2,
"screenNumber":"18618256606", // Displayed customer phone no.
"areaCode":"0871",
"areaProvince":"yunnan",
"areaCity":"kunming",
"gatewayNumber":"95588", // Replay no. on the customer side
"startTime": 1637068156419 , // Start time unix timestamp (ms)
"alertTime": 1637068256419 , // Dialing time on the customer side unix timestamp (ms)
"answerTime": 1637068356419 , // Connecting time on the customer side unix timestamp (ms)
"bridgeTime": 1637068456419 , // Bridging time between customer and agent unix timestamp (ms)
"endTime": 1637068556419 , // Hang-up time on the customer side unix timestamp (ms)
"duration":"100", // Duration from bridging to hang-up on the customer side Unit: Seconds
"totalDuration":"120", // Duration from start to hang-up on the customer side Unit: Seconds
"callResult":, 2, // Customer side: 1. Not answered for other reasons 2. Arrears 3. Customer no. blacklisted 4. Agent not found 5. Customer fast clear-down 6. Missed call of agent 7. Missed call of customer 8. Answered by both 9. Relay no. deactivated
"earlyDetectCause":200, // Ring-back tone for PSTN number call failure, 0 by default
"hangupDisposition": 1, // Hang-up direction
"recordUrl":"https:// record.soboten.com/recordings/cc3738581df7413da5d3204364943e3d ", // Recording path. Unified authentication is required for recording downloads
"platformId":" 7d6c1b38caad4a539d92b73d390b664c ", // Platform merchant ID
"companyId":" 825072edbd914f47aa8704de02f1cdb6 ", // Company ID
"feeSeconds":100, // Billing - Billing duration (s)
"feeMinutes":2, // Billing - Billing duration (mins)
"firstRouteId":" 3b36d0a056404a48b644c39ed82e22fe ", // 1st routing ID
"firstRouteName":"", // 1st routing name
"lastAgentUUID":"", // Last reception agent's UUID
"lastAgentName":"", // Last reception agent's name
"lastAgentID":"", // Last reception agent's work no.
"lastAgentDN":"", // Last reception agent's extension
"lastAgentPhoneType":0, // Last reception agent's device type 1. webrtc 2.Wechat 3. pstn 4. sip 5. sobotapp
"lastAgentPstn":"", // Last reception agent's phone no.
"transferCount":1, // Number of initiated transfer
"consultCount":1, // Number of successful inquiries
"sourceType":2, // Source object type 0: Default, 1: Talk record, 2: Ticket, 3: Chat records
"sourceId": "", // Source object ID
"firstCallAgentUUID": "", // 1st call agent's ID
"firstCallAgentID": "", // 1st call agent's work no.
"firstAgentUUID": "", // 1st answer agent's ID
"firstAgentID": "", // 1st answer agent's work no.
"firstAgentName": "", // 1st answer agent's name
"attachedData":{
"customerName":"ZhangSan",
"customerDept":"universe bank"
}
}
]
}
}
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
# ● Query Sub Agent Talk List
API URL :https://sg.sobot.io/callservice/tm/tm-reports/maincdrs/{callID}/partycdrs
Request method: GET
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
callID | String | Yes | Main talk list. 1 talk has and only has 1 main talk list id |
Return param:
Param | Type | Required | Description |
---|---|---|---|
list | Array | Yes | Array element reference Agent Call Sub talk list |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "",
"code": 200,
"reason": "OK",
"kind": "PartyCDRInfo",
"data": {
"list":[
{
"callID":" 6bf3cbb167a14c7521993665adba687b ", // callID
"callType": 2,
"partyId":" 8af8e51f23515fe2a62193e09ceaf0f2 ", // Sub talk list ID In addition to the customer, each party is a sub talk list
"dialType":1, // Call type 1. Call 2. Transfer 3. Inquiry 4. Monitor 5. Take away 6. Interrupt
"agentType":1, // Agent type 0. Work no. 1. Agent uuid
"phoneType":1, // Answering device type 1. webrtc 2. Wechat 3. pstn 4. sip 5. sobotapp
"agentUUID":" ccc661e374bc5e8b8323af632e77367d ",
"agentDN": "1001", // Phone no. used by agent Extension or pstn no.
"gatewayNumber":"95588", // Outbound relay no. on the agent side; extension no., which can be an empty string
"startTime": 1637068156419 , // Start time on the agent side unix timestamp (ms)
"alertTime": 1637068256419 , // Dialing time on the agent side unix timestamp (ms)
"answerTime": 1637068356419 , // Connecting time on the agent side unix timestamp (ms)
"bridgeTime": 1637068456419 , // Bridging time between customer and agent unix timestamp (ms)
"endTime": 1637068556419 , // Hang-up time on the agent side unix timestamp (ms)
"duration":100, // Talk duration on the agent side Unit: s
"callResult":2, // Call result on the agent side 1. Call failed 2. Call succeeded-agent missed 3. Call succeeded-agent answered
"hangupDisposition": 1, // Hang-up direction
"earlyDetectCause":200, // Ring-back tone for agent PSTN number call failure, 0 by default
"agentName":"Tom",
"agentID":"1001", // Agent work no.
"phoneType": 0, // 1.webrtc 2.wechat 3.pstn 4.sip 5.sobotapp
"agentRole": 2, // 2 : Agent 4: 3rd-party PSTN 5: Virtual agent
"DNIS":" 18655668888 ", //
"platformId":"PlatformId", // Platform ID
"departmentId":"aa37b2378e364288963c860edb65c33d|dd72f0cb8a324b59bb172ca571df163d", // Department
"chargeDepartmentId":"aa37b2378e364288963c860edb65c33d|dd72f0cb8a324b59bb172ca571df163d", // Billing organization
"numberType":1, // Billing number type provided by boss 1: Landline number 2: Phone number 3: Number starting with 95/96 4: Number starting with 1010 5: Number starting with 400 6: Forced display number 7: Virtual number 8: Enterprise self-owned number
"feeSeconds":9, // Billing Unit: second
"feeMinutes":1,// Billing Unit: minute
"fee":0.0, // Billing fee 2 digits after decimal point
"companyId": " aa37b2378e364288963c860edb65c33d ", // Company ID
"fromAgentUUID":"FromAgentUUID", // Source agent UUID of call
"fromAgentID":"FromAgentID", // Source agent work no. of call
"fromAgentName":"FromAgentName", // Source agent name of call
"lastAgentFlag":false // Whether it is the last service agent
},
{
}
]
}
}
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
# ● Query Main and Sub Talk Lists
API URL :https://sg.sobot.io/callservice/tm/tm-reports/cdrs/_search
Request method: POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
callID | String | Yes | Main callID of talk records |
hideNumber | int | No | Customer number masking. 0: Not set, plaintext by default; 1: Masking; 2: Plaintext |
Return param:
Param | Type | Required | Description |
---|---|---|---|
call | String | Yes | reference Customer Call Main talk list |
parties | Array | Yes | Array reference Agent Call Sub talk list |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "",
"code": 200,
"reason": "OK",
"kind": "JSONObject",
"data": {
"list":[
"callID":" 6bf3cbb167a14c7521993665adba687b ", // callID
"callType": 2,
"screenNumber":"18618256606", // Displayed customer phone no.
"areaCode":"0871",
"areaProvince":"yunan",
"areaCity":"kunming",
"gatewayNumber":"95588", // Replay no. on the customer side
"startTime": 1637068156419 , // Start time on the customer side unix timestamp (ms)
"alertTime": 1637068256419 , // Dialing time on the customer side unix timestamp (ms)
"answerTime": 1637068356419 , // Connecting time on the customer side unix timestamp (ms)
"bridgeTime": 1637068456419 , // Bridging time between customer and agent unix timestamp (ms)
"endTime": 1637068556419 , // Hang-up time on the customer side unix timestamp (ms)
"duration":"100", // Duration from bridging to hang-up on the customer side Unit: Seconds
"totalDuration":"120", // Duration from start to hang-up on the customer side Unit: Seconds
"callResult":, 2, // Customer side: 1. Not answered for other reasons 2. Arrears 3. Customer no. blacklisted 4. Agent not found 5. Customer fast clear-down 6. Missed call of agent 7. Missed call of customer 8. Answered by both 9. Relay no. deactivated
"earlyDetectCause":200, // Ring-back tone for PSTN number call failure, 0 by default
"hangupDisposition": 1, // Hang-up direction
"recordUrl":"https:// record.soboten.com/recordings/cc3738581df7413da5d3204364943e3d ", // Recording path
"platformId":" 7d6c1b38caad4a539d92b73d390b664c ", // Platform merchant ID
"companyId":" 825072edbd914f47aa8704de02f1cdb6 ", // Company ID
"departmentId":" 36a3c4866a814065a8a6e01a50cc3ecf ", // Department ID
"chargeDepartmentId":" b536ef40639a4caab1bba0cd5cf8ebe2 ", // Billing department ID
"feeSeconds":100, // Billing - Billing duration (s)
"feeMinutes":2, // Billing - Billing duration (mins)
"fee": 25.66 , // Billing - Billing amount
"numberType":1, // Billing number type provided by boss 1: Landline number 2: Phone number 3: Number starting with 95/96 4: Number starting with 1010 5: Number starting with 400 6: Forced display number 7: Virtual number 8: Enterprise self-owned number
"firstRouteId":" 3b36d0a056404a48b644c39ed82e22fe ", // 1st routing ID
"firstRouteName":"", // 1st routing name
"firstAgentUUID":"", // 1st reception agent's UUID
"firstAgentName":"", // 1st reception agent's name
"firstAgentID":"", // 1st reception agent's work no.
"firstAgentDN":"", // 1st reception agent's extension
"firstAgentPhoneType":0, // 1st reception agent's device type 1. webrtc 2. Wechat 3. pstn 4. sip 5. sobotapp
"firstAgentPstn":"", // 1st reception agent's phone no.
"lastAgentUUID":"", // Last reception agent's UUID
"lastAgentName":"", // Last reception agent's name
"lastAgentID":"", // Last reception agent's work no.
"lastAgentDN":"", // Last reception agent's extension
"lastAgentPhoneType":0, // Last reception agent's device type 1. webrtc 2.Wechat 3. pstn 4. sip 5. sobotapp
"lastAgentPstn":"", // Last reception agent's phone no.
"transferCount":1, // Number of initiated transfer
"consultCount":1, // Number of successful inquiries
"firstCallAgentUUID": "", // 1st call agent's ID
"firstCallAgentID": "", // 1st call agent's work no.
"firstAgentUUID": "", // 1st answer agent's ID
"firstAgentID": "", // 1st answer agent's work no.
"firstAgentName": "", // 1st answer agent's name
"attachedData":{
"customerName":"ZhangSan",
"customerDept":"universe bank"
},
"parties":[
{
"partyId":" 8af8e51f23515fe2a62193e09ceaf0f2 ", // Sub talk list ID In addition to the customer, each party is a sub talk list
"agentUUID":" ccc661e374bc5e8b8323af632e77367d ",
"agentDN": "1001", // Phone no. used by agent Extension or pstn no.
"gatewayNumber":"95588", // Outbound relay no. on the agent side; extension no., which can be an empty string
"startTime": 1637068156419 , // Start time on the agent side unix timestamp (ms)
"alertTime": 1637068256419 , // Dialing time on the agent side unix timestamp (ms)
"answerTime": 1637068356419 , // Connecting time on the agent side unix timestamp (ms)
"bridgeTime": 1637068456419 , // Bridging time between customer and agent unix timestamp (ms)
"endTime": 1637068556419 , // Hang-up time on the agent side unix timestamp (ms)
"afterworkEndTime":1637068756419, // Agent Sorting end time unix timestamp (ms)
"duration":100, // Talk duration on the agent side Unit: s
"callResult":2, // Call result on the agent side 1. Call failed 2. Call succeeded-agent missed 3. Call succeeded-agent answered
"hangupDisposition": 1, // Hang-up direction
"earlyDetectCause":200, // Ring-back tone for agent PSTN number call failure, 0 by default
"agentName":"Tom",
"agentID":"1001", // Agent work no.
"phoneType": 0, // 1.webrtc 2.wechat 3.pstn 4.sip 5.sobotapp
"agentRole": 2, // 2 : Agent 4: 3rd-party PSTN 5: Virtual agent
"DNIS":" 18655668888 ", //
"platformId":"PlatformId", // Platform ID
"departmentId":"aa37b2378e364288963c860edb65c33d|dd72f0cb8a324b59bb172ca571df163d", // Department
"chargeDepartmentId":"aa37b2378e364288963c860edb65c33d|dd72f0cb8a324b59bb172ca571df163d", // Billing organization
"numberType":1, // Billing number type provided by boss 1: Landline number 2: Phone number 3: Number starting with 95/96 4: Number starting with 1010 5: Number starting with 400 6: Forced display number 7: Virtual number 8: Enterprise self-owned number
"feeSeconds":9, // Billing Unit: second
"feeMinutes":1,// Billing Unit: minute
"fee":0.0, // Billing fee 2 digits after decimal point
"companyId": " aa37b2378e364288963c860edb65c33d ", // Company ID
"fromAgentUUID":"FromAgentUUID", // Source agent UUID of call
"fromAgentID":"FromAgentID", // Source agent work no. of call
"fromAgentName":"FromAgentName", // Source agent name of call
"lastAgentFlag":false // Whether it is the last service agent
"dialType":1 // 1. Call 2. Transfer 3. Inquiry 4. Monitor 5. Take away 6. Interrupt
},
{
}
]
]
}
}
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
# Push Management
# ● Push Data Structure Reference
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
X-Log-TimeStamp | String | Yes | Timestamp (server time: ms) |
X-Log-RandomCode | String | Yes | Random code |
X-Log-Sign | String | Yes | sign Signature, concatenate the strings of companyId, timestamp ( the server time), random code, and appKey (the key used to configure message forwarding) in order, and use the MD5 digest algorithm (32-bit lowercase) to obtain the value |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Body example in encryption scenario:
Note: In this scenario, the messages pushed will be encrypted first and then placed under the value corresponding to the content
{"content":"LuB+VCYAKuhhkZ27SyQmemjwFUYO"}
1Body example in non-encryption scenario:
Note: In this scenario, the message pushed by the body will be in plaintext and not be placed under the value corresponding to the content. Please see the following for details on the plaintext content
# ● Push Talk Record (Main Talk List)
API URL callback API URL:
Request method: POST
Return param:
Param | Type | Required | Description |
---|---|---|---|
Main talk list | JSON | Yes | Refer to Main Talk List |
# ● Push Agent Talk Details (Sub Talk List)
API URL callback API URL:
Request method: POST
Return param:
Param | Type | Required | Description |
---|---|---|---|
Sub talk list | JSON | Yes | reference Agent Call Sub talk list |
# ● Agent Status Callback
Description Required apply for Request method: POST
Return param:
Param | Type | Required | Description |
---|---|---|---|
companyId | String | Yes | Enterprise ID |
messageID | String | Yes | Event ID. Value: AgentHistoryLogES |
msgType | String | Yes | Event type. Value: agent_working_status_changed_successfully |
creationTime | long | Yes | Event time |
agentUUID | String | No | Target agent ID |
agentID | String | No | Target agent work no. |
agentName | String | No | Target agent name |
loginStatus | int | No | Target agent login status -1. Undefined 0. Offline 1. Online 2. Occupied 98. System locked |
notReadyStatus | int | No | Occupied reason for the target agent: 0: Unknown 2: DND 4: Post-call sorting 11: Break 12: Training 13: Meeting 14: Dining 16: Active 16-18: Custom 97: Agent enforced occupied 98: System enforced occupied 99: Supervisor enforced occupied |
workStatus | int | No | Target agent work status: 0: Unknown 1: Ready 2: Occupied 98: Locked 4: Delay-to-handle 6: Dialing 7: Talk 8: Holding |
startTime | long | Yes | Start time of target agent status |
callID | String | No | Talk record ID |
callType | String | No | Call direction type: 2: Inbound 3: Outbound |
attachedData | String | No | Custom data of talk record |
partyId | String | No | Agent talk details ID |
dialType | int | No | Call type of agent talk details: 1: Call 2: Transfer 3: Inquiry 4: Monitor 5: Take away 6: Interrupt |
# ● Call Event Push
Description Required apply for Request method: POST
Event name | Event code | Return result |
---|---|---|
Inbound call ringing | EventRinging | Refer to Call Event |
Outbound call dialing | EventDialing | Refer to Call Event |
Call connected | EventEstablished | Refer to Call Event |
Call hanged up | EventReleased | Refer to Call Event |
Attached data changed | EventAttachedDataChanged | Refer to Call Event |
Call held | EventHeld | Refer to Call Event |
Call holding canceled | EventRetrieved | Refer to Call Event |
Talk parties added | EventPartyAdded | Refer to Call Event |
Talk parties left | EventPartyDeleted | Refer to Call Event |
Talk parties changed | EventPartyChanged | Refer to Call Event |
DTMF sent | EventDtmfSent | Refer to Call Event |
Call created | EventCallCreated | Refer to Call Event |
Call deleted | EventCallDeleted | Refer to Call Event |
Traffic error event | EventPartyError | Refer to Call Event |
Agent error event | EventAgentError | Refer to Call Event |
# Recording Management
# ● Get the real recording through the field (recordUrl) of Main Customer Talk List
API URL :https://sg.sobot.io/callservice/v6/cc-audios/recordings/e4d15cfb03ad5N4b7639244F8782000fa614
Request method:GET
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
Return param:
Return MP3 speech flow
# Log Management
# ● Query Agent Work Status Logs
API URL :https://sg.sobot.io/callservice/tm/tm-reports/agent-histories/_search
Request method: POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
Request param (body):
Param | Type | Required | Description |
---|---|---|---|
startTime | String | Yes | Start time. Format: yyyy-MM-dd HH:mm, e.g.: 2022-07-07 01:00 |
endTime | String | Yes | End time. Format: yyyy-MM-dd HH:mm, e.g.: 2022-07-07 23:59 |
pageNum | int | Yes | Page number starting from 1 |
pageSize | int | Yes | Record entries on each page |
departmentId | String[] | No | Organizational structure, department ID |
agent | String[] | No | Use agent work no. when agentType is 0 and agent UUID when agentType is 1 |
agentType | int | No | 0: Work no., 1: Agent UUID |
loginStatus | int[] | No | Login status |
noReadyStatus | int[] | No | Occupied reason for agent |
workStatus | int[] | No | Work status |
Return param:
Param | Type | Required | Description |
---|---|---|---|
id | String | Yes | Operation logs ID |
companyId | String | Yes | Enterprise ID |
agentUUID | String | No | Agent UUID |
agentID | String | No | Agent work no. |
agentName | String | No | Agent name |
loginStatus | int | No | Agent login status: 0: Offline, 1: Online, 2: Occupied, 98: System locked |
noReadyStatus | int | No | Occupied reason for agent: 2: DND; 11: Break; 12: Training; 13: Meeting; 14: Dining; 15: Active; 16: Custom 1; 17: Custom 2; 18: Custom 3 |
workStatus | int | No | Agent work status. 1: Ready; 2: Occupied; 4: Sorting; 5: Calling; 6: Ringing; 7: Talking; 8: Holding; 98: Locking |
startTime | String | No | Start time of agent status |
endTime | String | No | End time of agent status |
startTimeMs | long | No | Start time of agent status (ms) |
endTimeMs | long | No | End time of agent status |
duration | Seconds | No | Agent status duration |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "",
"code": 200,
"reason": "OK",
"kind": "AgentHistory",
"data": {
"currPage": 1, // Current page
"pageSize": 15, // Records on each page
"total": 12 // Total records
"pageData":[
{
"id": " d097d27d0a89dB58ad7bce250e0f875a2e19 ",
"companyId":" 825072edbd914f47aa8704de02f1cdb6 ", // Company ID
"agentUUID":" 9a0c9b5fdcca5d1fbe206593dc058788 ", // Agent UUID
"agentID":"1001", // Agent work no.
"agentName": "ZhangSan", // Agent name
"agentType":1,// Use agent work no. when agentType is 0 and agent UUID when agentType is 1
"thisDN": "1001", // Phone no. used by agent, including extension no. and outside no.
"startTime":" 2022-07-07 01 : 00 ",// Start Time
"endTime":" 2022-07-07 23 : 59 ",// End Time
"startTimeMs": 1657126800000,
"endTimeMs": 1657209540000
"duration":"100", // Duration, unit: Seconds
"loginStatus":0, // Agent login status 0: Offline; 1: Online, 2: Occupied, 98: System locked
"noReadyStatus":1,// Occupied reason for agent. 2: DND; 11: Break; 12: Training; 13: Meeting; 14: Dining; 15: Active; 16: Custom 1; 17: Custom 2; 18: Custom 3//
"workStatus":2, // Work status. 1: Ready; 2: Occupied; 4: Sorting; 5: Calling; 6: Ringing; 7: Talking; 8: Holding; 98: Locking
}
]
}
}
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
# Monitor Management
# ● Push Agent Indicator
API URL :https://sg.sobot.io/callservice/v6/webmsg/monitoring/_watch/agents-metrics?product=scc&departmentIds={departmentIds}&agentType={agentType}&agents={agents}&agentWorkStatuses={agentWorkStatuses}&agentLoginStatuses={agentLoginStatuses}&agentBusyReasonCodes={agentBusyReasonCodes}&delay={delay}&pageNum={pageNum}&pageSize={pageSize}&sort={sort}
Request method: Server-sent events (opens new window)
Description: It will be full message for the first time and incremental message later.
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
Idempotency-Key | String | Yes | UUID,idempotent |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (query parameters):
Param | Type | Required | Description |
---|---|---|---|
departmentIds[] | String | No | Department set, e.g.: departmentIds=5b660b7cdb445ea0ba973a0032b3c47f,ba973a00325b660b7cdb445ea0b3c47f; |
agentType | int | No | 0: agents refers to work no. set; 1: agents refers to agent UUID set |
agents[] | String | No | Agent UUID or work no. set; example of work no.: agents=1005,1006; example of UUID: agents=1543a84ef0994426a5a8f6eb3ebf7e0f,f43481698368489d9bd6b63f8fdd3c45 |
agentWorkStatuses[] | int | No | All by default; work status set: Ready (1), occupied (2), sorting (4), dialing (5), ringing (6), talking (7), holding (8); e.g.:agentWorkStatuses=5,6 |
agentBusyReasonCodes[] | int | No | All by default; occupied reason: 11-18; e.g.: agentBusyReasonCodes=11,15 |
agentLoginStatuses[] | int | No | All by default; login status set: Offline (0), online (2), occupied (2), system locked (98); e.g.: agentLoginStatuses=1,2 |
sort | String | No | Sort field and order. The default format is sort=agentNumber,asc |
pageNum | int | No | Page number; start from 1 by default |
pageSize | int | No | Record entries on each page; 15 by default |
operatorUserId | String | No | Operator ID; value is not required when agent token is used, and is required when company token is used. When agent token is used and this parameter is also assigned, the id in token is dominant |
product | String | Yes | Product |
Return value:
Param | Type | Required | Description |
---|---|---|---|
agentsSummary | Object | Yes | Agent list summary |
agentsMetrics | Array | Yes | Array reference Agent list |
Response example:
200 OK
Transfer-Encoding: chunked
Content-Type: text/event-stream;charset=utf-8
2
3
4
Full response message:
{
"MessageID": "EventAgentsMetricsWatch",
"companyId":" 6da9c206557b5381a70919907fcf1b02 ",
"creationTime": 433111010800 ,
"agentsSummary":{
"inboundAbandonCallsCountToday":10, // Number of inbound calls answered today
"inboundEstablishedCallsCountToday":1, // Number of inbound calls missed today
"outboundCallsCountToday":10, // Number of outbound calls today
"outboundEstablishedCallsCountToday":1 // Number of outbound calls answered today
},
"agentsMetrics":{
"pageNum":1,
"pageSize":15,
"total": 12, // Total records
"list":[
{
"agentUUID": " 8d477de896c148d89ee71eeffc67a7ad ",
"agentName":"ZhangSan",
"phoneType":1, // 1 : Web page; 2: WeChat; 3: PSTN no.; 4: Sip Phone
"thisDN":"801", // Agent phone no.
"agentWorkStatus":6,// Work status set: Ready (1), occupied (2), sorting (4), dialing (5), ringing (6), talking (7), holding (8)
"agentLoginStatus":2,// Offline (0), online (2), occupied (2), system locked (98)
"agentBusyReasonCode":11,// Occupied reason 11-18
"lastWorkStatusChangedTime": 1638944241704, // Timestamp (s) of current agent work status
"lastLoginStatusChangedTime":1706176912305, // Timestamp (s) of current agent login status
"callType": 2, // 2 : Inbound, 3: Outbound, 0: No talk
"customerNumber":"18688889999", // Customer phone no., "" when it is blank
"customerPrivacyNumber": "", // Customer no. encryption
"inboundEstablishedCallsCountToday":10, // Number of inbound calls answered today
"inboundAbandonCallsCountToday":1, // Number of inbound calls missed today
"outboundCallsCountToday":10, // Number of outbound calls today
"outboundEstablishedCallsCountToday":1, // Number of outbound calls answered today
},
{
}
]
}
}
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
Incremental notification message:
{
"MessageID": "EventAgentsMetricsChanged",
"companyId":" 6da9c206557b5381a70919907fcf1b02 ",
"creationTime": 433111010800 ,
"list",[
{
"op": "replace",
"id": " 8d477de896c148d89ee71eeffc67a7ad ", // Agent UUID
"path": "agentsMetrics/list/agentWorkStatus", // Update agentUUID=8d477de896c148d89ee71eeffc67a7ad in agentsMetrics/list Work status Indicator
"value": 7
},
{
"op": "replace",
"id": "", // Non-array ID is blank
"path": "agentsSummary/readyAgentsCount", // Update Agents in the work status (ready) Indicator
"value": 7
},
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ● View Agent Indicator
API URL :https://sg.sobot.io/callservice/v6/webmsg/monitoring/agents-metrics?product=scc&departmentIds={departmentIds}&agentType={agentType}&agents={agents}&agentWorkStatuses={agentWorkStatuses}&agentLoginStatuses={agentLoginStatuses}&agentBusyReasonCodes={agentBusyReasonCodes}&delay={delay}&pageNum={pageNum}&pageSize={pageSize}&sort={sort}
Request method: GET
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
Idempotency-Key | String | Yes | UUID,idempotent |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (query parameters):
Param | Type | Required | Description |
---|---|---|---|
departmentIds[] | String | No | Department set; e.g.: departmentIds=5b660b7cdb445ea0ba973a0032b3c47f,0b1eb5f5459259a4a50bbac11db2b3dd; |
agentType | int | No | 0: agents refers to work no. set; 1: agents refers to agent UUID set |
agents[] | String | No | Agent UUID or work no. set; example of work no.: agents=1001,=1002; example of agent UUID: agents=1543a84ef0994426a5a8f6eb3ebf7e0f,f43481698368489d9bd6b63f8fdd3c45 |
agentWorkStatuses[] | int | No | All by default; work status set: Ready (1), occupied (2), sorting (4), dialing (5), ringing (6), talking (7), holding (8); e.g.:agentWorkStatuses=5,6 |
agentBusyReasonCodes[] | int | No | All by default; occupied reason: 11-18; e.g.: agentBusyReasonCodes=11,15 |
agentLoginStatuses[] | int | No | All by default; login status set: Offline (0), online (2), occupied (2), system locked (98); e.g.: agentLoginStatuses=1,2 |
sort | String | No | Sort field and order. The default format is sort=agentNumber,asc |
pageNum | int | No | Page number; start from 1 by default |
pageSize | int | No | Record entries on each page; 15 by default |
operatorUserId | String | No | Operator ID; value is not required when agent token is used, and is required when company token is used. When agent token is used and this parameter is also assigned, the id in token is dominant |
product | String | Yes | Product |
Return value:
Param | Type | Required | Description |
---|---|---|---|
agentsSummary | Object | Yes | Agent list Summary |
agentsMetrics | Array | Yes | Array reference Agent list |
Response example:
{
"MessageID": "EventAgentsMetricsWatch",
"companyId":" 6da9c206557b5381a70919907fcf1b02 ",
"creationTime": 433111010800 ,
"agentsSummary":{
"inboundAbandonCallsCountToday":10, // Number of inbound calls answered today
"inboundEstablishedCallsCountToday":1, // Number of inbound calls missed today
"outboundCallsCountToday":10, // Number of outbound calls today
"outboundEstablishedCallsCountToday":1 // Number of outbound calls answered today
},
"agentsMetrics":{
"pageNum":1,
"pageSize":15,
"total": 12, // Total records
"list":[
{
"agentUUID": " 8d477de896c148d89ee71eeffc67a7ad ",
"agentName":"ZhangSan",
"phoneType":1, // 1 : Web page; 2: WeChat; 3: PSTN no.; 4: Sip Phone
"thisDN":"801", // Agent phone no.
"agentWorkStatus":6,// Work status set: Ready (1), occupied (2), sorting (4), dialing (5), ringing (6), talking (7), holding (8)
"agentLoginStatus":2,// Offline (0), online (2), occupied (2), system locked (98)
"agentBusyReasonCode":11,// Occupied reason 11-18
"lastWorkStatusChangedTime": 1638944241704, // Timestamp (s) of current agent work status
"lastLoginStatusChangedTime":1706176912305, // Timestamp (s) of current agent login status
"callType": 2, // 2 : Inbound, 3: Outbound, 0: No talk
"customerNumber":"18688889999", // Customer phone no., "" when it is blank
"customerPrivacyNumber": "", // Customer no. encryption
"inboundEstablishedCallsCountToday":10, // Number of inbound calls answered today
"inboundAbandonCallsCountToday":1, // Number of inbound calls missed today
"outboundCallsCountToday":10, // Number of outbound calls today
"outboundEstablishedCallsCountToday":1, // Number of outbound calls answered today
},
{
}
]
}
}
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
# Statistical Report
# ● Get All Indicator Display Schemes
Description: Get the report indicator data by using
API URL:https://sg.sobot.io/callservice/tm/tm-reports/gateway_number/check_plan
Request method: GET
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (query parameters):
Param | Type | Required | Description |
---|---|---|---|
planType | int | No | 1: Talk record, 2: Relay no. report, 4: Agent report, 24: Department report |
Return param
Param | Type | Required | Description |
---|---|---|---|
id | String | No | Indicator display scheme ID |
planName | String | Yes | Indicator display scheme name |
planType | int | Yes | 1: Talk record, 2: Relay no. report, 4: Agent report, 24: Department report |
Response example:
{
"apiVersion": "string",
"status": "string",
"code": 0,
"message": "string",
"reason": "string",
"kind": "string",
"metaData": {
"creatorId": "string",
"creationTime": 0,
"updateUserId": "string",
"updatedTime": 0
},
"data":{
"planType": 2,
"planName": "Default plan",
"checked": 1,
"id": " 765b29d607da42a3b57a8e4e868a31dc "
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# ● Relay Number Report
API URL :https://sg.sobot.io/callservice/tm/tm-reports/gateway-number-table/_search
Request method: POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
dimensions | int | Yes | Dimension: 1: Time; 2: Relay number; 3: Time+relay number; 4: Relay number+time |
dateType | int | Yes | Time range: 11: Half hour;12: Hour; 13: Day; 14: Week; 15: Month |
weekType | int | No | Valid only when dateType condition is week. 0: default value, indicating the use of weekly report (Monday ~ Sunday), 1: indicating the use of weekly report (Sunday ~ Saturday) |
startDate | String | Yes | Start date: 2021-01-01 |
startTime | String | No | Start time: 00 : 00 |
endDate | String | Yes | End date: 2021-01-01 |
endTime | String | No | End time: 24 : 00 |
callType | int | No | Call type: 2: Inbound, 3: Outbound |
customerFields | string | Yes | Indicators are separated by comma. Refer to [Indicator List](#●Relay Number-indicator-list) |
currPage | int | Yes | Page number starting from 1 by default |
pageSize | int | Yes | 15 by default |
gatewayNumber | String[] | No | Relay number: Replay numbers separated by comma; e.g.: 01088881234,01088885678 |
numberScope | String | No | Query scope: 2. Telemarketing 3. Bot Query telemarketing type data by default if it is not passed |
Return param
Param | Type | Required | Description |
---|---|---|---|
currPage | int | Yes | |
pageSize | int | Yes | |
list | Array | Yes | Array element. Refer to [Indicator List](#●Relay Number-indicator-list) |
Response example:
{
"apiVersion": "string",
"status": "string",
"code": 0,
"message": "string",
"reason": "string",
"kind": "string",
"metaData": {
"creatorId": "string",
"creationTime": 0,
"updateUserId": "string",
"updatedTime": 0
},
"data": {
"metric": [
{
"result_date":" 2022-03-17 16 : 30 2022-03-17 17 : 00 ", // Time dimension
"gateway_number":"01088881234", // Relay number dimension
"inbound_calls": 0, // Inbound
"outbound_calls": 0 // Outbound No.
}
],
"amount": {
"inbound_calls": 0, // Inbound
"outbound_calls": 0 // Outbound No.
},
"pageSize": 1,
"currPage": 1,
"total": 15
}
}
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
# ● Agent Report
API URL :https://sg.sobot.io/callservice/tm/tm-reports/agent-table/_search
Request method: POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
dimensions | int | Yes | Dimension: 1: Time; 8: Agent; 9: Time+agent; 10: Agent+time |
dateType | int | Yes | Time range: 11: Half hour;12: Hour; 13: Day; 14: Week; 15: Month |
startDate | String | Yes | Start date: 2021-01-01 |
startTime | String | Yes | Start time: 00 : 00 |
endDate | String | Yes | End date: 2021-01-01 |
endTime | String | Yes | End time: 24 : 00 |
agentReportType | int | Yes | Agent report type: Inbound 2; Outbound 3; Work status 4 |
customerFields | String | Yes | Indicators are separated by comma. Refer to Agent Indicator List |
currPage | int | Yes | Page number starting from 1 by default |
pageSize | int | Yes | 15 by default |
agents | String | No | Agent: String array format, e.g.: ["aaaaa","bbbbbb"], corresponding to agentType |
agentType | int | No | Agent type: 1.Agent id 2. Work no. |
Response example:
{
"apiVersion": "string",
"status": "string",
"code": 0,
"message": "string",
"reason": "string",
"kind": "string",
"metaData": {
"creatorId": "string",
"creationTime": 0,
"updateUserId": "string",
"updatedTime": 0
},
"data": {
"metric":[
{
"result_date": "2024-02-21",// Time dimension
"serviceNo": "1234",//Agent No.
"serviceName": "Jon",// Agent name
"serviceId": "ddb3063ae7544df3a77b4e3912f1b942",//Agent id
"inbound_agent_partits": 0, // Calling Agent
"outbound_calls": 0 ,// Outbound Call
"agent_login_sum_duration": 0// Total Login Duration
}
],
"amount": {
"inbound_agent_partits": 0, // Calling Agent
"outbound_calls": 0, // Outbound Call
"agent_login_sum_duration": 0 // Total Login Duration
},
"total": 1,
"currPage": 1,
"pageSize": 15
}
}
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
# ● Department Report
API URL :https://sg.sobot.io/callservice/tm/tm-reports/depart-table/_search
Request method: POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param description
Param | Type | Required | Description |
---|---|---|---|
dimensions | int | Yes | Dimension: 1: Time; 11: Department; 12: Time+department; 13:Department+time |
dateType | int | Yes | Time range: 11:Half hour;12: Hour;13: Day; 14: Week; 15: Month |
startDate | String | Yes | Start date: 2021-01-01 |
startTime | String | Yes | Start time: 00:00 |
endDate | String | Yes | End date: 2021-01-01 |
endTime | String | Yes | End time: 24:00 |
callType | int | Yes | Department report type: Inbound 2, Outbound 3 |
customerFields | String | Yes | Indicators are separated by comma. Refer to Department Indicator List |
currPage | int | Yes | Page number starting from 1 by default |
pageSize | int | Yes | 15 by default |
departIds | String | No | Department: String array format, e.g.: ["aaaaa","bbbbbb"] |
Response example:
{
"apiVersion": "string",
"status": "string",
"code": 0,
"message": "string",
"reason": "string",
"kind": "string",
"metaData": {
"creatorId": "string",
"creationTime": 0,
"updateUserId": "string",
"updatedTime": 0
},
"data": {
"metric": [
{
"departId": "73e6f3c96cc74038aea9ff140e68f9b4", //depart id
"departName": "departName" , //depart name
"inbound_agent_ringing_partits": 0 ,// Direct Calls
"inbound_agent_ringingAnswer_partits": 0 ,// Direct Answered
"outbound_customer_noAnswer_calls":0 , // Missed
"outbound_customer_answer_calls": 0 // Answer Times
}
]
"amount": {
"inbound_agent_ringing_partits": 0, // Direct Calls
"inbound_agent_ringingAnswer_partits": 0, // Direct Answered
"outbound_customer_noAnswer_calls":0, // Missed
"outbound_customer_answer_calls": 0 // Answer Times
},
"total": 1,
"currPage": 1,
"pageSize": 15
}
}
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
# Common Data Structure
# ● Call Monitoring Indicator Param
Param | Type | Required | Description |
---|---|---|---|
inboundCallsCount | int | Yes | The number of current inbound calls that are not hung up. Outbound calls are excluded |
outboundCallsCount | int | Yes | The number of current outbound calls. Inbound calls are excluded. |
inboundAbandonCallsCountToday | int | Yes | The number of inbound calls missed by agents. |
inboundEstablishedCallsCountToday | int | Yes | The number of inbound calls answered by agents. |
outboundEstablishedCallsCountToday | int | Yes | The number of outbound calls answered by customers. |
loginAgentsCount | int | Yes | Summarize the number of agents whose login status is online, occupied (including DND and break status), and system locked under the query criteria. |
onlineAgentsCount | int | Yes | Summarize the number of agents whose login status is online under the query criteria. |
busyAgentsCount | int | Yes | Summarize the number of agents whose login status is occupied (including DND and break status) under the query criteria. |
sysLockAgentsCount | int | Yes | Summarize the number of agents whose login status is system locked under the query criteria. |
logoutAgentsCount | int | Yes | Summarize the number of agents whose login status is offline under the query criteria. |
inCallAgentsCount | int | Yes | Summarize the number of agents whose work status is calling, dialing, talking or holding under the query criteria. |
readyAgentsCount | int | Yes | Summarize the number of agents whose work status is ready under the query criteria. |
busyingAgentsCount | int | Yes | Summarize the number of agents whose work status is occupied under the query criteria. |
dialingAgentsCount | int | Yes | The number of enterprise agents whose work status is calling |
ringingAgentsCount | int | Yes | The number of enterprise agents whose work status is dialing |
establishedAgentsCount | int | Yes | The number of enterprise agents whose work status is talking |
heldAgentsCount | int | Yes | The number of enterprise agents whose work status is holding |
acwAgentsCount | int | Yes | The number of enterprise agents whose work status is sorting |
sysLockingAgentsCount | int | Yes | The number of enterprise agents whose work status is locking |
# ● Agent List Summary
Param | Type | Required | Description |
---|---|---|---|
inboundEstablishedCallsCountToday | int | Yes | The number of successful answers (not the number of calls) by the agent after the call is locked to the agent in the inbound calls today |
inboundAbandonCallsCountToday | int | Yes | Number of inbound calls missed today |
outboundCallsCountToday | int | Yes | Number of outbound calls today |
outboundEstablishedCallsCountToday | int | Yes | Number of outbound calls answered today |
# ● Agent List
Param | Type | Required | Description |
---|---|---|---|
agentUUID | String | No | Agent id |
agentID | String | Yes | Agent work no. |
agentName | String | Yes | Agent name |
phoneType | int | Yes | Answer device 1: Web page; 2: WeChat; 3: PSTN no.; 4: Sip Phone; 5:sobotapp |
thisDN | String | No | Extension account bound when agent logs in |
agentLoginStatus | int | No | Login status: Offline (0), online (2), occupied (2), system locked (98) |
agentWorkStatus | int | No | Work status: Ready (1), occupied (2), sorting (4), dialing (5), ringing (6), talking (7), holding (8) |
agentBusyReasonCode | int | No | Occupied reason |
lastWorkStatusChangedTime | timestampMS | No | Timestamp of the latest agent work status change (ms) |
lastLoginStatusChangedTime | timestampMS | No | Timestamp of the latest agent login status change (ms) |
customerNumber | String | Yes | Customer number displayed by UI |
customerPrivacyNumber | String | Yes | Customer no. encryption |
callType | int | Yes | Call type: 2 : Inbound, 3: Outbound |
inboundEstablishedCallsCountToday | int | Yes | The number of successful answers (not the number of calls) by the agent after the call is locked to the agent in the inbound calls today |
inboundAbandonCallsCountToday | int | Yes | Number of inbound calls missed today |
outboundCallsCountToday | int | Yes | Number of outbound calls today |
outboundEstablishedCallsCountToday | int | Yes | Number of outbound calls answered today |
clientType | String | No | Web; Android; IOS; Unknown; |
# ● Main Bot Talk List
Param | Type | Description |
---|---|---|
callID | String | Talk record is also called: main talk list; 1 talk has and only has 1 main talk list id |
mainDialType | String | Inbound: inbound; RegularMakeCall: regular outbound; ClickToCallback: click to dial; TwoWayToPSTN: two-way callback; Internal: internal call; PreviewOutbound: preview outbound; PredictiveOutbound: predictive outbound |
callType | int | 1. Internal talk; 2. Inbound; 3. Outbound; |
customerNumber | String | Customer number; push only |
areaCode | String | Customer number's area code |
areaProvince | String | Customer number's province |
areaCity | String | Customer number's city |
customerId | String | Customer ID |
gatewayNumber | String | Relay number |
inboundTransferedHumanAgent | boolean | Trans-to-agent or not |
startTime | long | Start time, millisecond timestamp |
userStartTime | long | Call time, millisecond timestamp |
alertTime | long | Customer side dialing time, millisecond timestamp |
answerTime | long | Billing start time from customer side, millisecond timestamp |
waitingForHumanAnswerDuration | long | Duration of waiting for agent answer, second |
virtualAgentCallDuration | long | Bot talk duration, second |
bridgeTime | long | Call time, millisecond timestamp |
endTime | long | End time, millisecond timestamp |
alertDuration | long | Dialing duration, second |
duration | int | Talk duration, second |
totalDuration | int | Total call duration, second |
callResult | int | Talk result: 4. Agent not found 5. Customer fast clear down 6. Missed call of agent 7. Missed call of customer 8. Answered by both 21. Answered by customer 22. System missed |
reasonOfNotAnswer | String | Reason for unanswering, OTHER_RINGBACK: other ring-back tone; OUT_OF_SERVICE: out of service; DOES_NOT_EXIST: does not exist; POWER_OFF: powered off; BUSY_NOW: user is busy; NOT_ANSWER: no answer; LINE_INTERCEPTION: line interception; CUSTOMER_REJECTION: customer rejection; CUSTOMER_NUM_BLACKLIST: customer number blacklisted; GATEWAY_NUM_DISABLE: relay number disabled; ARREARS: arrears; ROUTE_UNCOMPLETE: inbound routing unfinished; NO_ROUTE_MATCH: inbound routing not matched |
intentClassify | String | Intention tag category |
intentName | String | Intention tag name |
totalCustomerRepliesToVirtualAgentCount | int | Total chat rounds |
firstCallAgentUUID | String | 1st call agent's ID |
firstCallAgentID | String | 1st call agent's work no. |
firstCallAgentName | String | 1st call agent's name |
firstAgentUUID | String | 1st answer agent's ID |
firstAgentID | String | 1st answer agent's work no. |
firstAgentName | String | 1st answer agent's name |
accumAgentRingingDuration | long | Total agent dialing duration, second |
hangupDisposition | int | Hang-up side: 1. Others 2. Agent 3. Customer |
userData | String | Custom Data |
recordUrl | String | Recording address |
platformId | String | Platform ID |
companyId | String | Enterprise ID |
feeSeconds | int | Billing Duration (s) |
feeMinutes | int | Billing duration (mins) |
firstRouteId | String | 1st reception routing id |
firstRouteName | String | 1st reception routing name |
belongAgentUUID | String | Answer-affiliated agent's ID |
belongAgentID | String | Answer-affiliated agent's work no. |
belongAgentName | String | Answer-affiliated agent's name |
belongAgentDN | String | Answer-affiliated agent's extension no. |
belongAgentPhoneType | String | Agent Answer Device |
belongAgentPSTN | String | Answer-affiliated agent's talk no. |
transferCount | int | Number of initiated transfer |
consultCount | int | Number of inquiry answered |
sourceType | int | Source record type 1: talk record, 2: ticket, 3: chat record, 4: outbound task, 5: contact plan, 6: call loss, 7: submission |
sourceId | String | Source record ID |
sourceCode | String | Source record Code |
sourceRecordSubId | String | Source record sub ID |
sourceRecordSubCode | String | Source record sub Code |
sourceRecordMainId | String | Source record main ID |
sourceRecordMainCode | String | Source record main Code |
variablesCollectedDuringCall | String | Temporary dynamic variables collected during the talk |
transferToThirdPartySystem | String | Transfer to 3rd-party system, NonTransfer: not transferred, TransferNonAnswer: transfer not answered, TransferAndAnswer: transferred and answered |
transferToThirdPartyNumber | String | Transfer to 3rd-party number, NonTransfer: not transferred, TransferNonAnswer: transfer not answered, TransferAndAnswer: transferred and answered |
dialogue | JSON | Chat records |
dialogue
Param | Type | Description |
---|---|---|
phaseId | String | Chat record ID |
phase | String | Chat stage, Agent: agent, ThirdPSTN: 3rd-party number, ThirdSystem: 3rd-party system, VirtualAgent: bot, System: system |
startTime | long | Start time, millisecond timestamp |
endTime | long | End time, millisecond timestamp |
contentList | JSON | Chat content |
contentList
Param | Type | Description |
---|---|---|
phaseId | String | Chat record ID |
contentId | String | Chat content ID |
partyId | String | Agent talk details ID (corresponding sub talk list ID, or system's partyId) |
startTime | long | Start time, millisecond timestamp |
endTime | long | End time, millisecond timestamp |
nodeId | String | Node ID |
nodeName | String | Node Name |
dialogueType | String | Chat type, NORMAL: regular chat, CRITICAL: critical chat, (CUS_CRITICAL: customer critical chat, i.e. customer's response to the bot's critical question) |
dialogueRole | String | Chat role, Agent: agent, ThirdPSTN: 3rd-party number, ThirdSystem: 3rd-party system, VirtualAgent: bot, System: system, Customer: customer |
sentenceMessage | String | Chat text |
matchedLog | String | Matching log |
# ● Sub Bot Talk List
Param | Type | Description |
---|---|---|
callID | String | Talk record is also called: main talk list; 1 talk has and only has 1 main talk list id |
partyId | String | Agent talk details is also called: sub talk list; 1 talk can have multiple sub talk list id |
callType | int | Talk type 1: Internal call; 2: Inbound, 3: Outbound; |
agentRole | int | Agent type, 2. agent 4. 3rd-party number 5. trans-to-3rd-party system |
phoneType | int | Answer device 1: Webpage; 3: PSTN no.; 4: SIP phone; 5: sobotapp |
agentUUID | String | Agent ID |
agentID | String | Agent work no. |
agentName | String | Agent name |
agentDN | String | Agent extension |
DNIS | String | Agent phone no., not blank when agent type = agent and answer device = phone no.; not blank when agent type = 3rd-party no. |
gatewayNumber | String | Agent relay number |
startTime | long | Call Time |
alertTime | long | Dialing time |
answerTime | long | Answer time |
bridgeTime | long | Bridging talk time, the start time of a talk (with a user or another agent) joined on the agent side |
endTime | long | End Time |
alertDuration | long | Dialing duration |
duration | int | Talk Duration |
callResult | int | Call Result: 1. Call failed, 2. Agent missed, 3. Agent answered |
customerRepliesToVirtualAgentCount | int | Chat rounds (number of chats customer responds to bot agent side) |
fromQueueID | String | Source skill group code |
fromQueueName | String | Source skill group name |
hangupDisposition | int | Hang-up side: 1. Others 2. Agent 3. Customer |
feeSeconds | int | Billing Duration (s) |
feeMinutes | int | Billing duration (mins) |
platformId | String | Platform ID |
companyId | String | Enterprise ID |
belongAgentFlag | boolean | Phone-affiliated agent, there is only one affiliated agent in one call. It is usually the last talk-exit agent. true: Affiliated agent; false: Non-affiliated agent. |
intentTagClassify | String | Intention Category |
intentTagName | String | Intention name |
# ● Main Customer Talk List
Param | Type | Required | Description |
---|---|---|---|
callID | String | Yes | Talk record is also called: main talk list; 1 talk has and only has 1 main talk list id |
callType | int | Yes | 1. Internal talk; 2. Inbound; 3. Outbound; |
screenNumber | String | No | Displayed phone no. |
customerNumber | String | No | Customer Phone No. |
encryptCustomerNumber | String | No | Encrypted number, depending on [Customer number masking] in the API |
areaPrefix | String | No | Customer number's area code prefix |
areaCode | String | No | Customer number's area code |
areaProvince | String | No | Customer number's province |
areaCity | String | No | Customer number's city |
customerId | String | No | Customer ID |
gatewayNumber | String | No | Relay No. |
startTime | timestampMS | No | Call start time |
alertTime | timestampMS | No | Customer dialing time |
answerTime | timestampMS | No | Customer billing start time |
bridgeTime | timestampMS | No | Customer bridging talk time |
endTime | timestampMS | No | Customer hang-up time, including the time of satisfaction evaluation |
alertDuration | Seconds | No | Dialing duration |
accumAgentRingingDuration | Seconds | No | Total Agent Ringing Duration |
duration | Seconds | No | End Time-Talk time |
totalDuration | Seconds | No | Total call duration End Time-Call Time |
callResult | int | No | Talk result: 4. Agent not found 5. Customer fast clear-down 6. Missed call of agent 7. Missed call of customer 8. Answered by both 21. Answered by Customer 22. System Unanswered |
earlyDetectCause | String | No | Callback Ringtone |
reasonOfNotAnswer | String | No | OTHER_RINGBACK; OUT_OF_SERVICE; DOES_NOT_EXIST; POWER_OFF; BUSY_NOW; NOT_ANSWER; LINE_INTERCEPTION; CUSTOMER_REJECTION; CUSTOMER_NUM_BLACKLIST; GATEWAY_NUM_DISABLE; ARREARS; ROUTE_UNCOMPLETE; NO_ROUTE_MATCH |
hangupDisposition | int | No | Hang-up side: 1. Others 2. Agent side 3. Customer side |
attachedData | String | No | Custom Data |
recordUrl | String | No | Recording |
platformId | String | No | Platform id |
companyId | String | No | Enterprise ID |
feeSeconds | int | No | Billing Duration (s) |
feeMinutes | int | No | Billing duration (mins) |
firstRouteId | String | No | 1st reception routing id |
firstRouteName | String | No | 1st reception routing name |
belongAgentUUID | String | No | Call-affiliated agent id |
belongAgentID | String | No | Agent work no. |
belongAgentName | String | No | Agent name |
belongAgentDN | String | No | Agent extension |
belongAgentPhoneType | String | No | Agent Answer Device |
belongAgentPSTN | String | No | Call-affiliated agent talk no. |
transferCount | int | No | Number of initiated transfer |
consultCount | int | No | Number of inquiry answered |
callerNumber | String | No | Caller no. |
callerAgentUUID | String | No | Caller agent ID |
callerDN | String | No | Caller extension |
calleeNumber | String | No | Called no. |
calleeAgentUUID | String | No | Called agent ID |
calleeDN | String | No | Called extension |
firstCallAgentUUID | String | No | 1st call agent's ID |
firstCallAgentID | String | No | 1st call agent's work no. |
firstCallAgentName | String | No | 1st call agent's name |
firstAgentUUID | String | No | 1st answer agent's ID |
firstAgentID | String | No | 1st answer agent's work no. |
firstAgentName | String | No | 1st answer agent's name |
sourceType | int | No | source record type 0: Default, 1: Talk record, 2: Ticket, 3: Chat records, 4: outbound task, 5:contact plan,6:call loss,7:leave message |
sourceId | String | No | source record id |
sourceCode | String | No | source record code |
sourceRecordSubId | String | No | source record sub id |
sourceRecordSubCode | String | No | source record sub code |
sourceRecordMainId | String | No | source record main id |
sourceRecordMainCode | String | No | source record main code |
# ● Sub Agent Talk List
Param | Type | Required | Description |
---|---|---|---|
callID | String | Yes | Talk record is also called: main talk list; 1 talk has and only has 1 main talk list id |
partyId | String | Yes | Agent talk details is also called: sub talk list; 1 talk can have multiple sub talk list id |
dialType | int | Yes | Call type: 1. Call 2. Transfer 3. Inquiry 4. Monitor 5. Take away 6. Interrupt |
agentRole | int | Yes | Agent type: 2. Agent, 4. 3rd-party no., 5. Virtual agent |
phoneType | int | Yes | Answer Device: 1. Web page, 3. Phone no., 4.SIP phone |
callResult | int | Yes | Call Result: 1. Call failed, 2. Agent missed, 3. Agent answered |
hangupDisposition | int | Yes | Trigger reason for agent call ended; 2: Agent, 1: Others |
companyId | String | Yes | Enterprise ID |
belongAgentFlag | boolean | Yes | 1 talk has and only has 1 agent. It is usually the last talk-exit agent. true: Affiliated agent; false: Non-affiliated agent. |
agentUUID | String | No | Billing agent ID; blank when agent type = 3rd-party no. |
agentID | String | No | Billing agent work no. |
agentName | String | No | Billing agent name |
agentDN | String | No | Billing agent extension account |
DNIS | String | No | Not blank when agent type = agent and answer device = phone no.; not blank when agent type = 3rd-party no. |
gatewayNumber | String | No | Caller no. when system calls the agent phone no. |
startTime | timestampMS | No | Start time of agent call initiation |
alertTime | timestampMS | No | Dialing start time on the agent side |
answerTime | timestampMS | No | Billing start time on the agent side |
bridgeTime | timestampMS | No | Bridging talk time, the start time of a talk (with a user or another agent) joined on the agent side |
endTime | timestampMS | No | Hang-up time on the agent side |
duration | Seconds | No | Bridging talk duration on the agent side = end time - talk time |
feeSeconds | Seconds | No | Billing duration (s): End time - answering time |
feeMinutes | Minutes | No | Billing duration (min): End time - answering time |
platformId | String | No | Enterprise ID |
earlyDetectCause | String | No | Ring-back tone when calling the agent phone no. |
totalDuration | int | No | Duration of call |
# ● Error Code List
Error code | Error Reason | Note description |
---|---|---|
3001 | AgentIsInBargedInScene | Agent already in interrupting |
3002 | AgentIsInMonitorScene | Agent already in monitoring |
3003 | AgentIsInInterceptScene | Agent already in breakdown |
3004 | AgentIsInConsultScene | Agent already in inquiry |
3005 | AgentIsInConferenceScene | Agent already in meeting |
3101 | AgentIsInDailingScene | Agent in call |
3102 | AgentIsInDailingScene | Agent in ringing |
# ●Relay Number Indicator List
Indicator name | Indicator meaning | Indicator type | Note description |
---|---|---|---|
Inbound | inbound_calls | Counter | |
System Missed | inbound_no_answered_calls | Counter | |
System Answer | inbound_answered_calls | Counter | |
Routing Agents | inbound_route_to_agent_calls | Counter | |
Routing 3rd-Party Numbers | inbound_route_to_thirdPSTN_calls | Counter | |
Routing Outbound Agent Memories | inbound_route_to_agentMemory_calls | Counter | |
Trans-to-Agent | inbound_toAgent_calls | Counter | |
Calls to Agent | inbound_offer_agent_calls | Counter | |
Dialing | inbound_agent_ring_calls | Counter | |
Answered | inbound_agent_answered_calls | Counter | |
Non-Agent Answer | inbound_notHumanAgent_answered_calls | Counter | |
Agent Answer | inbound_humanAgent_answered_calls | Counter | |
Talk Duration | inbound_agentTalk_duration | Duration | |
ATT | inbound_agentTalk_average_duration | Duration | |
Call Time | inbound_calls_duration | Duration | |
ACT | inbound_calls_average_duration | Duration | |
Outbound No. | outbound_calls | Counter | |
Outbound Phone Nos. | outbound_customer_numbers | Counter | |
Missed | outbound_customer_noAnswer_calls | Counter | |
Answered | outbound_customer_answer_calls | Counter | |
Phone No. Answer | outbound_answer_gateway_numbers | Counter | |
Answer % | outbound_answer_ratio | Count | |
No. Answering % | outbound_gateway_numbers_ratio | Count | |
Xs Talk | outbound_agentTalkXs_ratio | Count | |
Xs Talk % | outbound_agentTalkXs_calls | Counter | |
Call Time | outbound_calls_duration | Duration | |
Talk Duration | outbound_calls_talk_duration | Duration | |
ATT | outbound_calls_average_duration | Duration | |
Xs Talk Duration | outbound_effective_inXs_sum_duration | Duration | |
Xs ATT | outbound_effective_inXs_average_duration | Duration |
# ● Agent Indicator List
Indicator name | Indicator meaning | Indicator type | Note description |
---|---|---|---|
Calling Agent | inbound_agent_partits | Counter | |
Answered Call of Agent | inbound_agent_answer_partits | Counter | |
Missed Inbound Calls | inbound_agent_unAnswer_partits | Counter | |
Direct Calls | inbound_agent_ringing_partits | Counter | |
Direct Answered | inbound_agent_ringingAnswer_partits | Counter | |
Dialing Inbound Calls | inbound_agent_dialing_partits | Counter | |
Missed Direct Calls | inbound_agent_ringingUnAnswer_partits | Counter | |
Trans-to-Agent | inbound_agent_transferBy_partits | Counter | |
Trans-to-Agent Answer | inbound_agent_transferByAnswer_partits | Counter | |
Trans-to-Agent Missed | inbound_agent_transferByUnAnswer_partits | Counter | |
Agent Inquiry Calls | inbound_agent_consultBy_partits | Counter | |
Answered Inquiry Calls | inbound_agent_consultByAnswer_partits | Counter | |
Missed Inquiry Calls | inbound_agent_consultByUnAnswer_partits | Counter | |
Agent Answer | inbound_agent_callByAnswer_partits | Counter | |
Talk Duration | inbound_agentTalk_duration | Duration | |
ATT | inbound_agentTalk_average_duration | Duration | |
Outbound Call | outbound_calls | Counter | |
Missed | outbound_customer_noAnswer_calls | Counter | |
Answer Times | outbound_customer_answer_calls | Counter | |
Answered Outbound Call% | outbound_answer_ratio | Count | |
Xs Talk | outbound_agent_effectiveTalkInXs_partits | Counter | |
Xs Talk % | outbound_agent_effectiveTalkInXs_radio | Count | |
Call Time | outbound_calls_duration | Duration | |
Talk Duration | outbound_calls_talk_duration | Duration | |
ATT | outbound_calls_average_duration | Duration | |
Xs Talk Time | outbound_effective_inXs_sum_duration | Duration | |
Xs ATT | outbound_effective_inXs_average_duration | Duration | |
Total Login Duration | agent_login_sum_duration | Duration | |
Login Online Duration | agent_online_sum_duration | Duration | |
System Locked Duration | agent_syslock_sum_duration | Duration | |
DND & Break Duration | agent_busy_sum_duration | Duration | |
DND Duration | agent_DND_sum_duration | Duration | |
Total Break Duration | agent_rest_sum_duration | Duration | |
Break 11 Duration | agent_rest11_sum_duration | Duration | |
Break 12 Duration | agent_rest12_sum_duration | Duration | |
Break 13 Duration | agent_rest13_sum_duration | Duration | |
Break 14 Duration | agent_rest14_sum_duration | Duration | |
Break 15 Duration | agent_rest15_sum_duration | Duration | |
Break 16 Duration | agent_rest16_sum_duration | Duration | |
Break 17 Duration | agent_rest17_sum_duration | Duration | |
Break 18 Duration | agent_rest18_sum_duration | Duration | |
Ready Duration | agent_readying_sum_duration | Duration | |
Occupied Duration | agent_busying_sum_duration | Duration | |
Sorting Duration | agent_acwing_sum_duration | Duration | |
Total In-Call Duration | agent_calling_sum_duration | Duration | |
Calling Duration | agent_dialing_sum_duration | Duration | |
Dialing Duration | agent_ringing_sum_duration | Duration | |
Talking Duration | agent_talking_sum_duration | Duration | |
Holding Duration | agent_helding_sum_duration | Duration | |
DND Busying Duration | agent_DND_busy_duration | Duration | |
Total Break Busying Duration | agent_rest_busy_sum_duration | Duration | |
Break 11 Busying Duration | agent_rest11_busy_sum_duration | Duration | |
Break 12 Busying Duration | agent_rest12_busy_sum_duration | Duration | |
Break 13 Busying Duration | agent_rest13_busy_sum_duration | Duration | |
Break 14 Busying Duration | agent_rest14_busy_sum_duration | Duration | |
Break 15 Busying Duration | agent_rest15_busy_sum_duration | Duration | |
Break 16 Busying Duration | agent_rest16_busy_sum_duration | Duration | |
Break 17 Busying Duration | agent_rest17_busy_sum_duration | Duration | |
Break 18 Busying Duration | agent_rest18_busy_sum_duration | Duration | |
Online Duration % | agentOnline_percent | Count | |
DND & Break Duration % | agentBusy_percent | Count | |
DND Duration % | agentDND_percent | Count | |
Total Break Duration % | agentRest_percent | Count | |
Ready Duration % | workReady_percent | Count | |
Busy Duration % | workBusy_percent | Count | |
Total In-Call Duration % | workinCall_percent | Count | |
Sorting Duration % | workACW_percent | Count | |
Work Occupied Time A | workReasonCodeA_sum_duration | Duration | |
Work Occupied Time B | workReasonCodeB_sum_duration | Duration | |
Work Occupied % A | workReasonCodeA_percent | Count | |
Work Occupied % B | workReasonCodeB_percent | Count | |
DND Busying Duration % | agent_DND_busy_sum_duration_radio | Count | |
Total Break Busying Duration % | agent_rest_busy_sum_duration_redio | Count | |
First Login Time | agentFirstLogin_timestamp | Duration | |
First Ready Time | agentFirstOnline_timestamp | Duration | |
Last Logout Time | agentLastLogout_timestamp | Duration |
# ● Department Indicator List
Indicator name | Indicator meaning | Indicator type | Note description |
---|---|---|---|
Calling Agent | inbound_agent_partits | Counter | |
Dialing Inbound Calls | inbound_agent_dialing_partits | Counter | |
Answered Call of Agent | inbound_agent_answer_partits | Counter | |
Missed Inbound Calls | inbound_agent_unAnswer_partits | Counter | |
Direct Calls | inbound_agent_ringing_partits | Counter | |
Direct Answered | inbound_agent_ringingAnswer_partits | Counter | |
Missed Direct Calls | inbound_agent_ringingUnAnswer_partits | Counter | |
Trans-to-Agent | inbound_agent_transferBy_partits | Counter | |
Trans-to-Agent Answer | inbound_agent_transferByAnswer_partits | Counter | |
Trans-to-Agent Missed | inbound_agent_transferByUnAnswer_partits | Counter | |
Agent Inquiry Calls | inbound_agent_consultBy_partits | Counter | |
Answered Inquiry Calls | inbound_agent_consultByAnswer_partits | Counter | |
Missed Inquiry Calls | inbound_agent_consultByUnAnswer_partits | Counter | |
Talk Duration | inbound_agentTalk_duration | Duration | |
ATT | inbound_agentTalk_average_duration | Duration | |
Outbound Call | outbound_calls | Counter | |
Missed | outbound_customer_noAnswer_calls | Counter | |
Answer Times | outbound_customer_answer_calls | Counter | |
Answered Outbound Call% | outbound_answer_ratio | Count | |
Xs Talk | outbound_agent_effectiveTalkInXs_partits | Counter | |
Xs Talk % | outbound_agent_effectiveTalkInXs_radio | Count | |
Call Time | outbound_calls_duration | Duration | |
Talk Duration | outbound_calls_talk_duration | Duration | |
ATT | outbound_calls_average_duration | Duration | |
Xs Talk Time | outbound_effective_inXs_sum_duration | Duration | |
Xs ATT | outbound_effective_inXs_average_duration | Duration |