通用接口


获取授权Token接口

接口说明

访问其他接口所需的token均需通过授权的Appid和Accesskey从此接口获取(批量IVR接口除外)。接口授权Token时效性为12小时

请求方式

POST,form-data格式

请求参数

参数名 类型 是否必须 说明
appid string 授权appid
accesskey string 授权accesskey
service string App.Sip_Auth.Login

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
    'service'    => 'App.Sip_Auth.Login',
    'appid'      => 'ABCDEFG',
    'accesskey'  => 'ABCDEFG',
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
    "ret":200,
    "data":{
        "status":0,
        "desc":"授权成功",
        "result":{
            "companycode":"1",
            "companyname":"test",
            "token":"773a70dd02f0695d50205e9b267692b9",
            "authtime":"2020-01-01 00:00:00",
            "authmodel":""
        },
        "reqtime":1581240882,
        "rsptime":1581240882
    },
    "msg":""
}

返回参数说明

参数名 类型 说明
companycode int 公司代码
companyname string 公司名称
token string 授权token,用来访问其他接口

清除Token接口

接口说明

当有新增分机或是分机进行调整后出现异常时,可以通过该接口清除Token后,再重新获取Token继续操作。

请求方式

POST,form-data格式

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Auth.Logout
token string Token字符串

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => ' App.Sip_Auth.Logout',
        'token'     => 'ABCDEFG',
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "注销成功",
        "reqtime": 1602655204,
        "rsptime": 1602655204
    },
    "msg": ""
}

全局错误码和状态码

一、接口异常错误

说明:ret为非200,msg为异常的错误信息。

{
    "ret":400, // 状态码
    "data":[],
    "msg":"非法请求:参数不合法"
}

ret msg 说明
400 非法请求 一般为参数不合法
500 服务器错误
600 token无效请重新登陆验证
601 appid未授权 请检查appid或联系客服人员是否授权
602 appid授权已到期
603 模块未授权
604 IP未授权 请联系厂商授权访问

二、接口请求正常,内部处理错误

说明:ret为200。data结构体里status为1,desc为失败的中文描述,errors为详细错误信息,其中code码请参照对应说明。msg为空。

{
    "ret": 200,
    "data": {
        "status": 1,
        "desc": "xxx失败",
        "errors": {
            "code": "1003",
            "codemsg": "授权失败"
        },
        "reqtime": 1507529858,
        "rsptime": 1507529858
    },
    "msg": ""
}

code codemsg 说明
1001 服务器连接失败 一般为网络原因
1002 操作异常 一般为校验异常等
1003 操作失败 一般是授权失败、注销失败、命令发送失败、服务器连接异常等
1010 分机异常 可能是新加的分机,需要重新登陆获取新token
1011 非法分机 非本公司所有
1012 分机不存在 分机号码状态
1013 分机已停用 分机号码状态
1014 分机未注册 分机号码状态
1015 分机不在通话中 分机号码状态
1016 分机已启用 分机号码状态
1017 分机已注册 分机号码状态
1018 号码已启用 主叫号码状态
1019 号码已禁用 主叫号码状态
1020 号码不存在 主叫号码状态
1021 非法号码 非本公司所有
1024 任务不存在 预测式任务接口返回状态
1025 未开始 预测式任务接口返回状态
1026 进行中 预测式任务接口返回状态
1027 暂停 预测式任务接口返回状态
1028 已结束 预测式任务接口返回状态
1201 空闲 分机合法、已启用并已注册
1202 振铃 分机呼叫状态
1203 摘机 分机呼叫状态
1204 通话中 分机呼叫状态
1205 用户拒接 被叫方拒接
1210 队列异常 预测式外呼中返回
1211 非法队列 不存在或非本公司所有
1212 未接听 已分配未接听
1213 等待中 等待分配(示闲)
1214 接收中 队列中的分机状态
1215 已接听 队列里的分机状态
1216 拒接 队列里的分机状态
1217 暂停 示忙
1218 已签入 队列中已签入该分机
10001 正常挂断 挂机原因
10002 呼叫取消 挂机原因
10003 拒绝接听 挂机原因
10004 外呼通道线路失败 挂机原因
10005 用户超时未接听 挂机原因
10006 用户忙 挂机原因
10007 服务器端挂断 挂机原因
10008 分机未注册 挂机原因
10009 目标不可达 挂机原因
10011 定时器超时 挂机原因
10012 呼入时回调接口错误 挂机原因
10013 分机不存在 挂机原因
10014 未发现 挂机原因
10015 请求超时 挂机原因
10016 无人接听 挂机原因
10017 呼叫失效 挂机原因
10019 归属地未知 挂机原因
10020 其它原因 挂机原因
10024 错误请求 挂机原因
10025 呼叫被禁止 挂机原因
10027 号码被改变 挂机原因
10028 呼叫拦截 挂机原因
10031 未知 挂机原因
10040 主叫挂机 挂机方向
10041 被叫挂机 挂机方向

通话状态回调参数说明

分机通话状态回调需要给对应的账号配置上回调地址即可。 分机通话状态的回调地址配置:由客户提供一个可以接收json数据的接口地址,由我们配置或客户自行在后台配置都可以。

分机通话状态回调数据格式
{
"buuid":"526d643a-e8fe-11ea-a84a-cf6e45e88543",
"callee":"87847569524",
"caller":"90240005",
"companycode":"9024",
"customuuid":"123Abc",
"direction":"callout",
"disnumber":"2190240001",
"extnumber":"90240005",
"isbleg":"false",
"method":"3",
"starttime":"1598598959",
"status":"ring",
"type":"call",
"uuid":"526d637c-e8fe-11ea-a849-cf6e45e88543"
}
分机通话状态回调参数说明
参数名 类型 说明
buuid string 通话b侧被叫号码的uuid
callee int 被叫号码(客户号码/目标号码)。指最终与坐席建立通话的外部用户号码。
caller int 主叫号码(坐席号码)。指实际发起通话或进行沟通的坐席真实号码(或分机号)。
companycode int 账号对应的公司id
customuuid string 自定义参数-客户id
direction string 呼叫方向:1、呼入; 2、呼出;
disnumber int 显示主叫(外显号码)。指客户手机上看到的来电号码。
extnumber int 分机号
isbleg string true为手机侧响铃;false为坐席侧响铃;
method string 呼叫方法:0、不限;1、分机互拨;2、分机直拨;3、API呼叫(默认);4、API双呼;5、预测式外呼;6、IVR/群呼。
starttime string 呼叫时间
status string 呼叫状态:ring 响铃、 answer 应答、 hangup 挂机
type string 呼叫类型
uuid string 通话uuid

通话记录回调参数说明

通话记录回调参数说明

话单回调需要给对应的账号配置上回调地址即可。 话单的回调地址配置:由客户提供一个可以接收json数据的接口地址,由我们配置或客户自行在后台配置都可以。

通话记录回调数据格式json

{
    "id": 263056202,
    "companycode": "9513923",
    "direction": "callout",
    "type": "callout",
    "callmethod": 6,
    "starttime": "2025-10-16 17:31:13",
    "answertime": "",
    "endtime": "2025-10-16 17:31:21",
    "duration": 8,
    "billsec": 0,
    "userid": "0",
    "memberid": "0",
    "chengshudu": "0",
    "ext": "0",
    "disnumber": "219513923001",
    "destnumber": "81351111451",
    "extnumber": "",
    "recordfilename": "",
    "downloadip": "",
    "hangupdirection": 10040,
    "hangupcause": 10020,
    "uuid": "db4a44cc-aa72-11f0-ad78-1d7ff0749d07",
    "userkey": "",
    "customuuid": "76c33d997640d36b033d43b1d2d3964e",
    "taskid": "",
    "round": 0,
    "recordurl": ""
}

通话记录回调参数说明

参数名 类型 说明
callmethod int 呼叫方法:0、不限;1、分机互拨;2、分机直拨(手拨);3、API呼叫(默认);4、API双呼;5、预测式外呼;6、IVR/群呼。
starttime string 呼叫时间
answertime string 应答时间
endtime string 通话结束时间
duration int 呼叫等待时长
billsec int 通话时长
userid string 员工工号
chengshudu string 自定义参数-(ext一致)
ext string 自定义参数-扩展参数
hangupdirection int 挂机方向: 10040 主叫挂机、10041 被叫挂机
hangupcause int 挂机原因代码: 10001 正常挂断、10002 呼叫取消、10003 拒绝接听、10004 外呼通道线路失败、10005 用户超时未接听、10006 用户忙
memberid string 自定义参数-会员id
disnumber string 主叫号码(最终显示在用户手机上的来电号码)
destnumber string 被叫号码 (呼叫的目标客户号码)。
downloadip string 录音下载ip
recordfilename string 录音文件名
type string 呼叫类型 callout呼出、callin呼入
extnumber string 分机号
uuid string 通话uuid
userkey string 用户按键
customuuid string 自定义参数-客户id
taskid string 预测外呼任务id
round string 预测外呼轮次
recordurl string 录音下载url
id int 数据id
companycode string 企业编号

获取通话录音下载链接接口

接口说明

获取通话记录文件的下载链接。目前通话录音保存3个月时间,建议同步保存到本地。

请求参数

参数名 类型 是否必须 说明
service string App.Sip_Cdr.GetRecodeFile
token string 通过授权接口获取的token
filename string 通话记录回调中返回的录音文件名

接口请求示例(PHP)

<?php
    $apiUrl = 'http://127.0.0.1:8080';
    $postFields = [
        'service'   => 'App.Sip_Cdr.GetRecodeFile',
        'token'     => 'ABCDEFG',
        'filename'  => 'abcdefg',
    ];
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $apiUrl);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($curl);
    $curlError = curl_error($curl);
    curl_close($curl);
    var_dump($response);
?>

返回数据结构示例

{
    "ret": 200,
    "data": {
        "status": 0,
        "desc": "获取成功",
        "result": {
            "downurl": "http://127.0.0.1:8080/abcdefg",
            "expiredtime": "失效时间:2020-02-11 17:27:23"
        },
        "reqtime": 1581412943,
        "rsptime": 1581412943
    },
    "msg": ""
}

返回参数说明

参数名 类型 说明
result objest 返回的结果集
downurl string 通话录音文件下载链接
expiredtime string 下载链接失效时间