Getting Details for a Specific CallId
Request URL
- POST /api/v1/call-calls/simpleDetail
Request Parameters
Parameter | Type | Nullable | Description |
---|
Timestamp | Long | False | Timestamp (e.g., current seconds, 1533092860) |
Token | String | False | Signature: Authentication signature |
AppId | String | False | Tenant ID |
callId | String | False | Call identifier |
Token Signature Calculation Example
StringBuilder src = new StringBuilder();
src.append(AppId).append(Timestamp);
String appSecret = "eff790c4-90a5-4453-990c-ff7d4aa30914";
HmacUtils hmacUtils = new HmacUtils(HmacAlgorithms.HMAC_SHA_1, appSecret);
String token = hmacUtils.hmacHex(src.toString());
Response Parameters
Parameter | Type | Nullable | Description |
---|
succeed | boolean | False | Processing indicator (not currently in use) |
code | String | False | Return code |
message | String | False | Return message |
visible | boolean | False | Visibility indicator (not currently in use) |
data | Object | True | Result |
data.callId | String | False | Call identifier |
data.workflow | int | False | Call type (1 inbound 2 outbound direct dial 3 two-way callback 4 automatic outbound) |
data.fromNumber | String | False | Caller number |
data.toNumber | String | False | Callee number |
data.relayNumber | String | False | Relay number |
data.callStartTime | date | False | Call start time (e.g., yyyy-MM-dd HH:mm:ss) |
data.callEndTime | date | False | Call end time (e.g., yyyy-MM-dd HH:mm:ss) |
data.callDuration | int | False | Total call duration (seconds) |
data.callRecordUrl | String | True | Call recording URL |
data.customerProvince | String | True | Customer location - Province |
data.customerCity | String | True | Customer location - City |
data.routerId | int | True | Router ID |
data.routerName | String | True | Router name |
data.transferAgentFlag | int | True | Transfer to agent flag (0 no 1 yes) |
data.agentId | String | True | Agent ID |
data.agentName | String | True | Agent name |
data.queueId | String | True | Queue ID |
data.queueName | String | True | Queue name |
data.robotNames | Array | True | Robot names array (["Robot 1", "Robot 2"]) |
data.labelInfos | Array | True | General label array (["Fruit", "Heavy"]) |
data.instances | Array | True | Dialogue records |
data.instances[].callId | String | True | Call identifier |
data.instances[].instanceId | int | True | Robot case identifier |
data.instances[].robotId | int | True | Robot identifier |
data.instances[].robotDefId | int | True | Robot def identifier |
data.instances[].robotName | String | True | Robot name |
data.instances[].dialogueStartTime | date | True | Dialogue start time |
data.instances[].dialogueEndTime | date | True | Dialogue end time |
data.instances[].dialogueDuration | int | True | Total dialogue duration (seconds) |
data.instances[].dialogueRecordUrl | String | True | Dialogue recording URL |
data.instances[].dialogueRound | int | True | Dialogue rounds |
data.instances[].intentionLabelKey | String | True | Intention label identifier |
data.instances[].intentionLabelName | String | True | Intention label name |
data.instances[].labelInfoList | Array | True | Label information |
data.instances[].labelInfoList[].name | String | True | Label name |
data.instances[].dialogueContentList | Array | True | Dialogue content |
data.instances[].dialogueContentList[].callId | String | True | Call identifier |
data.instances[].dialogueContentList[].instanceId | int | True | Session identifier |
data.instances[].dialogueContentList[].robotId | int | True | Robot ID |
data.instances[].dialogueContentList[].robotDefId | int | True | Robot definition id |
data.instances[].dialogueContentList[].dialogueRole | int | True | Dialogue role (1 robot 2 user 9 system) |
data.instances[].dialogueContentList[].dialogueStartTime | date | True | Dialogue end time |
data.instances[].dialogueContentList[].dialogueContent | String | True | Dialogue content |
data.instances[].dialogueContentList[].dialogueRecordUrl | String | True | Dialogue recording URL |
data.instances[].dialogueContentList[].matchType | int | True | Matched type (1 hit question 2 hit answer branch 3 hit node repeat 4 hit global config 10 not hit) |
data.instances[].dialogueContentList[].matchResult | String | True | Match result |
data.instances[].dialogueContentList[].matchName | String | True | Match name |
data.callResult | int | True | 1 customer not answered 2 customer answered 3 agent answered 4 agent not answered 5 line busy 6 line off 7 agent rejected 8 customer quick hang up 9 customer hung up 10 queue timeout 11 queue abandoned 12 no queue selected 13 external answered 14 external not answered |
data.userAnsweredFlag | int | True | Effective call (0 no 1 yes) |
data.userAnsweredCount | int | True | User interaction count |
data.userAnsweredEffectiveCount | int | True | User effective interaction count |
Request Example
$ curl 'http://localhost:8080/v1/call-calls/simpleDetail?AppId=ef05710f-1144-4e2a-721c-991bf9df440a&Timestamp=1635933928&Token=232c0a7df5a8852a79b0ce5e08308443ada153e8' -i -X POST -H 'Content-Type: application/json' -d '{
"callId": "eff790c4-90a5-4453-990c-ff7d4aa30914"
}'
Response Example
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 522
{
"succeed":true,
"code":200,
"bizCode":"000000",
"message":"OK",
"visible":false,
"data": {
"callId":"eff790c4-90a5-4453-990c-ff7d4aa30914",
"workflow":3,
"fromNumber":"18920765651",
"toNumber":"05388593211",
"relayNumber":"05388593191",
"callStartTime":"2021-05-29 10:23:43",
"callEndTime":"2021-05-29 10:23:57",
"callDuration":14,
"callRecordUrl":"https://tiao.com/7859ff65-0e6a-44e4-4ec2-1052f43f647a/cc_recordings/202105291ff7d4aa30914_eff790c4-90a5-4453-990c-ff7d4aa30914.mp3",
"customerProvince":"Paris",
"customerCity":"Paris",
"routerId":185,
"routerName":"210528bbr",
"transferAgentFlag":0,
"agentId":null,
"agentName":null,
"queueId":null,
"queueName":null,
"userAnsweredFlag":1,
"userAnsweredCount":2,
"userAnsweredEffectiveCount":0,
"robotNames":[
"Ftest _english1"
],
"labelInfos":[
"Satisfied"
],
"instances":[
{
"callId":"eff790c4-90a5-4453-990c-ff7d4aa30914",
"instanceId":1622255025121140,
"robotId":25233,
"robotDefId":30724,
"robotName":"Ftest _english1",
"dialogueStartTime":"2021-05-29 10:23:43",
"dialogueEndTime":"2021-05-29 10:23:57",
"dialogueDuration":13,
"dialogueRecordUrl":null,
"dialogueRound":1,
"intentionLabelKey":"C",
"intentionLabelName":"C level (explicitly declined)",
"labelInfoList":[
{"name":"Fruit"}
],
"dialogueContentList":[
{
"callId":"eff790c4-90a5-4453-990c-ff7d4aa30914",
"instanceId":1622255025121140,
"robotId":25233,
"robotDefId":30724,
"dialogueRole":1,
"dialogueStartTime":"2021-05-29 10:23:43",
"dialogueContent":"Many lessons are boring, and he is very tired after doing gym.",
"dialogueRecordUrl":null,
"matchType":null,
"matchResult":"",
"matchName":""
},
{
"callId":"eff790c4-90a5-4453-990c-ff7d4aa30914",
"instanceId":1622255025121140,
"robotId":25233,
"robotDefId":30724,
"dialogueRole":2,
"dialogueStartTime":"2021-05-29 10:23:49",
"dialogueContent":"Ok",
"dialogueRecordUrl":"https://tiao.com/7859ff65-0e6a-44e4-4ec2-1052f43f647a/cc_recordings/202105291ff7d4aa30914_eff790c4-90a5-4453-990c-ff7d4aa30914.mp3",
"matchType":9,
"matchResult":"Ignore",
"matchName":"Ignore"
},
{
"callId":"eff790c4-90a5-4453-990c-ff7d4aa30914",
"instanceId":1622255025121140,
"robotId":25233,
"robotDefId":30724,
"dialogueRole":2,
"dialogueStartTime":"2021-05-29 10:23:56",
"dialogueContent":"It's an English",
"dialogueRecordUrl":"https://tiao.com/7859ff65-0e6a-44e4-4ec2-1052f43f647a/cc_recordings/202105291ff7d4aa30914_eff790c4-90a5-4453-990c-ff7d4aa30914.mp3",
"matchType":6,
"matchResult":"Matched to response branch: [Default]",
"matchName":"Default"
}
]
}
]
}
}