2016-04-05 86 views
0

我正在閱讀與SMS消息響應相關的部分Twilio文檔(https://www.twilio.com/help/faq/why-does-my-twilio-number-respond-with-thanks-for-the-message-configure-your-numbers-sms-url-to-change-this-message),並且正在嘗試構建一個node.js應用程序,該應用程序將允許我響應入站SMS消息與方案的迴應。使用node.js處理入站Twilio消息

我一直在試圖效仿這一SO帖子裏面有一個類似的問題(How can I respond to incoming Twilio calls and SMS messages using node.js?)交易和有下面的代碼:

var AUTH_TOKEN = "*********************"; 
var twilio = require('twilio'); 
var express = require('express'); 
var http = require('http'); 

var app = express(); 

var bodyParser = require('body-parser'); 
app.use(bodyParser.urlencoded()); 


app.post('/welcome/sms/reply/', function(req, res) { 
    //Validate that this request really came from Twilio... 
    if (twilio.validateExpressRequest(req, AUTH_TOKEN)) { 
     var twiml = new twilio.TwimlResponse(); 
     twiml.say('Hi! Thanks for checking out my app!'); 
     res.type('text/xml'); 
     res.send(twiml.toString()); 
    } 
    else { 
     res.send('you are not twilio. Buzz off.'); 
    } 
}); 

http.createServer(app).listen(3000); 

調用POST請求/首頁/短信/通過REST客戶端回覆產生else語句,我不確定爲什麼,因爲AUTH_TOKEN正是我在我的帳戶儀表板中所具有的。

回答

0

Twilio開發者傳道這裏。

如果您嘗試使用REST客戶端調用您自己的端點,並且您正在驗證請求(twilio.validateExpressRequest),那麼您將需要構建請求same as Twilio does。至關重要的是,這包括一個X-Twilio-Signature標題,更多詳情請閱讀該鏈接。

如果你用Twilio測試你的代碼,它應該可以工作並且是一個有效的請求。

+0

感謝菲爾 - 事實證明,我沒有設置ngrok並在我的Twilio帳戶中正確更改請求URL,所以一旦我確定一切正常。 –

+0

哦,我明白了!很高興它現在爲你工作。 – philnash