我有一个功能,可以将传入短信的内容发布到第三方api。因此,客户向我们发送消息,Twilio将消息发布到api。但是,我想补充一点。因此,当用户向我们发送消息时,我希望Twilio回复询问电子邮件,然后将消息与第二条消息中的电子邮件一起发布到api。除非我们得到第二条消息,否则不应该向api发布任何内容。关于如何做这样的事情的任何想法?
我正在查看文档并查看了有关Message实例资源的内容,但我不确定是否会这样做。
const https = require('https');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Your message has been recieved.");
let postData = JSON.stringify({
....
});
let postOptions = {
...
};
let req = https.request(postOptions, function(res) {
res.setEncoding('utf8');
res.on('data', function(chunk) {
console.log(chunk);
callback(null, twiml);
});
});
req.write(postData);
req.end();
};
答案 0 :(得分:1)
Twilio开发者传道者在这里。
为了采取这样的两个步骤,您需要在等待第二条消息时将信息保存在某处。由于第二条消息将通过新的HTTP请求进入,因此您无法在任何地方保存此功能,您希望使用某种第三方商店。然后你编写你的函数来检查该商店中是否存在第一条消息,如果它存在,则将这两条消息发送给API,如果它没有存储第一条消息并响应用户提出第二个问题。
或者,您可以使用Twilio API to look up all the previous messages that the user has sent to you。如果没有先前的消息,那么这绝对是他们发送的第一条消息。如果有上一条消息,那么您需要确定它是否是此对话的启动消息,可能是多久以前或内容上的启发式消息,然后决定是将这两封消息发送到您的API还是询问为了下一个回应。
让我知道这是否有帮助。