Callbot API orderDetailList - nxtele/nxcloud-doc-en GitHub Wiki
callbot-api
v1.0.0
Base URLs:
- Production Environment: https://nxbot.nxcloud.com
aibot External API v3.0/Call Operations
Authentication Method
Authentication details can be found in the documentation at https://github.com/nxtele/http-api-document/wiki/Callbot-API-authorization
POST List Call Details
POST /callcentre/api/v3/listOrderDetail
Lists the detailed information of each call under a specific order ID.
Body Request Parameters
{
"productID": "callbot",
"userTaskID": "string",
"orderList": [
"string"
]
}
Request Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| requestID | header | string | Yes | Unique ID for the request |
| uuid | header | string | Yes | UUID provided by the callee |
| createTs | header | string | Yes | Request timestamp (in seconds) |
| sign | header | string | Yes | Signature |
| algorithm | header | string | No | Signature algorithm: MD5 or SHA256, default to MD5 if left blank |
| body | body | object | No | None |
| » productID | body | string | Yes | Fixed value "callbot" |
| » userTaskID | body | string | Yes | Task ID generated and guaranteed to be unique by the caller. It is recommended to use UUID. |
| » orderList | body | [string] | Yes | List of order IDs, limited to a maximum of 500 |
Response Example
200 Response
{
"retCode": 0,
"retMsg": "string",
"responseID": "string",
"orderDetailList": [
{
"orderID": "string",
"userPhone": "string",
"userName": "string",
"sceneID": "string",
"userTaskID": "string",
"taskID": "string",
"finish": true,
"other": "string",
"callInfoDetailList": [
{
"callID": "string",
"callingNumber": "string",
"lineAddress": "string",
"callStatus": 1,
"callStartTs": 0,
"callAnswerTs": 0,
"callEndTs": 0,
"callDuration": 0,
"callAudioUrl": "string",
"hangupCause": "string",
"termSipCode": "string",
"intents": [
{}
],
"sms": [
{}
],
"agent": {
"agentName": null,
"agentGroup": null,
"agentCallStatus": null,
"agentCallElapsed": null,
"agentLabel": null,
"manualCallStart": null,
"manualCallAnswer": null,
"manualCallEnd": null,
"manualHangupBy": 0
},
"params": [
{}
],
"recordDetail": [
{}
]
}
]
}
]
}
Response Result
| Status Code | Status Code Meaning | Description | Data Model |
|---|---|---|---|
| 200 | OK | Success | Inline |
Response header
| Name | Type | Required | Description |
|---|---|---|---|
| requestID | string | Yes | Consistent with the request header |
| uuid | string | Yes | Consistent with the request header |
| createTs | string | Yes | Second level timestamp at response time |
| sign | string | Yes | The generation method is the same as the sign generation algorithm in the request header |
| algorithm | string | No | Consistent with the request header, signature algorithm: MD5 or SHA256, default to MD5 if not filled in |
Response Data Structure
Status Code 200
| Name | Type | Required | Constraint | Description |
|---|---|---|---|---|
| » retCode | integer | true | none | Response Code, 0 indicates success, others indicate failure |
| » retMsg | string | true | none | Response Message |
| » responseID | string | true | none | Random unique ID used for request tracking. It needs to be provided when troubleshooting the specific request |
| » orderDetailList | [object] | true | none | |
| »» orderID | string | true | none | Order ID |
| »» userPhone | string | true | none | Phone Number |
| »» userName | string | true | none | User Name |
| »» sceneID | string | true | none | Script Template ID |
| »» userTaskID | string | true | none | User Task ID |
| »» taskID | string | true | none | Task ID |
| »» finish | boolean | true | none | Order Completion |
| »» other | string | true | none | Transmission Field |
| »» callInfoDetailList | [object] | true | none | |
| »»» Call Details | object | false | none | Call Details |
| »»»» callID | string | true | none | Call ID |
| »»»» callingNumber | string | true | none | Calling number |
| »»»» lineAddress | string | true | none | Line IP |
| »»»» callStatus | integer | true | none | Call Status |
| »»»» callStartTs | integer | true | none | Call Start Timestamp |
| »»»» callAnswerTs | integer | true | none | The existence of a value for the answer timestamp does not indicate the call was answered. Please refer to the callStatus to determine the call status |
| »»»» callEndTs | integer | true | none | Call End Timestamp |
| »»»» callDuration | integer | true | none | Call Duration |
| »»»» callAudioUrl | string | true | none | Call recording URL (valid for 3 months) in the format of wav, e.g., https://xxxx.wav |
| »»»» hangupCause | string | true | none | hangup cause |
| »»»» termSipCode | string | true | none | sip code |
| »»»» intents | [object] | true | none | Intents can be obtained by querying the intention labels of the corresponding script template |
| »»»»» intentID | string | true | none | Intention Label ID |
| »»»»» intentTag | string | true | none | Intention labels can be obtained by querying the intention labels of the corresponding script template |
| »»»»» intentName | string | true | none | Intention Label Name |
| »»»» sms | [object] | false | none | SMS |
| »»»»» smsSendTs | integer | true | none | SMS Send Timestamp |
| »»»»» sysMessageID | string | true | none | SMS Send ID |
| »»»»» smsContent | string | true | none | SMS Content |
| »»»» agent | object | false | none | Agent Information |
| »»»»» agentName | string | true | none | Agent Name |
| »»»»» agentGroup | string | true | none | Agent Group |
| »»»»» agentCallStatus | integer | true | none | Agent Call Status |
| »»»»» agentCallElapsed | integer | true | none | Agent Call Duration |
| »»»»» agentLabel | string | true | none | Agent Label |
| »»»»» manualCallStart | integer | true | none | Manual Call Start |
| »»»»» manualCallAnswer | integer | true | none | Manual Call Answer |
| »»»»» manualHangupBy | integer | true | none | Abandoning who hung up 0: none, 1: Agent hung up, 2: User hung up |
| »»»»» manualCallEnd | integer | true | none | Manual Call End |
| »»»» params | [object] | false | none | Variables |
| »»»»» name | string | true | none | Variable Name |
| »»»»» value | string | true | none | Variable Value |
| »»»» recordDetail | [object] | false | none | Call Record Details |
| »»»»» recordWord | string | true | none | Record Text |
| »»»»» recordIndex | integer | true | none | Record Order |
| »»»»» recordRole | integer | true | none | Record Role |
| »»»»» recordType | integer | true | none | Record Type |
| »»»»» nodeID | string | true | none | Node ID |
| »»»»» nodeDesc | string | true | none | Node Description |
| »»»»» createTs | integer | true | none | Record Time |
Enumerated Values
| Property | Value | Description |
|---|---|---|
| callStatus | 1 | Call Preparation |
| callStatus | 2 | Dispatching |
| callStatus | 3 | Dialing |
| callStatus | 4 | Ringing |
| callStatus | 5 | In Call |
| callStatus | 6 | Call Completed |
| callStatus | 8 | Call Completed - Invalid Number |
| callStatus | 9 | Call Completed - Temporarily Unreachable |
| callStatus | 10 | Call Completed - User Busy |
| callStatus | 11 | Call Completed - User Busy and Rejected |
| callStatus | 12 | Call Completed - User Rejected |
| callStatus | 13 | Call Completed - User Rejected |
| callStatus | 15 | Call Completed - TTS Synthesis Failed |
| callStatus | 16 | Call Completed - Unknown Reason |
| callStatus | 17 | Call Completed - Blacklisted Number |
| callStatus | 18 | Call Completed - User Terminated |
| callStatus | 21 | Call Completed - Invalid Number (Number Check) |
| callStatus | 22 | Call ended - Ring missed |
| callStatus | 23 | Call ended - No response to call |
| callStatus | 24 | Call ended - Morning Media - Voice Mail |
| callStatus | 25 | Call ended - Ring too long |
| smsSendTs | 0 | Not Sent |
| smsSendTs | 1 | Sent |
| smsSendTs | 2 | Send Successful |
| smsSendTs | 3 | Send Failed |
| smsSendTs | 4 | Click Successful |
| agentCallStatus | 1 | Dialing |
| agentCallStatus | 2 | Ringing |
| agentCallStatus | 3 | Connected |
| agentCallStatus | 4 | Call Completed |
| agentCallStatus | 10 | Call Completed - Agent Busy |
| agentCallStatus | 12 | Call Completed - User Rejected |
| recordRole | 0 | Robot Record |
| recordRole | 1 | User Record |
| recordRole | 2 | Agent Record |
| recordType | 5 | User Timeout |
| recordType | 6 | User Interruption |
| recordType | 7 | User Normal Response |
| recordType | 8 | Server Response |
| recordType | 18 | Customer Service Reply |