本章节为您介绍了阿里云语音服务语音通知的功能介绍和实现方法,您可以通过调用SingleCallByVoice实现发起语音文件类型的语音通知、调用SingleCallByTts实现发起文本转语音类型的语音通知。

功能介绍

语音通知可以很好的解决通知到达率延迟、关注度不高、阅读体验差等问题,并且您可以获通过电话获得更全面的信息通知。您只需要提前设置通知模版内容,调用API就可以给用户推送语音通知,并可以设置播放音量、播放次数等。

实现方法

在实现调用API实现语音通知功能前,您需要完成以下操作。

  • 购买语音号码并审核通过语音模板或语音文件,具体操作请参见快速入门
  • 获取AccessKey信息,详情请参见获取AccessKey
  • 完成本地SDK环境搭建,详情请参见Pyhton SDK

本章节调用接口参数详情,请参见SingleCallByVoiceSingleCallByTts

from aliyunsdkcore.client import AcsClient
from aliyunsdkdyvmsapi.request.v20170525.SingleCallByTtsRequest import SingleCallByTtsRequest
from aliyunsdkdyvmsapi.request.v20170525.SingleCallByVoiceRequest import SingleCallByVoiceRequest

client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou')

request1 = SingleCallByVoiceRequest()
request1.set_accept_format('json')
request1.set_CalledShowNumber("18850505050")
request1.set_CalledNumber("15750505050")
request1.set_VoiceCode("e271f3f2-e155-4366-a9f4-0fe55765b3ec.wav")
response1 = client.do_action_with_exception(request1)
print('发起语音文件通知返回')
print(response1)

request2 = SingleCallByTtsRequest()
request2.set_accept_format('json')
request2.set_CalledShowNumber("18850505050")
request2.set_CalledNumber("15750505050")
request2.set_TtsCode("TTS_130555018")
request2.set_TtsParam("{\"name\":\"测试\",\"time\":\"2019年\"}")
response2 = client.do_action_with_exception(request2)
print('文本转语音类型返回')
print(response2)

正常返回结果如下所示:

发起语音文件通知返回
{
  "Message": "OK",
  "RequestId": "4ABF7FB6-449C-4624-8CC6-9AAE368453AA",
  "Code": "OK",
  "CallId": "118720962490^10551812xx"
}
文本转语音类型返回
{
  "Message": "OK",
  "RequestId": "762104B0-D58A-4D04-8486-7C5171D0D756",
  "Code": "OK",
  "CallId": "118720797955^10551795xx"
}

调用SDK返回错误码,详情请参见错误码列表