Как изменить ответ сообщения на основе сообщения, отправленного клиентом в Twilio с помощью Node.js? - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь создать платформу для обмена SMS-сообщениями, где пользователь будет вводить «да» или «нет», которая будет работать как логическая проверка, и на истинном сервере Twilio ответит «ответ 1», а на ложном Twilio сервер ответит «ответ 2 '?Как это будет работать в Node.js?Все библиотеки говорят только об отправке и получении, но не об изменении ответа в зависимости от полученного сообщения.

1 Ответ

0 голосов
/ 07 октября 2018

Евангелист разработчиков Twilio здесь.

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

Например, если вы использовали Express для ответа на веб-крючок, то ваш маршрут может выглядеть следующим образом:

const MessagingResponse = require('twilio').twiml.MessagingResponse;

app.post('/messages', (req, res) => {
  let message = req.body.Body;
  message = message.trim().toLowerCase();
  const twiml = new MessagingResponse();
  if (message === 'yes') {
    twiml.message('You said "yes"! Fantastic!');
  else if (message === 'no') {
    twiml.message('You said "no". That's a shame.');
  } else {
    twiml.message('Please reply with a "yes" or a "no". Thank you.');
  }
  res.header('Content-Type', 'application/xml');
  res.send(twiml.toString());
});

В этом случае свойство Body тела запроса - это сообщение, которое было отправлено на ваш номер Twilio, и вы можете использовать условные ответы для ответа в зависимости от того, что он сказал.

Дайте мне знать, если это поможет.

...