82 lines
2.6 KiB
Python
82 lines
2.6 KiB
Python
|
# -*- 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()
|
|||
|
|