AICall接口

注意,本接口的使用需要进行接口鉴权

1.接口鉴权

  • 接口格式:https://ip:port/v1/api/application/{APPID}/**?sig={SIG}

  • 鉴权参数列表


  请求头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.删除待呼叫号码

  • 请求地址: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"
}

8.通话记录列表接口

  • 请求地址: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": "机器人回答"
  }
    ]
    }
}

9.动态外显列表接口

  • 请求地址: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": "归属地优先"
    }
  ]
}

10.获取机器人列表

  • 请求地址: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对象
  • data所包含内容如下:
属性 类型 说明
numPerPage integer 分页数量
totalRows integer 总数据量
totalPages integer 总页数
currentPage integer 当前页数
resultList array[Result] Result对象数组
  • resultList包含内容如下:
属性 类型 说明
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,
          }
    ]
  }
}

11.任务列表查询接口

  • 请求地址:POST POST /v1/api/application//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机器人"
            }
        ]
    }
}

12.任务信息查询接口

  • 请求地址: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
    }
}

13.任务状态操作接口

  • 请求地址: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
    }
}

14.任务信息修改接口

注:调用该接口时,请先调用 任务信息查询接口,获取当前任务的状态。当前任务为“未开始”、“已暂停”才可运行该接口。

  • 请求地址: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"
}

15.获取外显号码列表接口

  • 请求地址: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付款要求:表示需要付款才能完成通话。
403Forbidden:表示服务器已收到请求,但不提供服务。
404Not Found:表示找不到服务器。
405不允许的方法:表示请求包含不允许的方法列表。
406不可接受:表示请求不能被客户端处理。
407需要代理身份验证:客户端必须首先使用代理进行身份验证。
408请求超时:服务器在给定超时之前无法产生响应。
409冲突:表示与资源的当前状态冲突。
410Gone:资源在服务器上不再可用,并且没有找到转发地址。
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企业余额不足
911500Authorization超时
911501Authorization时间格式错误
911502Sig格式错误
911503appid错误
910602任务不存在
911047任务号码数已达上限
911550号码数、变量数不匹配
911551appid为空
911552taskid为空
911553callid为空
911554callbackUrl为空
911555任务不存在
911556回调接口没有响应
911557对外接口参数无效
911557max_concurrent超出企业最大可用并发
911558start_date应在创建任务当日及以后/end_date应在start_date当日及 以后
911102机器人不存在
921139机器人未上线
910653任务名称已存在
911558policy超出长度限制
911557policy_name为空
910657任务已完成或停止,无法送号
910661无效的任务时间