我开发了一个应用程序,它使用Kannel通过SMPP将SMS发送到SMSC。我使用http发送Kannel sendSms并通过DLR-URL获取状态更新和短信响应。但我不知道捕获此消息的ID,我无法在我的系统上识别它。
Kannel是否有任何参数发送标识邮件的DLR-URL?或者,您可以花费一个由sendSms定制的参数,然后在DLR-URL中捕获它?
答案 0 :(得分:0)
您可以使用值%F
向DLR网址添加参数 - 该参数将设置为SMSC的ID。但是,这只能获得SMSC ID,但无法解决在您身边找到消息的问题。
您可以做的另一件事是为您发送的每条消息创建一个唯一的DLR URL - 您可以直接在URL中包含数据库中的相应消息ID。例如,如果消息的数据库中的ID为123456789,并且SMSC上的ID为987654321,则它将如下所示:
您将dlr-url设置为ID为123456789的邮件:
http://example.com/dlr-url/?my_id=123456789&smsc_id=%F&dlr=%d
到时候,您会收到类似这样的请求:
http://example.com/dlr-url/?my_id=123456789&smsc_id=987654321&dlr=1