智能外呼

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

前提条件

入参列表

参数名称

参数类型

必填与否

样例取值

参数说明

calledShowNumber

String

必须

4001112222

被叫显号。

calledNumber

String

必须

1390000****

被叫号码。

voiceCode

String

必须

2d4c-4e78-8d2a-afbb06cf6216.wav,$name$

语音文件Code。支持多文件和tts参数混播,用英文逗号(,)分隔,比如2d4c-4e78-8d2a-afbb06cf6216.wav,$name$,tts具体内容在voiceCodeParam里面设置。

volume

Integer

可选

1

音量。取值:-4~4,建议设为1。

recordFlag

Boolean

可选

true

是否录音。

asrModelId

String

可选

2070aca1eff146f9a7bc826f1c3d4d33

ASR模型I。D

muteTime

Integer

可选

10000

静音时长,单位ms,1000~20000之间,超过这个范围默认10000。

pauseTime

Integer

可选

800

停顿时长,单位ms,300-1200之间,超过这个范围默认800。

actionCodeBreak

Boolean

可选

true

开场放音文件是否可打断,默认为true,打断。

outId

String

可选

abcdefgh

预留给调用方使用的ID。最终会通过在回执消息中将此ID带回给调用方(15个字符及以内)。

dynamicId

String

可选

abcdefgh

预留给调用方使用的动态扩展ID。在回调地址中带回,用于客户的开发标识需要。

earlyMediaAsr

Boolean

可选

false

早媒体语音识别标识,默认是fasle,使用的话设成true。

voiceCodeParam

String

可选

"{"name":"喂,你好"}"

TTS参数传递字符串,使用JSON格式,name和voiceCode的$name$参数对应。

sessionTimeout

Integer

可选

120

最大通话时长,单位秒,超时后自动挂断。

actionCodeTimeBreak

Integer

可选

120

基于用户持续说话时长打断,单位是ms。在ationCodeBreak为true时并且取值大于0时生效。

ttsConf

Boolean

可选

true

Tts声音设置参数,为true时需要设置ttsStyle、ttsColume、ttsSpeed三个参数来设置声音风格。为false时三个参数值设置无效。

ttsStyle

String

可选

xiaoyan

Tts变量播放时的声音风格,默认是xiaoyan,具体风格见声音风格列表。

ttsVolume

Integer

可选

80

Tts变量播放时音量 0~100之间,默认是0。

ttsSpeed

Integer

可选

100

Tts变量播放时声音速度200到-200,默认是0。

asrBaseId

String

可选

customer_service_8k

ASR基础模型。

  • 在设置asrModelId模型ID的情况下,优先使用asrModelId。

  • 不设置asrModelId,会使用asr基础模型。

  • 不填默认是customer_service_8k普通话。

  • 目前就支持customer_service_8k普通话、dialect_customer_service_8k 重口音两种。

声音风格列表

说明

编码

小云标准女声

xiaoyun

小刚标准男声

xiaogang

若兮温柔女声

ruoxi

小梦标准女声

xiaomeng

小威标准男声

xiaowei

阿美甜美女声

amei

小雪温柔女声

xiaoxue

思琪温柔女声

siqi

思佳标准女声

sijia

思诚标准男声

sicheng

思悦温柔女声

siyue

小美甜美女声

xiaomei

思彤标准童声

sitong

宁儿标准女声

ninger

小北萝莉女声

xiaobei

伊娜浙普女声

yina

出参列表

出参名称

出参类型

样例取值

参数说明

RequestId

String

8906582E-6722

请求ID。

Code

String

OK

状态码。返回OK代表请求成功,其他错误码详见错误码列表。

Message

String

请求成功

状态码的描述。

CallId

String

134523^4351232

调用的回执ID。

技术对接步骤

  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);
    
            //组装请求对象-具体描述见控制台-文档部分内容
            SmartCallRequest request = new SmartCallRequest();
            //必填-被叫显号,可在语音控制台中找到所购买的显号
            request.setCalledShowNumber("06336760013");
            //必填-被叫号码
            request.setCalledNumber("1005");
            //必填-语音文件ID
            request.setVoiceCode("3355eedd-3706-4f75-bff9-e645e88e1730.wav");
            //可选-外部扩展字段
            request.setOutId("yourOutId");
            request.setSpeed(1);
            request.setVolume(2);
            request.setMuteTime(10000);
            request.setPauseTime(800);
            request.setActionCodeBreak(false);
            request.setAsrModelId("2070aca1eff146f9a7bc826f1c3d4d31");
            //hint 此处可能会抛出异常,注意catch
            SmartCallResponse 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

无权限使用该模型