Skip to content

Callbot API orderList

Jcateye edited this page Dec 16, 2024 · 5 revisions

callbot-api

v1.0.0

Base URLs:

aibot External API v3.0/Order Operation

Authentication Method

Please refer to the documentation for authentication:https://github.com/nxtele/http-api-document/wiki/Callbot-API-authorization

POST List Call Orders

POST /callcentre/api/v3/listOrder

List order information and the last call status of the order.

Request Body Parameters

{
  "productID": "callbot",
  "userTaskID": "string",
  "options": {
    "orderID": [
      "string"
    ],
    "intentID": [
      "string"
    ],
    "intentName": [
      "string"
    ],
    "intentTag": [
      "string"
    ],
    "finish": 1,
    "turnTime": {
      "gt": 0,
      "lt": 0,
      "enable": true
    },
    "callDuration": {
      "gt": 0,
      "lt": 0,
      "enable": true
    },
    "callStatus": [
      1
    ]
  },
  "page": 1,
  "size": 100
}

Request Parameters

Name Location Type Required Description
requestID header string Yes Unique request ID
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
» productID body string Yes Constant value: "callbot"
» userTaskID body string Yes Task ID generated and ensured to be unique by the requester, recommended to use UUID
» options body object Yes Query conditions
»» orderID body [string]¦null No Order ID imported by the caller when importing calls
»» intentID body [string]¦null No Backend intent ID, can be obtained by querying the intent tags settings of the corresponding dialogue template of the task
»» intentName body [string]¦null No Backend intent name, can be obtained by querying the intent tags settings of the corresponding dialogue template of the task
»» intentTag body [string]¦null No User-defined intent tag
»» finish body integer¦null No Call completed
»» turnTime body object¦null No Dialogue turns
»»» gt body integer No Greater than
»»» lt body integer No Less than
»»» enable body boolean Yes Use turnTime condition
»» callDuration body object¦null No Call duration
»»» gt body integer No Greater than
»»» lt body integer No Less than
»»» enable body boolean Yes Condition enabled
»» callStatus body [integer]¦null No Call status of the call order. Please refer to the "Call Status Enumerated Values" document for the enumerated values
» page body integer Yes Page number
» size body integer Yes Page size

Enumerated Values

Attribute Value
»» finish 1 Incomplete order
»» finish 2 Completed order
»» callStatus 1 Ready for call
»» callStatus 2 Dispatching
»» callStatus 3 Dialing
»» callStatus 4 Ringing
»» callStatus 5 In call
»» callStatus 6 Call finished - Completed call
»» callStatus 8 Call finished - Invalid number
»» callStatus 9 Call finished - Temporarily unreachable
»» callStatus 10 Call finished - User line busy
»» callStatus 11 Call finished - User line busy and rejected
»» callStatus 12 Call finished - User rejected
»» callStatus 13 Call finished - User rejected
»» callStatus 15 Call finished - TTS synthesis failure
»» callStatus 16 Call finished - Unknown reason
»» callStatus 17 Call finished - Blacklisted number
»» callStatus 18 Call finished - User stopped
»» callStatus 21 Call finished - Invalid number (Number detection is illegal, does not meet local number range)
»» 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

Response Example

200 Response

{
  "retCode": 0,
  "retMsg": "string",
  "responseID": "string",
  "totalCount": 0,
  "orderList": [
    {
      "orderID": "string",
      "userPhone": "string",
      "userName": "string",
      "sceneID": "string",
      "userTaskID": "string",
      "taskID": "string",
      "finish": true,
      "other": "string",
      "callInfoDetail": {
        "callID": "string",
        "callingNumber": "string",
        "lineAddress": "string",
        "callStatus": 1,
        "callStartTs": 0,
        "callAnswerTs": 0,
        "callEndTs": 0,
        "callDuration": 0,
        "callAudioUrl": "string",
        "hangupCause": "string",
    	"termSipCode": "string",
        "intents": [
          {
            "intentID": null,
            "intentTag": null,
            "intentName": null,
            "intentLevel": null
          }
        ],
        "sms": [
          {
            "smsSendTs": null,
            "sysMessageID": null,
            "smsContent": null
          }
        ],
        "agent": {
          "agentName": "string",
          "agentGroup": "string",
          "agentCallStatus": "[",
          "agentCallElapsed": 0,
          "agentLabel": "string",
          "manualCallStart": 0,
          "manualCallAnswer": 0,
          "manualCallEnd": 0,
          "manualHangupBy": 0
        },
        "params": [
          {
            "name": null,
            "value": null
          }
        ]
      }
    }
  ]
}

Response Result

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 Constraints Description
» retCode integer true none Response code, 0 for success, others for failure
» retMsg string true none Response message
» responseID string true none Random unique ID used for request tracking, needed to locate the request when troubleshooting issues
» totalCount integer true none Total orders
» orderList [object] true none Order list
»» 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 completed
»» other string true none Additional field
»» callInfoDetail object true 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 Having a value for the answer timestamp does not necessarily mean the call was answered. Please refer to callStatus to determine the call status
»»» callEndTs integer true none Call end timestamp
»»» callDuration integer true none Call duration in seconds
»»» callAudioUrl string true none Call recording URL (valid for 3 months), in the format of wav, such as 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 intent tags of the script template to which the task belongs
»»»» intentID string true none Intent tag ID
»»»» intentTag string true none Intents can be obtained by querying the intent tags of the script template to which the task belongs
»»»» intentName string true none Intent tag 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-related 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

Enumerated Values

Property Value
»» callStatus 1 Ready to call
»» callStatus 2 Dispatching
»» callStatus 3 Dialing
»» callStatus 4 Ringing
»» callStatus 5 In conversation
»» callStatus 6 Call ended - Completed call
»» callStatus 8 Call ended - Invalid number
»» callStatus 9 Call ended - Temporarily unreachable
»» callStatus 10 Call ended - User busy
»» callStatus 11 Call ended - User busy and rejected
»» callStatus 12 Call ended - User rejected
»» callStatus 13 Call ended - User rejected
»» callStatus 15 Call ended - TTS synthesis failed
»» callStatus 16 Call ended - Unknown reason
»» callStatus 17 Call ended - Blacklisted number
»» callStatus 18 Call ended - User stopped
»» callStatus 21 Call ended - Invalid number (number detection is illegal and does not meet the local number range)
»» 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 Completed call
»»» agentCallStatus 10 Call completed - Agent busy
»»» agentCallStatus 12 Call completed - User rejected

Introduction

WhatsApp

Short message

Voice

Call Center(NXLink)

Call Center(Callbot)

Flash Call

Short links

邮件验证码

DID号码

通用

号码检测

Clone this wiki locally