AICall接口
注意,本接口的使用需要进行接口鉴权
1.接口鉴权
请求头Header:
Content-Type: application/json;charset=utf-8;
Authorization: {auth_token}
路径参数 Path Param:
appid
GET参数 Query Param:
sig
属性 |
类型 |
约束 |
说明 |
appid |
String |
必填 |
应用ID,由32个英文字母和阿拉伯数 字组成的唯一标识符,可登录智能外呼云平台系统: 进入系统设置-接口设置页面查询到当前企业的appid |
apptoken |
String |
必填 |
应用密钥, 可登录智能外呼云平台系 统,进入系统设置-接口设置页面查询 到当前企业的apptoken |
timestamp |
String |
必填 |
当前系统时间戳,格式为yyyyMMddHHm mss,如20180416142030 |
auth_token |
String |
必填 |
令牌,appid、英文冒号、timestamp 字符串拼接之后,使用Base64编码得出 auth_token = Base64({appid}:{ timestamp}) |
sig |
String |
必填 |
签名, appid、apptoken、timestamp 字符串拼接之后,使用32位MD5加密并 转为大写得出, 有效期24小时 sig = MD5({appid}{apptoken}{timestamp}) |
2.创建任务
- 请求地址:POST /v1/api/application/{appid}/aicall/task/save?sig={SigParameter}
- 请求参数
属性 |
类型 |
约束 |
描述 |
举例说明 |
bot_ id |
integer |
必填 |
机器人ID |
机器人ID |
task_name |
string |
必填 |
任务名称 |
最大32个字符 |
task_desc |
string |
必填 |
任务描述 |
最大64个字符 |
start_date |
string |
必填 |
任务开始日期 |
时间格式:"2020-10-10"或"2020-10-10 00:00:00"。开始日期 必须在创建任务当日或以后 |
end_date |
string |
必填 |
任务结束日期 |
时间格式:"2020-10-10"或"2020-10-10 23:59:59"。结束日期 必须在开始日期当日或以后 |
max_concurrent |
integer |
必填 |
任务最大并发数 |
最大不能超过企业并发数 |
min_concurrent |
integer |
必填 |
任务最小并发数 |
最小为1 |
isrecord |
integer |
必填 |
是否录音 |
是否录音
0:不录音 ,1:录音。缺省0。 |
disnumber |
string |
必填 |
外显号码 |
显号 |
caller |
string |
必填 |
主叫号码 |
主叫 |
disnumberType |
integer |
必填 |
外显类型 |
1:号码,2:动态外显 |
carrierNumRuleId |
integer |
非必填 |
动态外显ID |
外显类型为2时,该字段为必填 |
ext_num_flag |
integer |
非必填 |
分机号标识 |
1:开启,其他:不开启 |
call_policy |
array < object > |
选填 |
呼叫策略 |
每{}表示一条呼叫策略 |
call_policy包含字段如下:
属性 |
类型 |
约束 |
描述 |
举例说明 |
policy |
string |
必填 |
策略内容 |
每条策略最大255个字符,类 型为string |
type |
int |
必填 |
策略类型 |
0-禁呼 1-重呼 |
type = 0,禁呼策略,当多条禁呼策略发生冲突的时候,优先遵守影响范围最大的策略。
默认禁呼策略为:
晨间禁呼(禁呼时段:00:00:00~09:00:00)
夜间禁呼(禁呼时段:21:00:00~23:59:59)
属性 |
类型 |
约束 |
描述 |
举例说明 |
policy_type |
int |
必填 |
业务类型 |
同一任务内的策略名称不 可重复 |
policy_name |
string |
必填 |
策略名称 |
0-禁呼 1-重呼 |
policy_date |
string |
必填 |
禁呼时间 |
policy_type为0时,poli cy_date的格式为:起始 时间,结束时间。 时间格 式为:09:00:00
policy_type为1时,poli cy_date需枚举出禁呼日 期,例如工作日的格式为 :周一,周二,周三,周四, 周五
policy_type为2时,poli cy_date的格式为:起始 日期时间,结束日期时间 。日期格式为:2020-05- 01 |
type = 1,重呼策略,指定需要重呼的通话状态。
属性 |
类型 |
约束 |
描述 |
举例说明 |
policy_type |
int |
必填 |
业务类型 |
预留字段,暂无意义,固 定为0 |
policy_name |
string |
必填 |
策略名称 |
同一任务内的策略名称不 可重复 |
policy_reason |
array < int > |
必填 |
通话状态 |
指定需要重呼的通话状态 ,具体通话状态参见reason码值表,建议使用policy_code |
policy_code |
array < int > |
必填 |
指定重呼策略 |
如果policy_code以及policy_reason同时不为空,以policy_code为准。
policy_code说明:
无法接通 2 ,用户拒接 3 ,正在通话 4 ,用户正忙 5 , 关机 6 ,停机 7
网络忙 9 ,无人接听 10 ,呼叫转移 11 ,呼出限制 12 ,其他 -1 |
policy_times |
int |
必填 |
重呼次数 |
最大5次 |
policy_delay |
int |
必填 |
重呼间隔 (单位:天) |
最大10天, 与首次呼叫间 隔指定时间之后重呼 |
uncalled_first |
boolean |
选填 |
是否优先未拨打 |
默认false优先重呼,true则优先未拨打 |
recall strategy |
int |
选填 |
重呼策略 |
0 隔日重呼,1当日重呼,默认0 |
policy_delay_minute |
int |
选填 |
重呼间隔(单位:分钟) |
默认为60分钟,最小为30分钟,最大为120分钟 |
delay_strategy |
int |
选填 |
间隔策略 |
0 任务号码全部执行一次后重呼,1 呼叫单个号码后定时重呼 默认:0 |
POST /v1/api/application/2015031400000011/aicall/task?sig=C1F20E7A973 HTTP/1.1
Host: 192.168.0.1:8883
Accept:application/json;
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTABCE=
Rand: 201803090129132330
{
"bot_ id": 2000,
"task_name": "测试任务01",
"task_desc": "用于测试创建任务2020-06-01",
"start_date": "2020-10-10",
"end_date": "2020-10-10",
"max_concurrent": 1,
"min_concurrent": 1,
"isrecord": 0,
"disnumber": "0101234567",
"caller": "01012345678",
"disnumberType": 2,
"carrierNumRuleId":66,
"call_policy": [{
"type": 0,
"policy": "{\"policy_type\":0,\"policy_name\":\"晚间\",\"policy_date\":\"21:00:00,23:59:59\"}"
},
{
"type": 0,
"policy": "{\"policy_type\":1,\"policy_name\":\"双休\",\"policy_date\":\"周六,周日\"}"
},
{
"type": 0,
"policy": "{\"policy_type\":2,\"policy_name\":\"劳动节\",\"policy_date\":\"2020-05-01 00:00:00,2020-05-04 23:59:59\"}"
}, {
"type": 1,
"policy":
"{\"policy_type\":0,\"policy_name\":\"重呼策略\",\"policy_reason\":[772,604,600],\"policy_times\":1,\"policy_delay\": 1,\"uncalled_first\":false,\"recall_strategy\":1,\"policy_delay_minute\":120, \"delay_strategy\":1}"
}
]
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果集 |
taskId |
string |
创建任务的任务ID |
HTTP/1.1 200 OK
Content-Length: 641
{
"code":"000000",
"msg":"success",
"data": {
"taskId":"1234567890"
}
}
3.送号接口
- 请求地址:POST /v1/api/application/{appid}/aicall/set-number?sig={SigParameter}
- 请求参数
属性 |
类型 |
约束 |
描述 |
说明 |
taskid |
string |
必填 |
任务id |
最大32个字符 |
vars |
array |
必填 |
变量。采用JSON格式表示。 |
vars中参数依据任务定义的变 量而定。 phone为必填项。
[ "{\"name\":\"xx\",\"ph one\":\"13012345678\", \"userdata\":\"123456\ ",\"sex\":\"\",\"addre ss\":\"xxxxxxxx\"}", "{\"name\":\"xx\",\"ph one\":\"13012345679\", \"userdata\":\"123123\ ",\"sex\":\"\",\"addre ss\":\"xxxxxxxx\"}" ] |
count |
int |
必填 |
号码数量 |
2 |
vars包含变量如下:
属性 |
类型 |
约束 |
描述 |
举例说明 |
phone |
string |
必填 |
手机号 |
长度为11位的手机号码 |
name |
string |
选填 |
姓名 |
长度(32)
|
userdata |
string |
选填 |
透传字段 |
123456 |
sex |
string |
选填 |
性别 |
先生/女士
|
address |
string |
选填 |
地址 |
xx省xx市xx县xx |
ext_num |
string |
选填 |
分机号标识 |
分机号标识 |
POST /v1/api/application/2015031400000011/aicall/set-number?sig=C1F20E7A973 HTTP/1.1
Host: 192.168.0.1:8883
Accept:application/json;
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTABCE=
{
"taskid": "15260201958387204985",
"vars": [
"{\"name\":\"xx\",\"phone\":\"13012345678\",\"userdata\":\"123456\",\"email\":\"email@mail.com\",\"address\":\"x x省xx市xx县xx\"}",
"{\"name\":\"xx\",\"phone\":\"13012345679\",\"userdata\":\"123123\",\"email\":\"email2@mail.com\",\"address\":\" xx省xx市xx县xx\"}"
],
"count": 2
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果集 |
data.total |
int |
送号总数 |
data.successNums |
int |
送号成功数 |
data.jsonInvalidNums |
int |
json格式错误,无法解析的个数 |
data.variableError |
array |
变量异常的号码。 变量异常:号码为空、号码 格式异常、变量缺失、变量不合法。 |
data.repeatInfo |
map |
符合条件的号码中,重复号码的信息号码重复次数 |
data.blackNumber |
array |
过滤黑名单号码 |
data.overNumber |
array |
超出上线号码 |
HTTP/1.1 200 OK
Content-Length: 641
{
"code": "000000",
"msg": "success”",
"data": {
"total": 10,
"successNums": 4,
"jsonInvalidNums":0,
"variableError": [
"13000000001",
"130"
],
"blackNumber": [
"13000000002"
],
"repeatInfo": {
"13000000003": 2
},
"overNumber": [
"13000000004"
]
}
}
4.送号接口-SM4加密
- 请求地址:POST /v1/api/application/sm4/{appid}/aicall/set-number?sig={SigParameter}
- 请求参数说明:请求参数使用sm4进行加密,并进行base64处理。分组加密模式ECB ,分组填充方式 PKCS5Padding。
密钥请在aicall 系统设置-接口设置 中获取。加密后的string使用data字段进行上送。
属性 |
类型 |
约束 |
描述 |
举例说明 |
taskid |
string |
必填 |
任务id |
最大32个字符 |
vars |
array[string] |
选填 |
外呼号码信息 |
信息 vars字段为外呼号码信息NumInfo对象的json字符串数组。 依据NumInfo中的属性由任务绑定的机器人中使用的变量而定。 其中phone为必选项。
["{\"name\":\"xx\",\"phone\":\"13012345678\",\"userdata\":\"123456\",\"sex\":\"先生\",\"address\":\"xx省xx市xx县xx\"}",
"{\"name\":\"xx\",\"phone\":\"13012345679\",\"userdata\":\"123123\",\"sex\":\"女士\",\"address\":\"xx省xx市xx县xx\"}"] |
count |
int |
必填 |
号码数量 |
2 |
vars包含变量如下:
属性 |
类型 |
约束 |
描述 |
举例说明 |
phone |
string |
必填 |
手机号 |
长度为11位的手机号码 |
name |
string |
选填 |
姓名 |
长度(32) |
userdata |
string |
选填 |
透传字段 |
业务层透传字段,通话结束回调会原样透传 |
sex |
string |
选填 |
性别 |
先生/女士 |
address |
string |
选填 |
地址 |
xx省xx市xx县xx |
xxxx |
string |
选填 |
变量信息 |
供流程使用的变量信息 |
- 请求示例
假设密钥为"e5cec1661c290b3b252ed5af065bf877"
POST /v1/api/application/2015031400000011/aicall/set-number?sig=C1F20E7A973 HTTP/1.1
Host: 192.168.0.1:8883
Accept:application/json;
Content-Type: text/plain;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTABCE=
//原始文本
{
"taskid": "15260201958387204985",
"vars": [
"{\"name\":\"xx\",\"phone\":\"13012345678\",\"userdata\":\"123456\",\"email\":\"email@mail.com\",\"address\":\"xx省xx市xx县xx\"}",
"{\"name\":\"xx\",\"phone\":\"13012345679\",\"userdata\":\"123123\",\"email\":\"email2@mail.com\",\"address\":\"xx省xx市xx县xx\"}"
],
"count": 2
}
//加密后文本
{
"data": "nwhraXueXP0q5g7YpPMgc4ieBReqJcAAqlEl+oAKVUJss/lEJXbZ2VU96uz0Iznx8+cCcYN4DgBOKVAjks5GXmyWLAZASt6qONE6C/34sExo80/hx7XQkr3dkSSg1IB77Xef9B6n1CMOkc/lqtqILBCTQ91AEGjDCJwQ9bq25kXvo8nCbxk5fxiWGQ5to+FtMAE0kbpbgk4OiRQNukXjTwgAEQNfuyF24x0TIDOtVhAAXlF3wUOBLrfNZHUhTvnzUEuNohLZU3qr7FJJEYmZEDAQC8UE0wnx7YXIH/bKStJAoiE9KGV0ibGDxu6e+ycPCgjS5UyBhhPHGeOlc+LQHRQKz/Cgfs4Iz4/1fIwNcGn2uEIFuAIvXI7lq1tirfgvpCY6NngYU/HO/23PerXq01bRx0GjX4/Vd8fvqZKEhWyBu6VoE3hRKbNEyLUHpjswiZti5K+QTl5e+39NG4YuIA=="
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果集 |
data.total |
int |
送号总数 |
data.successNums |
int |
送号成功数 |
data.jsonInvalidNums |
int |
json格式错误,无法解析的个数 |
data.variableError |
array |
变量异常的号码。 |
变量异常:号码为空、号码 格式异常、变量缺失、变量不合法。 |
|
|
data.repeatInfo |
map |
符合条件的号码中,重复号码的信息<号码,重复次数> |
data.blackNumber |
array |
过滤黑名单号码 |
data.overNumber |
array |
超出任务送号数量上限的号码,任务送号数量最多50W |
HTTP/1.1 200 OK
Content-Length: 641
{
"code": "000000",
"msg": "success",
"data": {
"total": 10,
"successNums": 4,
"jsonInvalidNums":0,
"variableError": ["13000000001","130"],
"blackNumber": ["13000000002"],
"repeatInfo": {"13000000003":2},
"overNumber": ["13000000004"]
}
}
5.回调接口
- 回调地址:POST /{callback}
- 回调请求包头
属性 |
类型 |
约束 |
说明 |
timestamp |
String |
必选 |
发送回调请求的时间,格式为 yyyy-MM-dd HH:mm:ss,时区为 GMT+8 |
sign |
String |
必选 |
验证参数,生成规则详见下方说明 |
鉴权方式 : 请求方在请求头中加上 sign 签名,数据接收方从请求头中获取到 sign,使用同样 的加密方式生成 sign 参数,验证 sign 签名是否一致。
sign 签名规则:
①使用约定的密钥(配置的 secret)对配置的 secret 使用 HmacSHA256(utf-8 编码)摘要处理生成签名 sign。
②生成的 sign 使用 Base64 进行编码后放进 key 为 sign 的请求头中。
③接收方从请求头中获取 sign 签名。
public String HamcSHA256(String key, String data) {//(key 和 data 都为配置的 secret)
try {
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
sha256_HMAC.init(secretKey);
byte[] array = sha256_HMAC.doFinal(data.getBytes(StandardCharsets.UTF_8));
return Base64.getEncoder().encodeToString(array);
} catch (Exception e) {
throw new CCPServiceException(ErrorCodeConstants.ERROR_COD
E_REQUEST_PARAMS_FORMAT_ERROR, "HamcSHA256 Encryption failed");
}
}
属性 |
类型 |
描述 |
举例说明 |
botId |
int |
机器人id |
例如:4900 |
taskId |
string |
任务id(仅限外呼机器人) |
外呼任务的taskid |
taskName |
string |
任务名称(仅限外呼机器人) |
例如:外呼任务01 |
disnumber |
string |
显号(仅限外呼机器人) |
例如:4022000001 |
callid |
string |
呼叫 id |
例如:3E8-5B2B55D8-16ED-0 |
direction |
string |
呼叫类型 |
呼叫类型: 0-呼入、1 -外呼 |
caller |
string |
主叫 |
40010002000 |
called |
string |
被叫 |
18000000000 |
calledName |
string |
被叫姓名(仅限外呼机器人) |
张三 |
startTime |
string |
拨打时间/来电时间 |
时间格式: 2020-10-10 10:00:00 |
endTime |
string |
挂机时间 |
时间格式: 2020-10-10 10:00:00 |
duration |
string |
通话时长 |
单位:秒 |
reason |
int |
呼叫状态 |
呼叫失败原因:0-成功、非0-失败,详见下方reason码值表 |
reasonText |
string |
呼叫状态说明 |
呼叫状态对应的中文说明 |
hangupPart |
string |
挂断方 |
系统端、用户端 |
hangupNode |
string |
挂机节点名称 |
机器人回答
|
recordUrl |
string |
录音下载地址 |
如果没有录音,则返回为空
|
userdata |
string |
扩展字段 |
用户扩展字段
|
tags |
array |
客户标签 |
例如:["是本人","同意还款"] |
rounds |
int |
交互轮次,按用户说话次数计 |
3 |
intent |
string |
用户意向度 |
A级意向度
|
province |
string |
省份 |
省份
|
city |
string |
城市 |
城市
|
text |
array |
对话文本 |
JSON数组格式
|
text包含字段如下:
属性 |
类型 |
约束 |
说明 |
举例说明 |
idx |
int |
必填 |
对话序列 |
例如:1、2、3...
|
role |
string |
必填 |
讲话角色 |
user-用户,robot-机器人
|
msg |
string |
必填 |
讲话内容 |
例如:你好 |
POST /{callback} HTTP/1.1
{
"botId": 4900,
"taskId": "1234567890",
"taskName": "外呼任务01",
"disnumber": "4022000001",
"callid": "3E8-5B2B55D8-16ED-0",
"direction": 1,
"caller": "12345678901",
"called": "13100010001",
"startTime": "2020-10-10 10:00:00",
"endTime": "2020-10-10 10:00:00",
"duration": 30,
"reason": 0,
"hangupPart":"用户端",
"recordUrl": "https://ip:port/xxx/2020-10-10/10-00/01053270142_13800138000_20180823161604.wav", "userdata": "ABC100",
"tags": ["是本人"],
"rounds": 3,
"intent": "意向度名称",
"text": [{
"idx": 1,
"role": "robot",
"msg": "您好,请问您是张三吗"
}, {
"idx": 2,
"role": "user",
"msg": "嗯"
}]
}
属性 |
类型 |
说明 |
statuscode |
string |
请求状态码,取值:000000(成功)
|
HTTP/1.1 200 OK
Content-Length: 641
{
"statuscode":"000000"
}
6.获取对话记录接口
- 请求地址:POST /v1/api/application/{appid}/aicall/callrecord/pop-up?sig={SigParameter}
- 请求参数
属性 |
类型 |
约束 |
描述 |
举例说明 |
called |
string |
必填 |
被叫 |
最大16个字符
|
caller |
string |
必填 |
主叫 |
最大16个字符
|
userdata |
string |
必填 |
业务系统唯一标识 |
备注:主叫、被叫、userdata 不能全为空
|
createtime |
string |
选填 |
创建时间 |
yyyy-MM-dd HH:mm:ss |
POST /v1/api/application/2015031400000011/aicall/callrecord/pop-up?sig=C1F20E7A973 HTTP/1.1
Host: 192.168.0.1:8883
Accept:application/json;
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTABCE=
{
"called":null,
"caller":"15311370010",
"userdata":"",
"createtime":""
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功)
|
msg |
string |
请求状态码描述,取值:sucess(成功)
|
data |
object |
结果集
|
id |
int |
id
|
appid |
String |
应用id
|
sessionid |
String |
会话id
|
botId |
int |
机器人id
|
type |
int |
对话类别 0 AI机器人 1客户
|
content |
String |
对话内容
|
createTime |
String |
创建时间
|
HTTP/1.1 200 OK
Content-Length: 641
{
"code": "000000",
"data": [
{
"id": 10974,
"appid": "20150314000000110000000000000010",
"sessionid": "d4e412f9e5817473d6b38a280e329211",
"botId": 6237,
"type": 0,
"content": "请问您是否还有其他疑问呢",
"createTime": "2020-12-03 10:01:09"
},
{
"id": 10977,
"appid": "20150314000000110000000000000010",
"sessionid": "d4e412f9e5817473d6b38a280e329211",
"botId": 6237,
"type": 1,
"content": "我在。",
"createTime": "2020-12-03 10:01:21"
},
... {
"id": 10980,
"appid": "20150314000000110000000000000010",
"sessionid": "d4e412f9e5817473d6b38a280e329211",
"botId": 6237,
"type": 0,
"content": "您好,您能听到我说话吗?",
"createTime": "2020-12-03 10:01:33"
},
{
"id": 10983,
"appid": "20150314000000110000000000000010",
"sessionid": "d4e412f9e5817473d6b38a280e329211",
"botId": 6237,
"type": 0,
"content": "您好,您还在吗?",
"createTime": "2020-12-03 10:01:46"
}
]
}
7.获取唯一对话记录接口
注:该接口通过callid/sessionid获取唯一对应通话记录,请按需对接相关接口。
属性 |
类型 |
约束 |
描述 |
举例说明 |
sessionid |
string |
选填 |
sessionid |
|
callid |
string |
选填 |
通话id |
备注:sessionid、callid不能同时为空,同时填写时以sessionid为 |
{
"sessionid": "c28c05a44f1b0daf5ee6ca1a63742410",
"callid": "17702-65BF3020-00BD-0"
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果集 |
id |
int |
id |
appid |
String |
应用id |
sessionid |
String |
会话id |
botId |
int |
机器人id |
type |
int |
对话类别,0 AI机器人 1客户 |
content |
String |
对话内容 |
createTime |
String |
创建时间 |
{
"code": "000000",
"data": [
{
"id": 496423,
"appid": "9017BFD7BA3AECE4F65F767641C2A137",
"sessionid": "c28c05a44f1b0daf5ee6ca1a63742410",
"botId": 315,
"flowId": 479,
"type": 1,
"content": "你好你好。",
"recordInterval": "1709645609580,2284",
"recordFile": "/20240305/85fb962e46d44232-3.wav",
"createTime": "2024-03-06 11:33:31",
"updateTime": "2024-03-06 11:33:18"
},
{
"id": 496427,
"appid": "9017BFD7BA3AECE4F65F767641C2A137",
"sessionid": "c28c05a44f1b0daf5ee6ca1a63742410",
"botId": 315,
"flowId": 479,
"type": 0,
"content": "啥也没命中,再见",
"createTime": "2024-03-06 11:33:32",
"updateTime": "2024-03-06 11:33:18"
}
]
}
8.删除待呼叫号码
- 请求地址:POST /v1/api/application/{appid}/aicall/remove-number?sig={SigParameter}
- 请求参数
属性 |
类型 |
约束 |
描述 |
举例说明 |
taskId |
string |
必填 |
任务id |
最大32个字符 |
phones |
array |
必填 |
长度为11位的手机号码 |
[ "13012345678", "13012345679" ] |
POST /v1/api/application/2015031400000011/aicall/remove-number?sig=C1F20E7A973 HTTP/1.1
Host: 192.168.0.1:8883
Accept:application/json;
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTABCE=
{
"taskId": "15260201958387204985",
"phones": [
"13012345678",
"13012345679"
]
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功)
|
msg |
string |
请求状态码描述,取值:sucess(成功)
|
HTTP/1.1 200 OK
Content-Length: 641
{
"code": "000000",
"msg": "success"
}
9.通话记录列表接口
- 请求地址:POST /v1/api/application/{appid}/aicall/callrecord/list?sig={SigParameter}
- 请求参数
属性 |
类型 |
约束 |
描述 |
举例说明 |
callType |
Integer |
必填 |
呼叫类型 |
呼入:0,外呼: 1 |
startDate |
String |
必填 |
开始时间点 |
呼叫开始时间范围检索;格式 yyyy-MM-dd HH:mm:ss,时间间隔不能超过七天 |
endDate |
String |
必填 |
结束时间点 |
呼叫开始时间范围检索;格式 yyyy-MM-dd HH:mm:ss,时间间隔不能超过七天 |
taskId |
Array |
选填 |
任务ID |
传该ID后系统将检索对应ID下的通话记录,支持多个,
例:["16258112725674430530","16257335108580728619","16257335108580720514"] |
displayNumber |
Array |
选填 |
外显号 |
传该值后系统将检索对应的通话记录,支持多个 例:["02126137788","02126137789"] |
trunkNumber |
Array |
选填 |
服务号 |
传该值后系统将检索对应的通话记录,支持多个 例:["13974710828","15620512945"]
|
botId |
Array |
选填 |
机器人id |
传该ID后系统将检索对应ID下的通话记录,支持多个 例:[631,629, 4900 ]
|
minDuration |
Integer |
选填 |
起始时段 |
通话时长范围检索 单位:秒
|
maxDuration |
Integer |
选填 |
结束时段 |
|
reason |
Array |
选填 |
呼叫状态 |
呼叫状态,支持多个 例:[0,1]
|
page |
Integer |
选填 |
页数 |
默认是1
|
pageSize |
Integer |
选填 |
每页条数 |
默认是10000 |
POST /v1/api/application/2015031400000011/aicall/list?sig=C1F20E7A973 HTTP/1.1
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTABCE=
{
"page": 1,
"pageSize": 10,
"callType": 1,
"startDate":" 2021-07-07 10:00:00",
"endDate":"2021-07-13 10:00:00",
"taskId":["16258112725674430530","16257335108580728619"],
"displayNumber":["02126137788","2222"],
"trunkNumber":["13974710828","15620512945"],
"botId":[631,629],
"minDuration":1,
"maxDuration":20,
"reason":[0,1]
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功)
|
msg |
string |
请求状态码描述,取值:sucess(成功)
|
data |
object |
结果集
|
botId |
int |
机器人id
|
taskId |
string |
任务id
|
taskName |
string |
任务名称
|
disnumber |
string |
显号
|
callid |
string |
呼叫id
|
direction |
string |
呼叫类型 0:呼入 1:外呼
|
caller |
string |
主叫号码
|
called |
string |
被叫号码
|
startTime |
string |
接听时间 格式:2021-07-12 11:38:36
|
endTime |
string |
挂机时间 格式:2021-07-12 11:38:56
|
duration |
int |
通话时长
|
reason |
int |
呼叫状态 呼叫失败原因:0-成功、非0-失败
|
hangupPart |
string |
挂断方 0:用户端 1:系统端
|
recordUrl |
string |
录音下载地址
|
userdata |
string |
扩展字段
|
tags |
Array |
客户标签
|
tagsname |
string |
标签名称
|
levels |
int |
标签级别
|
text |
Array |
对话文本
|
idx |
int |
对话序列
|
role |
string |
讲话角色 user:用户 robot:机器人
|
msg |
string |
讲话内容
|
hangupNode |
string |
挂机节点
|
transferFlag |
integer |
通话是否转接 0无转接,1触发转接 |
province |
string |
省 |
city |
string |
市 |
HTTP/1.1 200 OK
Content-Length: 641
{
"code": "000000",
"data": {
"numPerPage": 4,
"totalRows": 6,
"totalPages": 2,
"currentPage": 1,
"startIndex": 0,
"lastIndex": 3,
"resultList": [
{
"botId": 631,
"taskId": "16258112725674430530",
"taskName": "测试TTS",
"disnumber": "02126137788",
"callid": "17701-60E7EA55-0001-0",
"direction": 1,
"called": "15620512945",
"startTime": "2021-07-12 11:38:36",
"endTime": "2021-07-12 11:38:56",
"duration": 20,
"reason": 0,
"hangupPart": "1",
"recordUrl": "https://aimatrix-test.7moor.com:8888/9017BFD7BA3AECE4F65F767641C2A137/2021-07-12/11-38/02126137788_15620512945_20210712113831.wav",
"userdata": "111",
"tags": [],
"text": [
{
"idx": 1,
"role": "robot",
"msg": "您好,这里是教育,请问您是张三先生吗?"
},
{
"idx": 2,
"role": "robot",
"msg": "您好,您还在吗?"
},
{
"idx": 3,
"role": "robot",
"msg": "您好,您能听到我说话吗?"
}
],
"hangupNode": "开场"
},
{
"botId": 631,
"taskId": "16258112725674430530",
"taskName": "测试TTS",
"disnumber": "02126137788",
"callid": "17701-60E696CC-0005-0",
"direction": 1,
"called": "15620512945",
"startTime": "2021-07-09 14:15:14",
"endTime": "2021-07-09 14:17:21",
"duration": 127,
"reason": 0,
"hangupPart": "1",
"recordUrl": "https://aimatrix-test.7moor.com:8888/9017BFD7BA3AECE4F65F767641C2A137/2021-07-09/14-15/02126137788_15620512945_20210709141510.wav",
"userdata": "111",
"tags": [],
"text": [
{
"idx": 1,
"role": "robot",
"msg": "您好,这里是教育,请问您是张三先生吗?"
},
{
"idx": 2,
"role": "robot",
"msg": "您好,您还在吗?"
}
],
"hangupNode": "开场"
},
{
"botId": 629,
"taskId": "16254659942796440334",
"taskName": "涉世未深",
"disnumber": "02126137788",
"callid": "17701-60E65415-0001-0",
"direction": 1,
"called": "15620512945",
"startTime": "2021-07-08 09:30:42",
"endTime": "2021-07-08 09:30:56",
"duration": 14,
"reason": 0,
"hangupPart": "1",
"recordUrl": "https://aimatrix-test.7moor.com:8888/9017BFD7BA3AECE4F65F767641C2A137/2021-07-08/09-30/02126137788_15620512945_20210708093035.wav",
"userdata": "111",
"tags": [
{
"tagsname": "三级标签不好说",
"levels": 3
},
{
"tagsname": "四标签",
"levels": 4
},
{
"tagsname": "五级标签",
"levels": 5
},
{
"tagsname": "六级标签",
"levels": 6
},
{
"tagsname": "七级标签",
"levels": 7
},
{
"tagsname": "八级标签",
"levels": 8
}
],
"text": [
{
"idx": 1,
"role": "robot",
"msg": "你好"
}
],
"hangupNode": "机器人回答"
},
{
"botId": 629,
"taskId": "16257335108580728619",
"taskName": "ceshiyixia",
"disnumber": "02126137788",
"callid": "17701-60E696CC-0002-0",
"direction": 1,
"called": "15620512945",
"startTime": "2021-07-09 13:52:52",
"endTime": "2021-07-09 13:54:59",
"duration": 127,
"reason": 0,
"hangupPart": "1",
"recordUrl": "https://aimatrix-test.7moor.com:8888/9017BFD7BA3AECE4F65F767641C2A137/2021-07-09/13-52/02126137788_15620512945_20210709135245.wav",
"userdata": "111",
"tags": [],
"text": [
{
"idx": 1,
"role": "robot",
"msg": "你好,这里是测试"
},
{
"idx": 2,
"role": "robot",
"msg": "您好,您还在吗?"
}
],
"hangupNode": "机器人回答"
}
]
}
}
10.动态外显列表接口
- 请求地址:GET /v1/api/application/{appid}/aicall/dynamic/list?sig={SigParameter}
- 请求示例
POST /v1/api/application/2015031400000011/aicall/dynamic/list?sig=C1F20E7A973 HTTP/1.1
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTCE=
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功)
|
msg |
string |
请求状态码描述,取值:sucess(成功)
|
data |
object |
结果集
|
id |
int |
id
|
ruleName |
string |
动态外显名称
|
HTTP/1.1 200 OK
Content-Length: 641
{
"code": "000000",
"data": [
{
"id": 56,
"ruleName": "lunlunx"
},
{
"id": 44,
"ruleName": "测试-执行中"
},
{
"id": 40,
"ruleName": "随机分配随机"
},
{
"id": 39,
"ruleName": "归属地优先"
}
]
}
11.获取机器人列表
- 请求地址:POST /v1/api/application/{appid}/aicall/bot/list?sig={SigParameter}
- 请求参数
属性 |
类型 |
约束 |
描述 |
说明 |
searchBotType |
string |
可选 |
任务搜索的机器人类型 id |
0外呼类型 1呼入类型 -1所有。默认为-1 |
botName |
string |
可选 |
机器人名称 |
小e |
status |
integer |
可选 |
机器人状态 |
0未上线,1已上线 |
start |
integer |
可选 |
当前页数 |
默认1 |
limit |
integer |
可选 |
每页数量 |
默认50 |
POST /v1/api/application/2015031400000011/aicall/bot/list?sig=C1F20E7A973 HTTP/1.1
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTCE=
{
"start": 1,
"limit": 10,
"callType": 1,
"searchBotType": "1",
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果集Page对象 |
属性 |
类型 |
说明 |
numPerPage |
integer |
分页数量 |
totalRows |
integer |
总数据量 |
totalPages |
integer |
总页数 |
currentPage |
integer |
当前页数 |
resultList |
array[Result] |
Result对象数组 |
属性 |
类型 |
说明 |
botId |
integer |
机器人id |
appId |
string |
应用id |
botName |
string |
机器人名称 |
botType |
integer |
机器人类型 0外呼 1呼入 |
botDesc |
string |
机器人描述 |
nlpEngine |
string |
模型类型,固定为RL-NLP |
tradeId |
integer |
所属行业id |
tradeName |
string |
所属行业名称 |
tts |
integer |
发音方式0纯录音 1纯tts 2录音+tts变量 |
status |
integer |
状态 0未上线 1已上线 |
createTime |
string |
创建时间 yyyy-MM-dd HH:mm:ss格式 |
updateTime |
string |
更新时间 yyyy-MM-dd HH:mm:ss格式 |
HTTP/1.1 200 OK Content-Length: 641
{
"code": "000000",
"data": {
"numPerPage": 10,
"totalRows": 19,
"totalPages": 2,
"currentPage": 2,
"resultList": [
{
"botId": 165,
"appId": "9017BFD7BA3AECE4F65F767641C2A137",
"botName": "yy_呼入测试",
"botType": 1,
"botDesc": "",
"nlpEngine": "RL-NLP",
"imgUrl": "img/system/0.png",
"tradeId": 8,
"status": 1,
"score": 0.6,
"createTime": "2023-07-03 13:57:17",
"updateTime": "2023-09-04 15:52:32",
"tradeName": "软件服务",
"tts": 1,
}
]
}
}
12.任务列表查询接口
- 请求地址:POST POST /v1/api/application/{appid}/aicall/task/getList?sig={SigParameter}
- 请求参数:
属性 |
类型 |
约束 |
描述 |
举例说明 |
taskStatus |
Integer |
选填 |
任务状态 |
任务状态(0未开始;1执行中;2已完成;3已停止;4任务异常;5已暂停;6禁呼中)、不填写时默认查询全部。 |
page |
Integer |
选填 |
页数 |
默认是1 |
pageSize |
Integer |
选填 |
每页条数 |
默认是10(最大为100) |
注意:0未开始、1执行中、6禁呼中、5已暂停状态的任务允许送号;2已完成、3已终止、4任务异常状态的任务不支持送号
{
"page": 1,
"pageSize": 10,
"taskStatus": 1
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果 |
data所包含内容如下:
属性 |
类型 |
说明 |
numPerPage |
integer |
分页数量 |
totalRows |
integer |
总数据量 |
totalPages |
integer |
总页数 |
currentPage |
integer |
当前页数 |
resultList |
array[Result] |
Result对象数组 |
resultList所包含内容如下:
属性 |
类型 |
说明 |
taskId |
string |
任务id |
taskName |
string |
任务名称 |
taskStatus |
int |
任务状态(0、未开始;1、执行中;2、已完成;3、已停止;4、任务异常;5、已暂停;6、禁呼中)。 |
botId |
int |
机器人id |
botStatus |
int |
机器人状态(0、未上线; 1、已上线) |
botName |
string |
机器人名称 |
{
"code": "000000",
"data": {
"numPerPage": 10,
"totalRows": 1,
"totalPages": 1,
"currentPage": 1,
"resultList": [
{
"taskId": "16946755474324671018",
"taskName": "testttawdawd",
"taskStatus": 1,
"botId": 28,
"botStatus": 1,
"botName": "xx机器人"
}
]
}
}
13.任务信息查询接口
- 请求地址:POST /v1/api/application/{{appid}}/aicall/task/getInfo?sig={{sig}}
- 请求参数:
属性 |
类型 |
约束 |
描述 |
说明 |
taskId |
string |
必选 |
任务id |
最大32个字符 |
POST /v1/api/application/2015031400000011/aicall/task/getInfo?sig=C1F20E7A973 HTTP/1.1
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTCE=
{
"taskId": "16946755474324671018"
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:success(成功) |
data |
object |
结果 |
data:
属性 |
类型 |
说明 |
taskId |
string |
任务id |
taskName |
string |
任务名称 |
taskStatus |
string |
任务状态(0、未开始;1、执行中;2、已完成;3、已停止;4、任务异常;5、已暂停;6、禁呼中) |
botId |
integer |
机器人id |
botStatus |
integer |
机器人状态(0、未上线; 1、已上线) |
HTTP/1.1 200 OK Content-Length: 641
{
"code": "000000",
"data": {
"taskId": "16946755474324671018",
"taskName": "testttawdawd",
"taskStatus": 1,
"botId": 28,
"botStatus": 1
}
}
14.任务状态操作接口
- 请求地址:POST /v1/api/application/{{appid}}/aicall/task/updateStatus?sig={{sig}}
- 请求参数:
属性 |
类型 |
约束 |
描述 |
举例说明 |
taskId |
string |
必选 |
任务id |
最大32个字符 |
command |
String |
必选 |
操作命令 |
"pause" 暂停操作、"resume" 重启操作、"stop"终止操作 |
- 请求约束规则:
操作时需满足机器人和任务状态,仅支持如下操作
机器人状态为 ”已上线“时支持如下操作
未开始 |
执行中 |
已暂停 |
禁呼中 |
暂停、终止 |
暂停、终止 |
终止、重启 |
暂停、终止 |
机器人状态为 ”未上线“时支持已暂停的任务进行终止操作
- 请求示例:
POST /v1/api/application/2015031400000011/aicall/task/updateStatus?sig=C1F20E7A973 HTTP/1.1
Content-Type: application/json;charset=utf-8;
Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmOAwN6MjAxMzAyMDExNTCE=
{
"taskId": "16946755474324671018",
"command":"resume"
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
data |
object |
结果 |
data:
属性 |
类型 |
说明 |
taskId |
string |
任务id |
taskName |
string |
任务名称 |
taskStatus |
string |
任务状态(0、未开始;1、执行中;2、已完成;3、已停止;4、任务异常;5、已暂停;6、禁呼中) |
botId |
integer |
机器人id |
botStatus |
integer |
机器人状态(0、未上线; 1、已上线) |
HTTP/1.1 200 OK Content-Length: 641
{
"code": "000000",
"data": {
"taskId": "16946755474324671018",
"taskName": "testttawdawd",
"taskStatus": 1,
"botId": 28,
"botStatus": 1
}
}
15.任务信息修改接口
注:调用该接口时,请先调用 任务信息查询接口,获取当前任务的状态。当前任务为“未开始”、“已暂停”才可运行该接口。
- 请求地址:POST /v1/api/application/{appid}/aicall/task/update?sig={SigParameter}
- 响应包体:
属性 |
类型 |
约束 |
描述 |
举例说明 |
task_id |
string |
必填 |
任务id |
最大32个字符 |
task_desc |
string |
必填 |
任务描述 |
最大64个字符 |
start_date |
string |
必填 |
任务开始日期 |
时间格式:"2020-10-10"或"2020-10-10 00:00:00"。开始日期 必须在创建任务当日或以后 |
end_date |
string |
必填 |
任务结束日期 |
时间格式:"2020-10-10"或"2020-10-10 23:59:59"。结束日期 必须在开始日期当日或以后 |
max_concurrent |
integer |
必填 |
任务最大并发数 |
最大不能超过企业并发数 |
min_concurrent |
integer |
必填 |
任务最小并发数 |
最小为1 |
disnumber |
string |
必填 |
外显号码 |
显号 |
caller |
string |
必填 |
主叫号码 |
主叫 |
disnumberType |
integer |
必填 |
外显类型 |
1:号码,2:动态外显 |
carrierNumRuleId |
integer |
非必填 |
动态外显ID 外显类型为2时,该字段为必填 |
|
call_policy |
array< object > |
选填 |
呼叫策略 |
每{}表示一条呼叫策略 |
call_policy包含字段如下:
属性 |
类型 |
约束 |
描述 |
举例说明 |
policy |
string |
必填 |
策略内容 |
每条策略最大255个字符,类 型为string |
type |
int |
必填 |
策略类型 |
0-禁呼 1-重呼 |
type = 0,禁呼策略,当多条禁呼策略发生冲突的时候,优先遵守影响范围最大的策略。
默认禁呼策略为:
晨间禁呼(禁呼时段:00:00:00~09:00:00)
夜间禁呼(禁呼时段:21:00:00~23:59:59)
属性 |
类型 |
约束 |
描述 |
举例描述 |
policy_type |
int |
必填 |
业务类型 |
同一任务内的策略名称不可重复 |
policy_name |
string |
必填 |
策略名称 |
0-禁呼 1-重呼 |
policy_date |
string |
必填 |
禁呼时间 |
policy_type为0时,policy_date的格式为:起始时间,结束时间。 时间格式为:09:00:00。 policy_type为1时,poli cy_date需枚举出禁呼日 期,例如工作日的格式为 :周一,周二,周三,周四, 周五。 policy_type为2时,poli cy_date的格式为:起始 日期时间,结束日期时间 。日期格式为:2020-05- 01 |
type = 1,重呼策略,指定需要重呼的通话状态。
属性 |
类型 |
约束 |
描述 |
举例描述 |
delay_strategy |
int |
选填 |
间隔策略 |
0 任务号码全部执行一次后重呼,1 呼叫单个号码后定时重呼 默认:0 |
policy_code |
array |
必填 |
指定重呼策略 |
如果policy_code以及policy_reason同时不为空,以policy_code为准。 policy_code说明: 无法接通 2 ,用户拒接 3 ,正在通话 4 ,用户正忙 5 , 关机 6 ,停机 7 网络忙 9 ,无人接听 10 ,呼叫转移 11 ,呼出限制 12 ,其他 -1 |
policy_delay |
int |
必填 |
重呼间隔 (单位:天) |
最大10天, 与首次呼叫间 隔指定时间之后重呼 |
policy_delay_minute |
int |
选填 |
重呼间隔(单位:分钟) |
默认为60分钟,最小为30分钟,最大为120分钟 |
policy_name |
string |
必填 |
策略名称 |
同一任务内的策略名称不 可重复 |
policy_reason |
array |
必填 |
通话状态 |
指定需要重呼的通话状态 ,具体通话状态参见reason码值表,建议使用policy_code |
policy_times |
int |
必填 |
重呼次数 |
最大5次 |
policy_type |
int |
必填 |
业务类型 |
预留字段,暂无意义,固 定为0 |
recall_strategy |
int |
选填 |
重呼策略 |
0 隔日重呼,1当日重呼,默认0 |
uncalled_first |
boolean |
选填 |
是否优先未拨打 |
默认false优先重呼,true则优先未拨打 |
{
"task_id":"16946755474324671018",
"task_desc": "用于测试创建任务2020-06-01",
"start_date":"2020-10-10",
"end_date":"2020-10-10",
"max_concurrent":1,
"min_concurrent":1,
"disnumber":"0101234567",
"caller":"01012345678",
"disnumberType":2,
"carrierNumRuleId":66,
"call_policy":[
{
"type":0,
"policy":"{\"policy_type\":0,\"policy_name\":\"晚间\",\"policy_date\":\"21:00:00,23:59:59\"}"
},
{
"type":0,
"policy":"{\"policy_type\":1,\"policy_name\":\"双休\",\"policy_date\":\"周六,周日\"}"
},
{
"type":0,
"policy":"{\"policy_type\":2,\"policy_name\":\"劳动节\",\"policy_date\":\"2020-05-01,2020-05-04\"}"
},
{
"type":1,
"policy":"{\"policy_type\":0,\"policy_name\":\"重呼策略\",\"policy_reason\":[772,604,600],\"policy_times\":1,\"policy_delay\": 1,\"uncalled_first\":false,\"recall_strategy\":1,\"policy_delay_minute\":120, \"delay_strategy\":1}"
}
]
}
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
msg |
string |
请求状态码描述,取值:sucess(成功) |
{
"code":"000000"
}
16.获取外显号码列表接口
- 请求地址:GET /v1/api/application/{appid}/aicall/task/getAllOutNums?sig={SigParameter}
- 响应包体:
属性 |
类型 |
说明 |
code |
string |
请求状态码,取值:000000(成功) |
data |
list |
结果集 |
num |
string |
外显号码 |
sip_id |
number |
线路id |
sip_name |
string |
线路名称 |
sip_prefix |
string |
线路前缀 |
sip_address |
string |
网关地址 |
back_up_sip |
number |
备用线路id |
{
"code": "000000",
"data": [
{
"num": "3545051",
"sip_id": 58,
"sip_name": "异常线路",
"sip_prefix": "123",
"sip_address": "124.70.49.16:5072",
"back_up_sip": 57
},
{
"num": "07363545021",
"sip_id": 59,
"sip_name": "671",
"sip_prefix": "671",
"sip_address": "124.70.49.17:5072",
"back_up_sip": 0
},
{
"num": "02161515240",
"sip_id": 57,
"sip_name": "正常线路",
"sip_prefix": "807",
"sip_address": "124.70.49.17:5072",
"back_up_sip": 0
},
{
"num": "02160606212",
"sip_id": 59,
"sip_name": "671",
"sip_prefix": "671",
"sip_address": "124.70.49.17:5072",
"back_up_sip": 0
}
]
}
reason码值表
编码 | 描述 |
100 | 尝试:表示请求已经由主叫方发起,被叫方尚未找到。 |
180 | 振铃:指示被叫方已被定位并正被通知该呼叫。 |
181 | 正在转接呼叫:表示被叫方已将呼叫重新路由到另一个。 |
182 | 排队:指示被叫方当前不可用,并且已经将呼叫置于队列中。 |
183 | 会议进行中 |
300 | 多个选择:表示地址解析到多个位置。 |
301 | 永久移动:表示用户在此位置不再可用,应在标题中包含备用位置。 |
302 | 临时移动:表示用户暂时不可用,其他位置应包含在标题中。 |
305 | 使用代理服务器:此响应表明,主叫方必须使用代理来联系被叫方。 |
380 | 呼叫不成功,但备用服务可用。 |
400 | 错误请求:表示发送的请求无法理解。 |
401 | 未经授权的请求:表示请求需要授权。 |
402 | 付款要求:表示需要付款才能完成通话。 |
403 | Forbidden:表示服务器已收到请求,但不提供服务。 |
404 | Not Found:表示找不到服务器。 |
405 | 不允许的方法:表示请求包含不允许的方法列表。 |
406 | 不可接受:表示请求不能被客户端处理。 |
407 | 需要代理身份验证:客户端必须首先使用代理进行身份验证。 |
408 | 请求超时:服务器在给定超时之前无法产生响应。 |
409 | 冲突:表示与资源的当前状态冲突。 |
410 | Gone:资源在服务器上不再可用,并且没有找到转发地址。 |
411 | 长度要求:用户拒绝没有指定长度的请求。 |
412 | 请求实体太大:服务器拒绝处理请求,因为URI太长。 |
415 | 不支持的媒体:表示目标端点不支持正文的格式。 |
420 | 错误扩展:服务器无法理解所需标题中指示的协议扩展。 |
471 | 禁呼了(盲区)没抢到线路 |
474 | 被叫被运营商拉黑 |
479 | 挤线了 |
480 | 暂时不可用:表示被叫方已被联系,但暂时不可用。(高频) |
481 | 呼叫Leg事务不存在:指示服务器忽略了再见请求或取消,因为没有匹 配的Invite事务。 |
482 | 循环检测:(另外,请求合并)服务器收到一个请求,它有自己的路径。 (并发超了)高频 |
483 | 跳跃太多:服务器收到一个请求,要求跳跃超过允许的范围。 |
484 | 不完整的地址:服务器收到一个地址不完整的请求。 |
485 | 不明确:服务器接收到被叫地址不明确的请求。 |
486 | 在这里忙碌:已联系被叫方,但系统无法再收到任何呼叫。(被叫忙) |
487 | 请求已终止:主叫方在用200 OK建立对话之前取消了请求。 |
488 | 在这里不可接受 |
489 | 不良事件:请参阅RFC3265 |
491 | 请求未决 |
493 | 无法辨认 |
500 | 服务器内部错误:服务器遇到意外错误,无法处理请求(并发满了 |
501 | 未实现:服务器不支持完成请求所需的功能。 |
502 | 错误的网关:服务器上游收到一个无效的请求。 |
503 | 服务不可用:服务器有过载或维护问题。 |
504 | 网关超时:服务器没有收到来自其他服务器的及时响应。 |
505 | 版本不支持:服务器不支持请求中使用的SIP协议。 |
600 | 无处不在:此时被叫方忙,无法接听。 |
603 | 拒绝:被叫方已经联系,但不想参加电话会议。 |
604 | 不存在任何地方:被叫方不存在于网络中的任何地方。 |
606 | 不可接受:被叫方拒绝部分通话会话描述为不可接受。 |
701 | 欠费 |
770 | 关机 |
771 | 停机 |
772 | 暂时无法接通 |
773 | 正在通话 |
774 | 空号 |
775 | 无人接听 |
776 | 来电提醒 |
777 | 呼入限制 |
778 | 网络忙 |
779 | 呼出限制 |
780 | 线路忙,嘟嘟 (标准忙音(450Hz,T = 0.75s(0.375s 0.375s))) |
781 | 用户拒接 |
782 | 呼叫转移 |
783 | 传真机摘机识别 (暂不支持) |
784 | 自动应答机摘机识别 (暂不支持) |
785 | 自然人摘机识别 (暂不支持) |
786 | 接通无人回话 |
787 | 回铃音标准嘟嘟声(450Hz,T = 5s(1.0s 4.0s)) |
788 | 彩铃 |
789 | 用户正忙 (新增) |
790 | 无应答 (新增) |
791 | 线路故障 (新增) |
792 | 用户不在 (新增) |
793 | 用户未登录 (新增) |
794 | 不在服务区 (新增) |
795 | 号码不存在 (新增) |
796 | 等待提示(请不要挂机) (新增) |
880 | 未分类 |
881 | 静音段 |
882 | 语音段 |
错误码
编码 | 描述 |
910652 | 机器人未绑定语音引擎 |
910655 | 机器任务数超限 |
910656 | 企业余额不足 |
911500 | Authorization超时 |
911501 | Authorization时间格式错误 |
911502 | Sig格式错误 |
911503 | appid错误 |
910602 | 任务不存在 |
911047 | 任务号码数已达上限 |
911550 | 号码数、变量数不匹配 |
911551 | appid为空 |
911552 | taskid为空 |
911553 | callid为空 |
911554 | callbackUrl为空 |
911555 | 任务不存在 |
911556 | 回调接口没有响应 |
911557 | 对外接口参数无效 |
911557 | max_concurrent超出企业最大可用并发 |
911558 | start_date应在创建任务当日及以后/end_date应在start_date当日及 以后 |
911102 | 机器人不存在 |
921139 | 机器人未上线 |
910653 | 任务名称已存在 |
911558 | policy超出长度限制 |
911557 | policy_name为空 |
910657 | 任务已完成或停止,无法送号 |
910661 | 无效的任务时间 |