全部产品
云市场

智能外呼Saas助手

更新时间:2019-04-02 10:44:04

智能外呼Saas助手对外接口(BatchRobotSmartCall)

步骤 1 创建阿里云账号

为了访问语音服务,您需要有一个阿里云账号。如果没有,可首先按照如下步骤创建阿里云账号:

1、访问阿里云 官方网站,单击页面上的免费注册按钮。

2、按照屏幕提示完成注册流程并进行企业实名认证语音服务只支持企业实名认证用户使用。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里

步骤 2 获取阿里云访问密钥

为了使用智能外呼API-JAVA SDK,您必须申请阿里云的访问密钥。

阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全验证。

该访问秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。每个阿里云用户可以创建多对访问秘钥,且可随时启用(Active)、禁用(Inactive)或者删除已经生成的访问秘钥对。

您可以通过阿里云控制台的 秘钥管理页面 创建、管理所有的访问秘钥对,且保证它处于“启用”状态。由于访问秘钥是阿里云对 API 请求进行安全验证的关键因子,请妥善保管你的访问秘钥。如果某些秘钥对出现泄漏风险,建议及时删除该秘钥对并生成新的替代秘钥对。

步骤 3 在控制台完成号码申请与语音文件上传,获得调用接口必备的参数

在“语音号码”页面完成资质的申请,号码的购买。

一、批量任务呼叫接口

入参列表
参数名称 参数类型 必填与否 样例取值 参数说明
calledShowNumber String 必须 4001112222 被叫显号,多个号码用英文逗号分隔,必须是一个公司下的号码
calledNumber String 必须 13700000000 被叫号码,多个号码用英文逗号分隔,上限1000个
dialogId String 必须 1234567 选择哪个机器人ID做呼叫
corpName String 必须 阿里巴巴通信技术(北京)有限公司 公司名称,和阿里云页面上名次一致
taskName String 必须 批量任务测试 任务名称
earlyMediaAsr Boolean 可选 false 早媒体语音识别标识,默认是fasle,使用的话设成true
scheduleCall Boolean 可选 false 是否定时呼叫,设为true,则必须设置scheduleTime
scheduleTime Long 可选 1554047999000 约定的呼叫时间,毫秒级的Unix时间戳
ttsParamHead String 可选 [“name1”,”name2”,”name3”] json串格式,带变量的呼叫任务,变量名称列表,和下面的ttsParam配合使用
ttsParam String 可选 [{“number”:”13700000000”,”params”:[“小王”,”小李”,”小周”]}] json串格式,具体的变量值,和具体的号码对应,params和上面的ttsParamHead变量名称一一对应
isSelfLine Boolean 可选 是否是自有线路调用,默认false
出参列表
出参名称 出参类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
TaskId String 134523 调用的回执TaskId

二、通过任务ID获取机器人话单详情

入参列表
参数名称 参数类型 必填与否 样例取值 参数说明
taskId String 必须 4001112222 接口返回的任务ID
callee String 必须 13700000000 被叫号码,目前只支持单个
queryDate String 必须 123456789000 Unix时间戳,会查询这个时间点对应那一天的记录(单位毫秒)
出参列表
出参名称 出参类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
Data String 见下面列表 呼叫明细,json串格式, 见下面列表
字段明细
字段名称 类型 样例取值 参数说明
startDate String 2017-11-27 20:09:06 应答时间
stateDesc String 占线 挂机原因,有早媒体状态码的情况下,使用早媒体码的原因
statusCode String 200010 状态码
endDate String 2017-11-27 20:09:06 结束时间
calleeShowNumber String 02156782213 主叫号显
callee String 13723456980 被叫号码
duration String 21 计费时长
gmtCreate String 2017-11-27 20:09:06 创建时间
hangupDirection String 机器 挂机方向
tags String 标签 标签
dialogCount Integer 2 对话轮次
sureCount Integer 2 肯定次数
denyCount Integer 2 否定次数
rejectCount Integer 2 拒绝次数
customCount Integer 2 自定义次数
knowledgeCount Integer 2 知识库次数
defaultCount Integer 2 默认次数
dialogDetail Json [{ “role”:”用户”,”content”:”喂,你好”,”time”:” 2017-11-27 20:09:06”}] 对话明细,一个json数组

三、机器人列表查询接口

入参列表
参数名称 参数类型 必填与否 样例取值 参数说明
auditStatus String 可选 AUDITPASS 审核状态,CONFIGURABLE 可配置 AUDITING 审核中 AUDITPASS 审核通过 AUDITFAIL 审核失败
出参列表
出参名称 出参类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
Data String 见下面列表 机器人明细,json串格式,见下面列表
字段明细
字段名称 类型 样例取值 参数说明
id String 12345 机器人id
robotName String 我的测试机器人 机器人名称
robotType String custom 机器人类型
auditStatus String AUDITPASS 审核状态
gmtCreate String 2017-11-27 20:09:06 创建时间
gmtModified String 2017-11-27 20:09:06 修改时间

技术对接步骤

1:下载SDK工具包

SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dyvms-api包,将这两个包执行mvn package命令或者mvn deploy命令打包出相应的jar包,添加到工程类库中依赖使用。

SDK&DEMO[下载地址]

2: 编写样例程序
  1. //可自助调整超时时间
  2. System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
  3. System.setProperty("sun.net.client.defaultReadTimeout", "10000");
  4. //初始化acsClient,暂不支持region化
  5. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
  6. DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
  7. IAcsClient acsClient = new DefaultAcsClient(profile);
  8. //组装请求对象-具体描述见控制台-文档部分内容
  9. BatchRobotSmartCallRequest request = new BatchRobotSmartCallRequest();
  10. //必填-被叫显号,可在语音控制台中找到所购买的显号
  11. request.setCalledShowNumber("06336760013");
  12. //必填-被叫号码
  13. request.setCalledNumber("1005,1004");
  14. //必填-机器人ID
  15. request.setRobotId("331234432");
  16. //必填-公司名称
  17. request.setCorpName("阿里巴巴通信技术(北京)有限公司");
  18. //必填-任务名称
  19. request.setTaskName("批量任务测试");
  20. //hint 此处可能会抛出异常,注意catch
  21. RobotSmartCallResponse smartCallResponse = acsClient.getAcsResponse(request);
  22. return smartCallResponse;
  23. }

错误码列表

Code 描述
OK 请求成功
isp.RAM_PERMISSION_DENY RAM权限DENY
isv.OUT_OF_SERVICE 业务停机
isv.PRODUCT_UN_SUBSCRIPT 未开通云通信产品的阿里云客户
isv.OUT_OF_SERVICE 业务停机
isv.PRODUCT_UNSUBSCRIBE 产品未开通
isv.ACCOUNT_NOT_EXISTS 账户不存在
isv.ACCOUNT_ABNORMAL 账户异常
isv.VOICE_FILE_ILLEGAL 语音文件不合法
isv.DISPLAY_NUMBER_ILLEGAL 号显不合法
isv.INVALID_PARAMETERS 参数异常
isp.SYSTEM_ERROR 系统错误
isv.MOBILE_NUMBER_ILLEGAL 号码格式非法
isv.BUSINESS_LIMIT_CONTROL 触发流控
isv.ASR_MODEL_ERROR 无权限使用该模型