指示在NodeJS中通过Twilio API接收到WhatsApp消息?

时间:2020-06-09 16:35:03

标签: node.js twilio whatsapp

我们正在创建一个服务,该服务将通过Twilio服务接收WhatsApp消息。这行得通,但是我们的问题是我们无法确定如何告诉发件人我们的服务器已经“读取”了消息。即使响应了消息,消息也始终显示为“已交付”,从未显示为“已读”。我们已经查看了documentation,但似乎看不出该怎么做。

我们的服务器是用NodeJS编写的,并且在HTTP端使用Express。

以下与我们使用的代码等效(不是正在运行的示例):

import { twiml } from 'twilio';

const { MessagingResponse } = twiml;

async receiveMessage(req: Request, res: Response, next: NextFunction) {

   const message = req.body;

   // Send back an empty response, we will process asynchronously
   const immediateResponse = new MessagingResponse();
   res.setHeader('content-type', 'text/xml');
   res.send(immediateResponse.toString());

   // TODO indicate message as read

   // Do what ever logic is needed for given message
   const replyMessage = await processMessage(message);

   const messageToTwilio = {
     body: replyMessage,
     from: message.To,
     to: message.From
   };

   const twilioResponse = await this.client.messages.create(messageToTwilio);

   // Record value of twilioResponse in DB
}

谁能建议我应该在API中使用什么?

1 个答案:

答案 0 :(得分:1)

我在此问题上联系了Twilio,事实证明这是当前不可能的。尽管他们认为这是有用的功能,但目前并不是实现的优先事项。

注意,可以通过状态webhook获取外发邮件的传递状态,但是无法向远程方指示传入消息已被“读取”。