Node.js 在Twilio中调用系统回调时获取11200 Http检索错误

Node.js 在Twilio中调用系统回调时获取11200 Http检索错误,node.js,google-cloud-firestore,google-cloud-functions,twilio,Node.js,Google Cloud Firestore,Google Cloud Functions,Twilio,我想获取Twilio发送的邮件的传递状态。所以我使用了系统回调。但它抛出了一个错误,即;对StatusCallback URL的请求未成功。状态是404。如何从Twilio获取消息和200响应的状态。这是我的Webhook代码。我使用了node.js: const http = require('http'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlenc

我想获取Twilio发送的邮件的传递状态。所以我使用了系统回调。但它抛出了一个错误,即;对StatusCallback URL的请求未成功。状态是404。如何从Twilio获取消息和200响应的状态。这是我的Webhook代码。我使用了node.js:

const http = require('http');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.urlencoded({ extended: true }));

app.post('/MessageStatus', (req, res) => {
  console.log("entered inti");
  const messageSid = req.body.MessageSid;
  const messageStatus = req.body.MessageStatus;

  console.log(`SID: ${messageSid}, Status: ${messageStatus}`);
  res.set('Content-Type', 'text/plain')
  res.sendStatus(200).end();
});

http.createServer(app).listen(1337, () => {
  console.log('Express server listening on port 1337');
});

exports.TwilioSMSWebhook = functions.https.onRequest(app);

如何解决此问题?

看起来您的Express服务器正在监听端口1337,您是否在告诉Twilio发送到statusCallback URL中的此特定端口(否则https的默认端口为443)?另外,另一个注意事项是,statusCallback应该返回一个204或200,其中包含空TwiML,如下所述

状态回调


您可以随时使用Postman之类的工具测试我们的URL,看看它为什么会返回404-Not Found。

嗨,Alan,我已将Webhooks URL称为系统回调URL。嗨,我不确定我是否理解您的答案,您能澄清一下吗?问题已解决。谢谢你的回复。