Получение SMS и сохранение его в базе данных с использованием Twilio

Я использую Twilio API для отправки и получения смс от клиентов.

Каждый раз, когда я отправляю смс своим клиентам, я храню поля как 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

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

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

Может ли кто-нибудь помочь мне получить from number и message body когда получено смс. Тпй ..

4

Решение

Документация к ответам 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']."'
)";
1

Другие решения

Евангелист Твилио здесь.

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

$from = $_REQUEST['From']

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

Надеюсь, шляпа помогает.

2

По вопросам рекламы [email protected]