本文为您介绍Python调用短信消息API的操作流程。
简介
当您使用短信的API接口发送短信后,可以通过使用MNS的Queue模型来接收短信的回执消息,假如服务出现异常情况时(如网络问题),导致消息回执未成功获取,还可以通过短信发送状态查询API接口进行一定的补偿(目前支持30天内发送记录的查询)。
注意 使用短信服务新版SDK调用API接口,请查看新版SDK参考和API参考。
消息的订阅
- 云通信的所有业务消息都通过MNS消息服务向外发送。用户每订阅一个类别的消息(比如上行短信消息SmsUp),系统都会为用户分配一个独立的消息队列。
- 用户可以通过阿里云账号拿到一个临时的token用于获取队列中的消息。用户可以下载demo,编写简单的消息处理类即可完成消息处理的任务。
- 在页面上订阅消息,订阅完消息后,能拿到消息队列名称(queueName)。比如:Alicom-Queue-xxxxxx-SmsReport 。队列名字每个用户都不同。
路径:短信产品进入控制台→应用开发→接口调用→云通信消息接收→短信状态报告接收→向右滑动 (MNS消息队列消费模式。接收消息队列信息,请下载消息服务SDK进行程序编写,详见API文档)位置如下图所有示;点击进入控制台。
消息类型
短信提供2种消息类型SmsReport(短信回执报告消息) 和 SmsUp(上行短信消息)。
- 通过订阅SmsReport短信状态报告,可以获知每条短信的发送情况,了解短信是否达到终端用户的状态与相关信息。
- 通过订阅SmsUp上行短信消息,可以获知终端用户回复短信的内容。
短信回执消息SmsReport消息体格式
名称 | 类型 | 描述 | 示例 | 是否必须 |
---|---|---|---|---|
phone_number | String | 短信接收号码。 | 13000000000 | 可选 |
success | Boolean | 发送是否成功。 | true | 必须 |
biz_id | String | 发送回执ID。 | 1234^345 | 必须 |
out_id | String | 调用发送短信接口时传的outId。 | 123456 | 可选 |
send_time | String | 转发给运营商的时间。 | 2017-06-01 10:00:00 | 必须 |
report_time | String | 收到运营商回执的时间。 | 2017-06-01 10:00:05 | 可选 |
err_code | String | 错误码。 | UNKNOW | 可选 |
err_msg | String | 错误信息。 | 未知异常 | 可选 |
sms_size | String | 140字节算一条短信,短信长度超过140字节时会拆分成多条短信发送。 | 1,2,3 | 可选 |
上行短信消息SmsUp
名称 | 类型 | 描述 | 示例 | 是否必须 |
---|---|---|---|---|
phone_number | String | 短信接收号码。 | 13000000000 | 可选 |
content | String | 短信内容。 | true | 必须 |
sign_name | String | 短信签名。 | 【阿里云】 | 必须 |
send_time | String | 时间。 | 2017-06-01 10:00:00 | 必须 |
dest_code | String | 扩展码。 | 123456 | 必须 |
sequence_id | String | 消息序列ID。 | 123456 | 必须 |
技术对接步骤
- python版本要求:python 2.6+, python3.x
-
SDK下载:下载地址
-
执行:
- 安装依赖1:在最顶层目录执行:python setup.py install #如果为python3,请执行:python3 setup.py install
- 安装依赖2:进入目录mns_python_sdk,执行:python setup.py install #如果为python3,请执行:python3 setup.py install
- 修改信息:从sms控制台上获取ACCESS_KEY_ID与ACCESS_KEY_SECRET,并填入文件const.py中
- 运行程序:python demo_sms_api.py #如果为python3,请执行python3 demo_sms_api.py
注意 您还需要在控制台上申请短信模板,并将相关信息填入至文件demo_sms_api.py中。
在文档使用中是否遇到以下问题
更多建议
匿名提交