我正在使用 SMS Studio 进行与入站 SMS 消息的快速聊天机器人对话,并希望在完成后将对话日志转发到电子邮件。我编写了一个使用 SendGrid API 将 SMSes转发到 email的函数。它独立工作 - 即,如果我将电话号码配置为在文本进入时立即运行该功能,它将通过电子邮件发送单个 SMS 输入。
但是,我想将该功能添加到 Twilio Studio 流程的末尾,以便在结束后通过电子邮件将整个对话日志发送给我。一旦我将该函数附加到工作室流程的末尾,它就会停止工作,并且我会收到一条失败通知。
这是函数中的代码:
const got = require('got');
exports.handler = function(context, event, callback)
{
const requestBody = {
personalizations: [{ to: [{ email: context.TO_EMAIL_ADDRESS }] }],
from: { email: context.FROM_EMAIL_ADDRESS },
subject: `New SMS message from: ${event.From}`,
content: [
{
type: 'text/plain',
value: event.Body
}
]
}
got.post('https://api.sendgrid.com/v3/mail/send', {
headers: {
Authorization: `Bearer ${context.SENDGRID_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
})
.then(response => {
let twiml = new Twilio.twiml.MessagingResponse();
callback(null, twiml);
})
.catch(err => {
callback(err);
});
};`
这是调试器返回的错误,如果我将此函数作为 Twilio Studio 流程中的最后一步:
错误 - 81017
Twilio 函数响应
错误 从附加到 Studio 流的 Twilio 函数返回的响应中存在错误。
可能的原因
您的函数在响应之前超时
您的函数返回错误响应
可能的解决方案
您的函数必须包含回调。
确保将函数回调 callback(err, response) 正确放置在函数代码中。
如果您使用 JavaScript 承诺,请确保在成功和捕获块中都调用回调。
您的函数响应错误。
我很难弄清楚错误是什么。有没有人有任何提示?
谢谢!