Как я могу отвечать на входящие звонки Twilio и SMS-сообщения с помощью node.js?

В моем приложении я использую модуль twilio node.js для получения sms, отправки sms, приема звонка и совершения исходящего звонка. Разобрался, как отправить смс и позвонить. Но я не знаю, как отвечать на входящие звонки и смс-сообщения. Как я могу использовать узел, чтобы ответить на них?


person MAAAAANI    schedule 28.01.2013    source источник


Ответы (1)


Когда Twilio получает звонок на ваш номер телефона, он отправляет HTTP-запрос на URL-адрес, который вы настроили в консоли администратора:

панель управления учетной записью twilio

В ответ Twilio ожидает от этого HTTP-запроса набора инструкций XML под названием TwiML, которые скажет Twilio, что делать в ответ на звонок. Например, предположим, что вы хотите ответить на телефонный звонок, сказав «спасибо», а затем воспроизвести музыкальный файл. Если вы хотите сделать это в узле, вы можете использовать эту библиотеку узлов и экспресс framework для отправки ответа TwiML:

var twilio = require('twilio'),
    express = require('express');

// Create express app with middleware to parse POST body
var app = express();
app.use(express.urlencoded());

// Create a route to respond to a call
app.post('/respondToVoiceCall', function(req, res) {
    //Validate that this request really came from Twilio...
    if (twilio.validateExpressRequest(req, 'YOUR_AUTH_TOKEN')) {
        var twiml = new twilio.TwimlResponse();

        twiml.say('Hi!  Thanks for checking out my app!')
            .play('http://myserver.com/mysong.mp3');

        res.type('text/xml');
        res.send(twiml.toString());
    }
    else {
        res.send('you are not twilio.  Buzz off.');
    }
});

app.listen(process.env.PORT || 3000);

Удачи - надеюсь, это то, что вы искали.

person Kevin Whinnery    schedule 28.01.2013
comment
Когда я делаю req.body.from или просто req.from, он не определен. Ищу номер из входящего SMS. Любые идеи? Спасибо! - person Tyler Langan; 06.09.2014
comment
@TylerLangan, в вашем приложении настроено промежуточное ПО для body-parser? Если req.body не определен, он вам понадобится - github.com/expressjs/body-parser - person Kevin Whinnery; 01.10.2014