Я использую Twilio API для отправки и получения смс от клиентов.
Каждый раз, когда я отправляю смс своим клиентам, я храню поля как to
, body
в моей базе данных.
Я реализовал API для отправки сообщений, который работает нормально, и я просто сохраняю поля в моей базе данных.
Моя проблема
Когда я получаю SMS от своих клиентов на мой номер twilio. я хочу получить такие поля, как from number
и body
и сохранить в моей базе данных.
я посмотрел, что документация здесь
https://www.twilio.com/docs/api/twiml
Но это только показывает, как отправить ответ клиенту при получении сообщения.
Я хочу сохранить полученные смс в моей базе данных.
Может ли кто-нибудь помочь мне получить from number
и message body
когда получено смс. Тпй ..
Документация к ответам 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']."'
)";
Евангелист Твилио здесь.
Twilio передает параметры в своем HTTP-запросе как закодированные в форме значения, поэтому вам просто нужно использовать объект REQUEST, чтобы получить их:
$from = $_REQUEST['From']
SMS Quickstart для PHP есть более подробный пример.
Надеюсь, шляпа помогает.