Как получить общее местоположение GPS WhatsApp с помощью Twilio API? - PullRequest
1 голос
/ 03 февраля 2020

Я использую Node JS + twilio API для получения сообщений WhatsApp от бота. Прямо сейчас я пытаюсь получить местоположение GPS, отправленное пользователем, но оно не отображается в теле сообщения, а в версии SMS оно появляется.

//Import model
const WhatsappTwilio = require('../models/WhatsappModel');

exports.postWhatsapp = (req, res, next) => {
  const Body = req.body.Body;
  const From = req.body.From;
  const To = req.body.To;

  const whatsappTwilio = new WhatsappTwilio({
    Body: Body,
    From: From,
    To: To
  });
  let responseMsg = '';
  if (Body.includes('http://maps.google.com/maps')) {
    responseMsg ='Location received';
  } else {
    responseMsg ='Error, could not get location';
  }

  //Response through twilio whatsapp
  client.messages
    .create({
        body: responseMsg ,
        from: 'whatsapp:' + To,
        to: 'whatsapp:' + From
    })
    .then(message => console.log(message.sid));
};

Это контроллер, который обрабатывает бот WhatsApp, в версии SMS он работает, но в версии WhatsApp нет.

1 Ответ

0 голосов
/ 03 февраля 2020

Если «Местоположение» присоединено к сообщению WhatsApp, оно будет присутствовать в параметрах запроса POST, и вы можете получить его свойства аналогично тому, как вы получаете тело сообщения.

if (req.body.Latitude && req.body.Longitude) {
  console.log('Whatsapp location received...');
  console.log(req.body.Latitude + ', ' + req.body.Longitude);

}

Адрес также может присутствовать, и вы можете получить его с помощью req.body.Address.

...