SMPP 交付报告

问题描述 投票:0回答:3

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

我会收到像我们在手机中收到的那样的递送报告消息吗?
或者发送功能的状态就可以了?

smpp
3个回答
6
投票

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

第一个选择是在发送 1 PDU 时将

registered_delivery
参数设置为
submit_sm

在这种情况下,SMSC 应向您发送
deliver_sm
PDU,其中
esm_class = 0x04
包含 交付报告

另一种方法是使用

query_sm
命令请求传送状态,但如果过于频繁地轮询 SMSC,这可能会产生更多流量。


1
投票

如果您询问将 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

1
投票

短信送达收据是SMSC生成的常规SMS短信,但使用

esm_class = 0x04
来区分。
esm_class = 0x04
表示PDU方向是SMSCESME,短信中包含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

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

© www.soinside.com 2019 - 2024. All rights reserved.