2015-08-11 4 views
1

Я разработал приложение, которое использует Kannel для отправки SMS-сообщения в SMSC через SMPP. Я отправляю для Kannel sendSms с помощью http и получаю обновление статуса и sms-ответы через DLR-URL. Но я не знаю, как захватить ID для этого сообщения, я не могу идентифицировать его в своей системе.Получить ID DLR в Kannel

Есть ли какой-либо параметр, который Kannel отправляет DLR-URL, который идентифицирует сообщение? Или вы можете потратить параметр, настроенный sendSms, а затем захватить его в DLR-URL?

ответ

0

Вы можете добавить параметр к своему URL-адресу DLR со значением %F - который будет установлен на идентификатор SMSC. Тем не менее, это дает вам только SMSC ID, но не решает проблему поиска сообщения на вашей стороне.

Другое, что вы можете сделать, это создать уникальный URL DLR для каждого отправляемого вами сообщения - вы можете включить соответствующий идентификатор сообщения из своей базы данных непосредственно в URL-адрес. Например, если сообщение имеет идентификатор 123456789 в базе данных, и она будет иметь идентификатор 987654321 на SMSC, это будет выглядеть следующим образом:

  • установить DLR-URL в сообщении с идентификатор 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 
    
+0

Эта работа также получать ответы SMSC с помощью sms-сервиса get-url? –

+0

Часть 'sms-service' предназначена для обработки входящих сообщений, т. Е. Если вы настроили ее с помощью SMSC, вы можете получать сообщения, отправленные, например, в короткий код или что-то в этом роде. Вы можете использовать параметр '% F', чтобы получить идентификатор SMSC для входящих сообщений. – pilsetnieks

Смежные вопросы