# -*- coding: utf-8 -*- #reset import sys from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByTtsRequest from aliyunsdkdyvmsapi.request.v20170525 import SingleCallByVoiceRequest from aliyunsdkcore.client import AcsClient import uuid from aliyunsdkcore.profile import region_provider """ 语音业务调用接口示例,版本号:v20170525 Created on 2017-06-12 """ #reload(sys) #sys.setdefaultencoding('utf8') # 注意:不要更改 REGION = "cn-hangzhou" PRODUCT_NAME = "Dyvmsapi" DOMAIN = "dyvmsapi.aliyuncs.com" # ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换 ACCESS_KEY_ID = "LTAI4FnKS7B9tSx2o7n6soym" ACCESS_KEY_SECRET = "L2dTEP5NsUydpBb8PJ0h2Hw3Irbc5L" 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) # 调用tts文本呼叫接口,返回json ttsResponse = acs_client.do_action_with_exception(ttsRequest) # TODO 业务处理 return ttsResponse def voice_call(business_id, called_number, called_show_number, voice_code): voiceRequest = SingleCallByVoiceRequest.SingleCallByVoiceRequest() # 语音通知的媒体文件编码,必填 voiceRequest.set_VoiceCode(voice_code) # 设置业务请求流水号,必填。 voiceRequest.set_OutId(business_id) # 语音通知的被叫号码,必填。 voiceRequest.set_CalledNumber(called_number) # 语音通知显示号码,必填。 voiceRequest.set_CalledShowNumber(called_show_number) # 调用语音文件呼叫接口,返回json voiceResponse = acs_client.do_action_with_exception(voiceRequest) # TODO 业务处理 return voiceResponse def call_user(phonenum:str = "18242094506",server_describe: str='new strategy'): __business_id = uuid.uuid1() print (__business_id) params = { "servers":server_describe, } print (tts_call(__business_id, phonenum, "", "TTS_202815632", params)) if __name__=="__main__": call_user()