本文为您介绍了Python调用SendMessageWithTemplate发送中国地区短信。

请求参数

名称 类型 是否必选 示例值 描述
To String 45***0121 接收方的手机号码;说明:号码格式为国家码+号码。
From String XXCompany 发送方标识;说明:发往中国时,该参数为短信签名。
TemplateCode String SMS_0000 短信模板ID。请在控制台中查看。
TemplateParam String {“code”:”1234”,”product”:”ytx”} 短信模板变量对应的实际值,JSON格式;说明:如果JSON中需要带换行符,请参照标准的JSON协议处理。
SmsUpExtendCode String 90999 上行短信扩展码,无特殊需要此字段的用户请忽略此字段。

返回数据

名称 类型 示例值 描述
To String 45***0121 接收方的手机号码;说明:号码格式为国家码+号码。
MessageId String 1008***3003003 短信发送ID,可根据该ID在接口QueryMessage中查询具体的发送状态。
ResponseCode String OK 请求状态码,返回OK代表请求成功,其他错误码详见错误码列表。
ResponseDescription String 短信接收成功 状态码的描述。
Segments String 1 短信计费条数。

引入阿里云核心包

  • 方法1:通过Pip安装。
    pip install aliyun-python-sdk-core
                        
  • 方法2:core-sdk下载地址:Python API SDK

调用示例

注意事项如下:

  • 构造AcsClient时,第三个参数(regionId)必须为ap-southeast-1,请勿修改。
  • domain必须为dysmsapi.ap-southeast-1.aliyuncs.com,请勿修改。
  • version必须为2018-05-01,请勿修改。
#!/usr/bin/env python
#coding=utf-8

import os
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('<accessKeyId>', '<accessSecret>', 'ap-southeast-1')

request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dysmsapi.ap-southeast-1.aliyuncs.com')
request.set_method('POST')
request.set_version('2018-05-01')
request.set_action_name('SendMessageWithTemplate')

request.add_query_param('To', '8615200000000')
request.add_query_param('From', 'SMS signature')
request.add_query_param('TemplateCode', 'SMS_225001')
request.add_query_param('TemplateParam', '{"code":"1234"}')
request.add_query_param('SmsUpExtendCode', '12345')

response = client.do_action(request)
# python2: print(response) 
print(str(response, encoding = 'utf-8'))