python - 阿里雲語音、短信服務接口


阿里雲語音服務接口

 
 
 
 

語音產品相關的SDK及DEMO程序

文件清單:
  1. api_demo(語音服務API接口調用DEMO工程)
  2. api_sdk(語音服務API接口依賴的SDK)
  3. msg_demo(語音回執消息的DEMO)
  4. msg_sdk(語音回執消息的SDK)
對於我們來說,只要用到api_demo文件夾即可。里面的aliyun-python-sdk-core也沒用,這個是給python2安裝sdk用的;
對於我們python3來說,直接安裝核心庫 pip install aliyun-python-sdk-core-v3即可
我們實際只使用到
 
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#Author:lzd
 
# import sys
import importlib,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
 
@author: seven
"""
 
# reload(sys)
importlib.reload(sys)
# sys.setdefaultencoding('utf8')
 
# 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dyvmsapi"
DOMAIN = "dyvmsapi.aliyuncs.com"
 
# ACCESS_KEY_ID/ACCESS_KEY_SECRET 根據實際申請的賬號信息進行替換
ACCESS_KEY_ID = "xxxxxxxxxxxxxx"
ACCESS_KEY_SECRET = "xxxxxxxxxxxxxxxx"
 
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
 
__name__ = 'tts'
if __name__ == 'tts':
    __business_id = uuid.uuid1()
    print(__business_id)
    params = "{\"weizhi\":\"杭州機房\",\"name\":\"測試服務器\",\"title\":\"測試\"}"
    print((tts_call(__business_id, "13900000000", "0125456655", "TTS_4564654", params)).decode(encoding='utf-8'))

 

 
# -*- coding: utf-8 -*-
import sys
from aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest
from aliyunsdkdysmsapi.request.v20170525 import QuerySendDetailsRequest
from aliyunsdkcore.client import AcsClient
import uuid
from aliyunsdkcore.profile import region_provider
from aliyunsdkcore.http import method_type as MT
from aliyunsdkcore.http import format_type as FT
import const

"""
短信業務調用接口示例,版本號:v20170525

Created on 2017-06-12

"""
try:
    reload(sys)
    sys.setdefaultencoding('utf8')
except NameError:
    pass
except Exception as err:
    raise err

# 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dysmsapi"
DOMAIN = "dysmsapi.aliyuncs.com"

acs_client = AcsClient(const.ACCESS_KEY_ID, const.ACCESS_KEY_SECRET, REGION)
region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN)

def send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None):
    smsRequest = SendSmsRequest.SendSmsRequest()
    # 申請的短信模板編碼,必填
    smsRequest.set_TemplateCode(template_code)

    # 短信模板變量參數
    if template_param is not None:
        smsRequest.set_TemplateParam(template_param)

    # 設置業務請求流水號,必填。
    smsRequest.set_OutId(business_id)

    # 短信簽名
    smsRequest.set_SignName(sign_name)
    
    # 數據提交方式
    # smsRequest.set_method(MT.POST)
    
    # 數據提交格式
    # smsRequest.set_accept_format(FT.JSON)
    
    # 短信發送的號碼列表,必填。
    smsRequest.set_PhoneNumbers(phone_numbers)

    # 調用短信發送接口,返回json
    smsResponse = acs_client.do_action_with_exception(smsRequest)

    # TODO 業務處理

    return smsResponse



if __name__ == '__main__':
    __business_id = uuid.uuid1()
    #print(__business_id)
    params = "{\"code\":\"12345\",\"product\":\"雲通信\"}"
    #params = u'{"name":"wqb","code":"12345678","address":"bz","phone":"13000000000"}'
    print(send_sms(__business_id, "13000000000", "雲通信測試", "SMS_5250008", params))
   
    
    

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM