【问题标题】:How can I respond to incoming Twilio calls and SMS messages using node.js?如何使用 node.js 响应传入的 Twilio 呼叫和 SMS 消息?
【发布时间】:2013-01-11 11:03:00
【问题描述】:

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

【问题讨论】:

    标签: node.js twilio


    【解决方案1】:

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

    Twilio 期望从这个 HTTP 请求返回的是一个 set of XML instructions called TwiML,它将告诉 Twilio 做什么来响应调用。例如,假设您想通过说“谢谢”来回复电话,然后播放音乐文件。如果您想在节点中执行此操作,您可以考虑使用this node library 和 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);
    

    祝你好运 - 希望这就是你要找的。​​p>

    【讨论】:

    • 当我做 req.body.from 或只是 req.from 它是未定义的。希望从传入的 SMS 中获取号码。有任何想法吗?谢谢!
    • @TylerLangan 您是否在您的应用程序上设置了正文解析器中间件?如果 req.body 未定义,您将需要它 - github.com/expressjs/body-parser
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    相关资源
    最近更新 更多