语音互动(语音IVR)是指通过API接口向指定号码发起交互式语音通话,用户接听电话后,播放一段指定音频,用户根据音频引导,通过手机按键信息返回意图。本文为您介绍了语音IVR的使用流程。

前提条件

背景信息

调用API时,您可以根据API文档了解使用说明,并查询必选的请求参数。发送请求后报错时,您可以在相应API文档中获取说明。

调用方式

OpenAPI开发者门户示例

调用API发起交互式语音通话的全流程如下所示:IVR
  1. 通过API/SDK上传语音文件
    说明 如需创建文本转语音模板,请参见创建文本转语音模板,文本转语音模板暂不支持通过API接口创建。
  2. 通过QueryVoiceFileAuditInfo查询语音文件审核状态。
    说明 若审核不通过,请查看失败原因后重新上传语音文件。
  3. 通过IvrCalll接口发起交互式语音通话。
  4. 通过QueryCallDetailByCallId查询呼叫详情。
  5. 接收消息回执。

Java SDK示例

以调用IvrCall接口为例,为您演示如何通过阿里云OpenAPI 开发者门户调用语音服务API。以下参数需要您根据实际情况自行填写。
  • CalledShowNumber:主叫号码。
    注意 必须是已购买的号码,单次请求仅支持一个主叫号码。
  • CalledNumber:被叫号码。
  • StartCode:呼叫开始时播放的提示音。
import com.aliyun.tea.*;
import com.aliyun.dyvmsapi20170525.*;
import com.aliyun.dyvmsapi20170525.models.*;
import com.aliyun.teaopenapi.*;
import com.aliyun.teaopenapi.models.*;

public class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param accessKeyId
     * @param accessKeySecret
     * @return Client
     * @throws Exception
     */
    public static com.aliyun.dyvmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        Config config = new Config()
                // 您的AccessKey ID
                .setAccessKeyId(accessKeyId)
                // 您的AccessKey Secret
                .setAccessKeySecret(accessKeySecret);
        // 访问的域名
        config.endpoint = "dyvmsapi.aliyuncs.com";
        return new com.aliyun.dyvmsapi20170525.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        com.aliyun.dyvmsapi20170525.Client client = Sample.createClient("accessKeyId", "accessKeySecret");
        IvrCallRequest ivrCallRequest = new IvrCallRequest()
                .setCalledShowNumber("0571****5678")
                .setCalledNumber("1590****000")
                .setStartCode("TTS_1234****");
        // 复制代码运行请自行打印 API 的返回值
        client.ivrCall(ivrCallRequest);
    }
}

更多示例,请参见OpenAPI开发者门户

原版SDK的安装流程及代码示例,请参见Java SDK
说明 语音服务原版SDK和API已不再维护。我们强烈推荐您使用新版SDK及配套的API接口