我们有一个名为“Google LA”的工作室流程,它是通过 Rest API 触发的。此流具有发送和等待回复,因此我们将此流与“消息传入时”挂钩,以便在客户对服务进行 1 到 5 星评价时,它将遵循流的其余部分。现在,在发送和等待回复中,我们希望将客户的回复转发到我们的主要业务电话号码以进行跟踪/记录,这样我们就可以解决他们的问题,将我们评为 1 到 3 星。这是我们的设置:
这就是我们想要的:
为 philnash 建议而编辑:
我使用以下代码在 Twilio 中创建了一个函数:
exports.handler = function(context, event, callback) {
const accountSid = context.ACCOUNT_SID;
const authToken = context.AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);
client.messages
.create({
body: widgets.negative1_3.inbound.Body,
from: '+12132779513',
to: '+12133885256'
})
.then(message => console.log(message.sid));
};
但是,它没有发送任何内容或客户回复。我将negative1-3 小部件重命名为negative1_3 并发布了工作室流程。
我尝试更改 body: 'Hello' 以确保我的函数正常工作,是的。在到达 first_question -> check_response ->negative1_3 后,我收到了“你好”短信到我验证的来电显示电话号码。
答案 0 :(得分:1)
这里是 Twilio 开发者布道者。
您不一定需要在此处转发消息。您可以使用消息中所需的所有数据对您自己的服务进行 API 调用,这样您就可以以这种方式存储信息并对其做出反应。
为此,您需要在“发送并等待回复”小部件之后添加 HTTP Request widget 或 Run Function widget。在这些小部件中,您可以使用 liquid tags 从“发送并等待回复”小部件访问回复。您可以看到如何调用 docs for the Send and Wait For Reply widget 中的变量。对于您的小部件,您应该能够通过参考:
获得回复的正文widgets.negative1-3.inbound.Body
(虽然我不确定“negative1-3”这个名字会如何工作,所以你可以试试widgets["negative1-3"]
,或者用下划线重命名小部件。)
使用入站消息的正文以及发件人编号,您可以使用 HTTP 请求小部件或运行功能小部件将数据发送到您自己的应用程序。
编辑
您的函数只能访问您在函数小部件配置中设置的参数。然后,您可以访问 event
对象中的这些参数。您还需要在使用 callback
函数成功发送消息后返回。另一个提示,您不需要实例化您自己的客户端,您可以从 context
获取它。像这样:
exports.handler = function(context, event, callback) {
const client = context.getTwilioClient();
client.messages
.create({
body: event.Body,
from: '+12132779513',
to: '+12133885256'
})
.then(message => {
console.log(message.sid);
callback(null, "OK");
})
.catch(error => callback(error));
};