【问题标题】:Forward the "Send and Wait for Reply" to a different phone number将“发送并等待回复”转发到其他电话号码
【发布时间】:2021-06-26 04:14:23
【问题描述】:

我们有一个名为“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 后,我收到了“你好”短信。

【问题讨论】:

    标签: twilio twilio-studio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    您不一定需要在此处转发消息。您可以使用消息中所需的所有数据对您自己的服务进行 API 调用,这样您就可以通过这种方式存储和响应信息。

    为此,您需要在发送并等待回复小部件之后添加HTTP Request widgetRun 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));
    };
    

    【讨论】:

    • 嗨@philnash。谢谢你。我没有收到来自 Send & Wait for Reply 的任何回复,我也将其从negative1-3 更改为negative1_3。我试过这样设置:client.messages .create({ body: widgets.negative1_3.inbound.Body, from: '+12132779513', to: '+12133885256' }) .then(message => console.log(message.sid));
    • 这引发了一些问题!您的工作室流程是否正确移过 first_question 小部件?当您通过 REST API 和通过入站消息启动它时,它是否成功?您是如何在评论中设置代码的?这是在 Twilio 函数中吗?
    • 嗨,菲尔纳什。是的,它确实通过了 first_question 并直接传递给了negative1_3。我什至设置了body: 'Hello', from: 'twilio phone here', to: 'my verified caller id' 和上面的那个,我收到了“你好”短信到我验证的来电显示。编辑:我在上面编辑了我的帖子,以供参考整个 Twilio 功能代码。
    • 您不能直接在函数中访问widgets 对象,该对象仅适用于 Studio 小部件。当您调用函数时,您需要使用小部件配置将参数发送到函数中。你可以set keys and values in the widget config like in this screenshot。然后通过函数中的event 对象访问这些参数。如果您设置了一个名为Body 的参数,您可以在函数中以event.Body 的形式访问它。
    • 哦,那是因为你没有从你的函数返回响应。我已经更新了我的答案,更新了您的代码以使其正常工作。
    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多