更新时间:2018-10-23 10:15
为了访问语音服务,您需要有一个阿里云账号。如果没有,可首先按照如下步骤创建阿里云账号:
为了使用语音文本单呼API-JAVA SDK,您必须申请阿里云的访问密钥。
阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全验证。
该访问秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。每个阿里云用户可以创建多对访问秘钥,且可随时启用(Active)、禁用(Inactive)或者删除已经生成的访问秘钥对。
您可以通过阿里云控制台的 秘钥管理页面 创建、管理所有的访问秘钥对,且保证它处于“启用”状态。由于访问秘钥是阿里云对 API 请求进行安全验证的关键因子,请妥善保管你的访问秘钥。如果某些秘钥对出现泄漏风险,建议及时删除该秘钥对并生成新的替代秘钥对。
在“语音号码”页面完成资质的申请,号码的购买
在“文本转语音模板”页面完成模板申请,或,在“语音通知文件”页面完成文件上传
参数名称 | 参数类型 | 必填与否 | 样例取值 | 参数说明 |
---|---|---|---|---|
CalledShowNumber | String | 必须 | 4001112222 | 被叫显号 |
CalledNumber | String | 必须 | 13700000000 | 被叫号码 |
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 |
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[下载地址]
from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByTtsRequest
from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByVoiceRequest
from aliyunsdkcore.client import AcsClient
import uuid
"""
语音业务调用接口示例,版本号:v20170525
Created on 2017-06-12
"""
#暂时不支持多region,默认配置杭州
REGION = "cn-hangzhou"
# ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换
ACCESS_KEY_ID = "yourAccessKeyId"
ACCESS_KEY_SECRET = "yourAccessKeySecret"
#初始化AcsClient
acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, 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, "1300000000", "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 | 参数长度受限 |
在文档使用中是否遇到以下问题
更多建议
匿名提交