调用短信服务API接口后,如果您需要获取短信发送状态、用户回复的短信内容、签名模板审核状态等,可通过配置回执消息获取相关内容。
回执消息简介
短信服务接收回执消息的模式有MNS消息队列消费模式和HTTP批量推送模式两种,您可根据实际情况选择合适的模式接收回执消息。
MNS消息队列消费模式
MNS消息队列消费模式表示通过MNS的Queue模型来接收指定地域的短信回执消息和上行短信内容。云通信的所有业务消息都支持MNS消息服务向外发送。用户在短信服务控制台启用MNS消息服务订阅指定的消息类型(MessageType)时,系统会自动生成该类型的独立消息队列及名称(QueueName)。您可使用此消息队列名称(QueueName)和消息类型(MessageType),通过调用SDK从后台来获取队列中的短信状态报告。
HTTP批量推送模式
HTTP批量推送模式表示通过HTTP POST方式发送消息到指定的Web URL。在短信服务控制台设置HTTP回调URL(callback_url)后,当业务消息产生时,系统会使用HTTP请求以POST方式将业务消息(即上行短信消息或短信状态报告)发送到指定的回调URL上,用户可直接接收此消息。
回执消息类型
选择回执消息模式之后,您还需要选择消息类型(MessageType),接收不同场景下的回执消息。根据短信发送状态、用户回复的消息内容等不同场景,我们提供了如下消息类型,您可根据业务需要进行选择。
国内短信
名称 | 描述 | MNS消息队列消费模式 | HTTP批量推送模式 |
SmsUp(上行消息接收) | 上行短信指用户发送给通信服务提供商的短信,用于定制某种服务、完成某种查询或是办理某种业务等。通过订阅SmsUp上行短信消息,可以获取终端用户回复短信的内容。 | ||
SmsReport(下行状态报告接收) | 与上行短信相对应的是下行短信。下行是指用户收到的短信,例如运营商发送的消息通知、业务提醒等短信。通过订阅SmsReport短信下行状态报告,可以获知每条短信的发送情况,了解短信是否达到终端用户的状态与相关信息。 | 说明 如果您发送短信到国际地区,可以通过GlobeSmsReport获取短信状态报告。 | |
SignSmsReport(签名审核状态) | 签名审核状态消息是指通过API接口AddSmsSign申请短信签名后,可以通过SignSmsReport接口获取签名的审核状态消息。 | - | |
TemplateSmsReport(模板审核状态) | 模板审核状态消息是指通过API接口AddSmsTemplate申请短信模板后,可以通过TemplateSmsReport接口获取模板的审核状态消息。 | - |
卡片短信
名称 | 描述 | MNS消息队列消费模式 | HTTP批量推送模式 |
MnsCardVender(卡片短信渲染消息) | 卡片短信渲染消息是指在创建卡片模板时,可以通过MnsCardVender接口获取短信渲染消息。 | ||
MnsCardTemplate(卡片短信模板审核状态) | 卡片短信模板审核状态消息是指通过API接口CreateCardSmsTemplate申请模板后,可以通过MnsCardTemplate接口获取模板的审核状态消息。 |
配置回执消息
由于系统存在缓存,开启回执消息后不会立即全量推送,建议等待15分钟确认是否已生效。
如果出现网络异常、响应超时等情况,可能会导致回执消息推送重复、回执消息获取失败等问题。如果回执消息获取失败,您可以通过QuerySendDetails接口查询短信发送详情。目前支持查询24小时内的发送数据、30天内的发送记录。
回执消息不保证幂等性,如果开发者后续处理逻辑需要考虑幂等性,需要根据业务场景做合适的幂等处理。
配置步骤
登录短信服务控制台。
在左侧导航栏选择
。在状态报告接收、上行消息接收、审核状态页签,开启指定模式。
以开启状态报告接收为例,其他操作类似。
MNS消息队列消费模式
说明为优化短信服务底层性能,减少队列调用对您业务的压力,超过3个月无发送量时,MNS消息队列将进入休眠状态,重新发送短信后,MNS队列将自动取消休眠。
开启MNS消息队列消费模式右侧的功能开关。
设置地域,选择地域。
此地域须和调用接口时所选的地域一致。
单击确定,设置完成。
HTTP批量推送模式
说明HTTP批量推送模式的响应超时时间为700毫秒。
开启HTTP批量推送模式右侧的功能开关。
单击修改内容,填写回执消息的接收地址。
示例:http://push.example.com/contextpath/receive.do。
单击确定。
设置完后,您可以单击测试,测试已填写的URL是否可以收到测试用的回执信息。