如何检查已发送消息的送达报告。我正在使用 PHP,并且我有 SMPP 帐户。有人可以帮我检查交货报告吗?
我会像我们在手机中收到的消息一样收到交付报告吗?
或者发送功能的状态会为它做什么?
如何检查已发送消息的送达报告。我正在使用 PHP,并且我有 SMPP 帐户。有人可以帮我检查交货报告吗?
我会像我们在手机中收到的消息一样收到交付报告吗?
或者发送功能的状态会为它做什么?
使用 SMPP,您可以通过以下方式检索交货报告。
第一种选择是在发送PDU时设置register_delivery参数。
在这种情况下, SMSC应该向您发送包含交付报告的PDU 。1
submit_sm
deliver_sm
esm_class = 0x04
另一种方法是使用命令请求传递状态,query_sm
但如果轮询 SMSC 过于频繁,这可能会产生更多流量。
如果您询问Delivery_Receipt将交付回源的格式,那么它将作为 SMPPdeliver_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
SMS送达回执是 SMSC 生成的常规 SMS 文本消息,但esm_class = 0x04
用于区分它们。esm_class = 0x04
表示PDU方向为SMSC > ESME,短消息包含 SMSC送达回执短消息。
SMPP PDU的短消息区域deliver_sm
由以下文本格式组成,这些文本格式使用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
在此处添加以下链接以获取处理上述示例消息的详细信息: