我们正在创建一个服务,该服务将通过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中使用什么?
答案 0 :(得分:1)
我在此问题上联系了Twilio,事实证明这是当前不可能的。尽管他们认为这是有用的功能,但目前并不是实现的优先事项。
注意,可以通过状态webhook获取外发邮件的传递状态,但是无法向远程方指示传入消息已被“读取”。