如何使用node.js响应传入的Twilio呼叫和SMS消息?

MAA*_*ANI 9 node.js twilio

在我的应用程序中,我使用twilio node.js模块接收短信,发送短信,接听电话和拨打电话.我想出了如何发送短信和拨打电话.但我不知道如何回复来电和短信.我如何使用节点来响应这些?

Kev*_*ery 16

当Twilio收到您电话号码的呼叫时,它会向您在管理控制台中配置的URL发送HTTP请求:

twilio帐户仪表板

Twilio期望从这个HTTP请求返回的是一组称为TwiML的XML指令,它将告诉Twilio响应该调用该做什么.例如,假设您想通过说"谢谢"然后播放音乐文件来回复电话.如果您想在节点中执行此操作,可以考虑使用此节点库和express框架来发送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);
Run Code Online (Sandbox Code Playgroud)

祝你好运 - 希望这就是你想要的.

  • 当我做req.body.from或者只是req.from它是未定义的.希望从传入的短信中获取号码.有任何想法吗?谢谢! (2认同)
  • @TylerLangan你有你的应用程序设置身体解析器中间件?如果req.body未定义,你将需要它 - https://github.com/expressjs/body-parser (2认同)