全部产品
阿里云办公

短信消息API---Python

更新时间:2018-07-30 15:29:11

简介

当您使用短信的API接口发送短信后,可以通过使用MNS的Queue模型来接收短信的回执消息,假如服务出现异常情况时(如网络问题),导致消息回执未成功获取,还可以通过短信发送状态查询API接口进行一定的补偿(目前支持30天内发送记录的查询)。

消息的订阅

  • 云通信的所有业务消息都通过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 时间 20150101120000 必须
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中