Двусторонняя СМС - отправка / получение - PullRequest
2 голосов
/ 14 марта 2011
  1. Я хочу отправлять полученные SMS-сообщения, используя шлюз SMS.

  2. При отправке сообщения я собираюсь задать какой-нибудь вопрос, и получатель может ответить.

  3. Мне нужно добавить уникальный идентификатор при отправке SMS и вернуть его при получении.

Я знаю, что есть способ сделать это,нравится аська и гугл воис 2 способа смс.Получатель возвращает сообщение на тот же номер, но только отправитель возвращает его.

Может ли кто-нибудь помочь с этим?

Спасибо, Лиор

1 Ответ

4 голосов
/ 17 марта 2011

Практически все SMS-шлюзы позволяют отправлять и получать сообщения. Наиболее распространенный способ отправки сообщений - через своего рода HTTP API (SOAP, REST, RPC). Например, чтобы отправить сообщение с использованием Twilio (там, где я работаю), вы бы отправили запрос POST нашему API с тремя параметрами: To (получатель), From (ваш номер Twilio), и Body (что включить в сообщение). Многие другие шлюзы используют аналогичные методы.

Из-за ограничений системы SMS во всем мире невозможно однозначно идентифицировать сообщения. Это означает, что, если получатель сообщения вручную не содержит идентификатор, невозможно связать ответ с исходным сообщением, не сопоставив номера телефонов отправителя и получателя. Это может усложнить обработку случаев, когда существует несколько невыполненных запросов к одному получателю. Есть несколько стратегий, которые вы можете использовать, чтобы обойти это ограничение.

  1. Запрос уникальных токенов ответа - Для каждого запроса, отправленного получателю, необходимо, чтобы ответ был уникальным для этого запроса. Например, в первом сообщении используйте что-то вроде «Для подтверждения, ответьте с помощью A1», а в последующих невыполненных запросах используйте другой уникальный ответ.

  2. Использовать разные телефонные номера «От» - Для каждого запроса, отправленного получателю, отправлять с другого номера. Затем вы можете сопоставить ответ с номером телефона, на который ответили. Во многих случаях это неоптимальная система, поскольку вам нужно больше телефонных номеров, и пользователи могут получать сообщения с разных номеров, что может привести к путанице.

  3. Срок действия невыполненных запросов - Если ответы на каждый запрос не важны, просто предположите, что они отвечают на самый последний запрос, или попросите их уточнить после ответа.

Что касается получения сообщений, большинство шлюзов будут уведомлять вас по HTTP. Например, когда на ваш номер Twilio приходит сообщение, мы отправляем запрос POST на URL-адрес, который вы указываете с включенными параметрами To, From и Body. Вы обрабатываете это, как любая другая форма подачи заявки в вашем приложении. Другие шлюзы используют аналогичные методы, но я не могу засвидетельствовать детали.

...