本文为您介绍智能外呼SaaS助手的使用流程。
前提条件
开通语音服务。具体操作。请参见开通服务。
获取AccessKey。具体操作,请参见获取AccessKey。
购买号码。具体操作,请参见真实号管理。
创建文本转语音模板或上传语音文件。具体操作,请参见创建文本转语音模板和通过控制台上传语音文件。
批量任务呼叫接口
入参列表
参数名称 | 参数类型 | 必填与否 | 样例取值 | 参数说明 |
calledShowNumber | String | 必须 | 400111**** | 被叫显号,多个号码用英文逗号(,)分隔,必须是一个公司下的号码。 |
calledNumber | String | 必须 | 1390000**** | 被叫号码,多个号码用英文逗号(,)分隔,上限1000个。 |
dialogId | String | 必须 | 1234567 | 选择哪个机器人ID做呼叫。 |
corpName | String | 必须 | 阿里巴巴通信技术(北京)有限公司 | 公司名称,和阿里云页面上名次一致。 |
taskName | String | 必须 | 批量任务测试 | 任务名称。 |
earlyMediaAsr | Boolean | 可选 | false | 早媒体语音识别标识。
|
scheduleCall | Boolean | 可选 | false | 是否定时呼叫。
|
scheduleTime | Long | 可选 | 1554047999000 | 约定的呼叫时间,毫秒级的Unix时间戳。 |
ttsParamHead | String | 可选 | ["name1","name2","name3"] | JSON串格式,带变量的呼叫任务,变量名称列表,和下面的ttsParam配合使用。 |
ttsParam | String | 可选 | [{"number":"1390000****","params":["小王","小李","小周"]}] | JSON串格式,具体的变量值,和具体的号码对应,params和上面的ttsParamHead变量名称相对应。 |
isSelfLine | Boolean | 可选 | false | 是否是自有线路调用,默认false。 |
出参列表
出参名称 | 出参类型 | 样例取值 | 参数说明 |
RequestId | String | 8906582E-6722 | 请求ID |
Code | String | OK | 状态码。返回OK代表请求成功,其他错误码详见错误码列表。 |
Message | String | 请求成功 | 状态码的描述。 |
TaskId | String | 134523 | 调用的回执TaskId。 |
通过任务ID获取机器人话单详情
入参列表
参数名称 | 参数类型 | 必填与否 | 样例取值 | 参数说明 |
taskId | String | 必须 | 400111**** | 接口返回的任务ID。 |
callee | String | 必须 | 1390000**** | 被叫号码,目前只支持单个。 |
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 | 0215678**** | 主叫号显。 |
callee | String | 1390000**** | 被叫号码。 |
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 | 审核状态。取值:
|
出参列表
出参名称 | 出参类型 | 样例取值 | 参数说明 |
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 | 修改时间。 |
技术对接步骤
下载SDK工具包。
SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dyvms-api包,将这两个包执行mvn package命令或者mvn deploy命令打包出相应的jar包,添加到工程类库中依赖使用。
SDK&DEMO下载地址,请参见SDK及DEMO下载。
编写样例程序。
说明调用接口前,需配置环境变量,通过环境变量读取访问凭证。AccessKey ID和AccessKey Secret的环境变量名:VMS_AK_ENV 、VMS_SK_ENV。配置详情请参见配置访问凭证。
//可自助调整超时时间 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化acsClient,暂不支持region化 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("VMS_AK_ENV"), System.getenv("VMS_SK_ENV")); DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //组装请求对象-具体描述见控制台-文档部分内容 BatchRobotSmartCallRequest request = new BatchRobotSmartCallRequest(); //必填-被叫显号,可在语音控制台中找到所购买的显号 request.setCalledShowNumber("0633676****"); //必填-被叫号码 request.setCalledNumber("1005,1004"); //必填-机器人ID request.setRobotId("331234432"); //必填-公司名称 request.setCorpName("阿里巴巴通信技术(北京)有限公司"); //必填-任务名称 request.setTaskName("批量任务测试"); //hint 此处可能会抛出异常,注意catch RobotSmartCallResponse smartCallResponse = acsClient.getAcsResponse(request); return smartCallResponse; }
错误码列表
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 | 无权限使用该模型。 |