智能外呼SaaS助手

本文为您介绍智能外呼SaaS助手的使用流程。

前提条件

批量任务呼叫接口

入参列表

参数名称

参数类型

必填与否

样例取值

参数说明

calledShowNumber

String

必须

400111****

被叫显号,多个号码用英文逗号(,)分隔,必须是一个公司下的号码。

calledNumber

String

必须

1390000****

被叫号码,多个号码用英文逗号(,)分隔,上限1000个。

dialogId

String

必须

1234567

选择哪个机器人ID做呼叫。

corpName

String

必须

阿里巴巴通信技术(北京)有限公司

公司名称,和阿里云页面上名次一致。

taskName

String

必须

批量任务测试

任务名称。

earlyMediaAsr

Boolean

可选

false

早媒体语音识别标识。

  • false(默认值)

  • true

scheduleCall

Boolean

可选

false

是否定时呼叫。

  • false

  • true,必须设置scheduleTime。

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

审核状态。取值:

  • 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下载地址,请参见SDK及DEMO下载

  2. 编写样例程序

    说明

    调用接口前,需配置环境变量,通过环境变量读取访问凭证。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

无权限使用该模型。