如何查看已发送消息的送达报告。我使用的是 PHP,并且有 SMPP 帐户。有人可以帮我检查交货报告吗?
我会收到像我们在手机中收到的那样的递送报告消息吗?
或者发送功能的状态就可以了?
使用 SMPP,您可以通过以下方式检索交付报告。
第一个选择是在发送 1
PDU 时将
registered_delivery参数设置为
submit_sm
。deliver_sm
PDU,其中 esm_class = 0x04
包含 交付报告。
另一种方法是使用
query_sm
命令请求传送状态,但如果过于频繁地轮询 SMSC,这可能会产生更多流量。
如果您询问将 Delivery_Receipt 传送回源的格式,那么它将作为 SMPP
deliver_sm
或 data_sm
操作中的用户数据有效负载进行携带。
当用于传输交货收据时,以下字段与
deliver_sm
和 data_sm
操作相关:
• source address (i.e. source_addr_ton, source_addr_npi, source_addr)
• destination address (i.e. dest_addr_ton, dest_addr_npi, destination_addr)
• esm_class
• message_state
• network_error_code
• receipted_message_id
短信送达收据是SMSC生成的常规SMS短信,但使用
esm_class = 0x04
来区分。 esm_class = 0x04
表示PDU方向是SMSC→ESME,短信中包含SMSC送达回执短信。
deliver_sm
SMPP PDU 的短消息区域由以下文本格式组成,使用dcs=0x00
数据编码方案进行编码(即根据SMPP 规范的 SMSC 默认字母):
id:{message_id}
sub:{message_sub}
dlvrd:{message_dlvrd}
submit date:{message_submit_date} done
date:{message_done_date}
stat:{message_stat}
err:{message_err}
送达收据消息文本示例:
id:40072910491427628 sub:001 dlvrd:001 submit date:1007291049 done date:1007291049 stat:DELIVRD err:000
在此处添加以下链接,了解处理上述示例消息的详细信息: