2015-06-03 5 views
4

Я использую Twilio API для отправки и получения смс от клиентов.Получение SMS и сохранение его в базе данных с помощью Twilio

Каждый раз, когда я отправляю sms своим клиентам, я храню феды вроде to, body в моей базе данных.

Я реализовал API для отправки сообщения, которое отлично работает и просто сохраняет поля в моей базе данных.

Моя проблема

Когда я получаю SMS от моих клиентов моего номера Twilio. Я хочу получить поля, такие как from number и body и сохранить в моем файле данных.

я посмотрел, что документацию здесь

https://www.twilio.com/docs/api/twiml

https://www.twilio.com/blog/2012/04/get-started-with-twilio-sms-receiving-incoming-sms-quickstart.html

Но это только показывает, как отправить ответ клиенту при получении сообщения.

Я хочу сохранить полученные sms в моей базе данных.

Может кто-нибудь помочь мне получить from number и message body при получении СМС. tnx ..

+0

Можете ли вы добавить фрагмент кода того, что вы написали, который не работает, поэтому мы можем помочь вам отладить его? – Kmeixner

+0

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

ответ

1

Документация Twilio SMS ответов здесь: https://www.twilio.com/docs/api/twiml/sms/twilio_request

Вот соответствующая цитата:

Когда Twilio получает сообщение для одного из чисел Twilio это делает синхронный запрос HTTP для URL-адрес сообщения, настроенный для этого номера , и ожидает получения TwiML в ответ. Twilio отправляет следующие параметры с запросом в качестве параметров POST или URL-запросом в зависимости от того, какой HTTP-метод вы настроили.

Вы должны просто иметь поля данных внутри переменной PHP $_REQUEST[].

$_REQUEST['MessageSid'] - 34 символа уникальный идентификатор сообщения. Может использоваться для последующего извлечения этого сообщения из REST API.

$_REQUEST['SmsSid'] - То же значение, что и MessageSid. Устаревшие и включены для обратной совместимости.

$_REQUEST['AccountSid'] - 34-значный идентификатор учетной записи, с которым связано это сообщение.

$_REQUEST['From'] - номер телефона, отправившего это сообщение.

$_REQUEST['To'] - номер телефона получателя.

$_REQUEST['Body'] - Текст сообщения сообщения. До 1600 символов.

$_REQUEST['NumMedia'] - количество элементов мультимедиа, связанных с сообщением

Ниже приведен пример запроса можно использовать с базой данных MySQL. Вы также должны отправить ответ TWIXML на Twilio и очистить полученные данные до запуска такого запроса.

$sql = "INSERT INTO messages (sid, from, body) 
     VALUES (
       '".$_REQUEST['MessageSid']."', 
       '".$_REQUEST['From']."', 
       '".$_REQUEST['Body']."' 
       )"; 
2

Twilio евангелист здесь.

Twilio передает параметры в своем HTTP-запроса в виде кодированных значений, так что вам просто нужно использовать объект запроса, чтобы захватить их:

$from = $_REQUEST['From'] 

SMS Quickstart for PHP имеет более подробный пример.

Надежда шляпа помогает.