Node.js Twilio函数-发布到第三方api?
所以,我对这个不太熟悉,所以我有点困惑。我试图使用Twilio函数创建一个函数,将传入的sms消息发布到第三方API。总的来说,我该怎么做 这就是我现在拥有的Node.js Twilio函数-发布到第三方api?,node.js,twilio,twilio-functions,Node.js,Twilio,Twilio Functions,所以,我对这个不太熟悉,所以我有点困惑。我试图使用Twilio函数创建一个函数,将传入的sms消息发布到第三方API。总的来说,我该怎么做 这就是我现在拥有的 exports.handler = function(context, event, callback) { var got = require('got'); var data = event.Body; console.log("posting to helpscout: "+requestPayload); got.
exports.handler = function(context, event, callback) {
var got = require('got');
var data = event.Body;
console.log("posting to helpscout: "+requestPayload);
got.post('https://api.helpscout.net/v1/conversations.json',
{
body: JSON.stringify(data),
'auth': {
'user': process.env.API_KEY,
'pass': 'x'
},
headers: {
'Content-Type': 'application/json'
},
json: true
})
.then(function(response) {
console.log(response.body)
callback(null, response.body);
})
.catch(function(error) {
callback(error)
})
}
下面是一些让您开始学习的内容(Twilio函数的代码)。这将在Help Scout上创建新的对话 注意:事件
参数包含有关Twilio函数(传入sms消息)的特定调用的信息。它有event.Body
,event.From
,等等
文档:是否可以从两条消息创建对话?例如,当客户发送消息时,我希望Twilio自动回复他们的电子邮件请求。一旦客户回复了该信息,我希望该函数能够创建一个对话,将这两条消息中的信息结合起来。这可能吗?我不熟悉HelpScout API,但可能会在通过电话号码搜索会话id后更新会话或线程。如果你需要持久性,例如电话号码匹配电子邮件,那么Twilio功能可能不够。也许这可以工作,但我也不确定。可能是我要玩的东西。谢谢你的帮助!我稍微修改了一下,以便在我自己制作的API上发表文章。必须将内容类型
标题更改为应用程序/x-www-form-urlencoded
,然后才能正常工作。非常感谢。
const https = require('https');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Thanks. Your message has been forwarded to Help Scout.");
let postData = JSON.stringify(
{
"type": "email",
"customer": {
"email": "customer@example.com"
},
"subject": "SMS message from " + String(event.From),
"mailbox": {
"id": "000000"
},
"status": "active",
"createdAt": "2017-08-21T12:34:12Z",
"threads": [
{
"type": "customer",
"createdBy": {
"email": "customer@example.com",
"type": "customer"
},
"body": String(event.Body),
"status": "active",
"createdAt": "2017-08-21T12:34:12Z"
}
]
}
);
// replace with your Help Scout values
let postOptions = {
host: 'api.helpscout.net',
port: '443',
path: '/v1/conversations.json',
method: 'POST',
auth: '1234567890abcdef:X',
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(postData)
}
};
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();
};