文档

SingleCallByTts

更新时间:

本文为您介绍文本转语音外呼API的使用流程。

前提条件

入参列表

参数名称

参数类型

必填与否

样例取值

参数说明

CalledShowNumber

String

必须

400111****

被叫显号。

CalledNumber

String

必须

1390000****

被叫号码。

TtsCode

String

必须

TTS_10001

TTS文本模板Code。

TtsParam

String

可选

{"AckNum":"123456"}

替换TTS模板中变量的JSON串。

OutId

String

可选

abcdefgh

预留给调用方使用的ID。最终会通过在回执消息中将此ID带回给调用方。

出参列表

出参名称

出参类型

样例取值

参数说明

RequestId

String

8906582E-6722

请求ID。

Code

String

OK

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

Message

String

请求成功

状态码的描述。

CallId

String

134523^4351232

调用的回执ID。

技术对接步骤

  1. 下载SDK工具包

    • SDK工具包中一共包含了2个目录:

      • aliyun-python-sdk-core:阿里云API调用的核心代码库,Python版本。

      • alicom-python-sdk-dyvmsapi:流量直冲相关接口调用的客户端以及示例代码。

    • 确定本机已经安装了Python,版本要求:2.6.5 或以上。

    • 进入aliyun-python-sdk-core执行:python setup.py install。

    • 运行Demo示例。进入alicom-python-sdk- dyvmsapi目录执行:python demo.py 。

    • SDK&DEMO下载地址,请参见下载地址

  2. 编写样例程序

    说明

    调用接口前,需配置环境变量,通过环境变量读取访问凭证。AccessKey ID和AccessKey Secret的环境变量名:VMS_AK_ENV 、VMS_SK_ENV。配置详情请参见配置访问凭证

    from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByTtsRequest
    from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByVoiceRequest
    from aliyunsdkcore.client import AcsClient
    import uuid
    import os
    """
    语音业务调用接口示例,版本号:v20170525
    
    Created on 2017-06-12
    """
    #暂时不支持多region,默认配置杭州
    REGION = "cn-hangzhou"
    # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    # 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
    acs_client = AcsClient(os.getenv("VMS_AK_ENV"), os.getenv("VMS_SK_ENV"), REGION)
    region_provider.add_endpoint(PRODUCT_NAME,REGION,DOMAIN)
    
    def tts_call(business_id, called_number, called_show_number, tts_code, tts_param=None):
    
        ttsRequest = SingleCallByTtsRequest.SingleCallByTtsRequest()
        # 申请的语音通知tts模板编码,必填
        ttsRequest.set_TtsCode(tts_code)
        # 设置业务请求流水号,必填。后端服务基于此标识区分是否重复请求的判断
        ttsRequest.set_OutId(business_id)
        # 语音通知的被叫号码,必填。
        ttsRequest.set_CalledNumber(called_number)
        # 语音通知显示号码,必填。
        ttsRequest.set_CalledShowNumber(called_show_number)
        # tts模板变量参数
        if tts_param is not None:
            ttsRequest.set_TtsParam(tts_param)
    
        ttsResponse = acs_client.do_action_with_exception(ttsRequest)
        return ttsResponse
    
    __business_id = uuid.uuid1()
    print __business_id
    #模板中不存在变量的情况下为{}
    params = {}
    print tts_call(__business_id, "130000****", "95187", "TTS_0000000", params)
                

错误码列表

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.TTS_TEMPLATE_ILLEGAL

TTS模板不合法

isv.DISPLAY_NUMBER_ILLEGAL

号显不合法

isv.TEMPLATE_MISSING_PARAMETERS

文本转语音模板参数缺失

isv.BLACK_KEY_CONTROL_LIMIT

模板变量中存在黑名单关键字

isv.INVALID_PARAMETERS

参数异常

isv.PARAM_NOT_SUPPORT_URL

变量不支持URL参数

isp.SYSTEM_ERROR

系统错误

isv.MOBILE_NUMBER_ILLEGAL

号码格式非法

isv.BUSINESS_LIMIT_CONTROL

触发流控

isv.PARAM_LENGTH_LIMIT

参数长度受限

  • 本页导读 (1)
文档反馈