4

如何检查已发送消息的送达报告。我正在使用 PHP,并且我有 SMPP 帐户。有人可以帮我检查交货报告吗?

我会像我们在手机中收到的消息一样收到交付报告吗?
或者发送功能的状态会为它做什么?

4

3 回答 3

6

使用 SMPP,您可以通过以下方式检索交货报告

第一种选择是在发送PDU时设置register_delivery参数。 在这种情况下, SMSC应该向您发送包含交付报告的PDU 。1submit_sm
deliver_smesm_class = 0x04

另一种方法是使用命令请求传递状态,query_sm但如果轮询 SMSC 过于频繁,这可能会产生更多流量。

于 2012-01-13T19:18:28.670 回答
1

如果您询问Delivery_Receipt将交付回源的格式,那么它将作为 SMPPdeliver_smdata_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
于 2012-02-02T08:07:30.957 回答
1

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

在此处添加以下链接以获取处理上述示例消息的详细信息:

于 2019-01-05T13:46:33.283 回答