本文为您介绍了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'))