【问题标题】:Twilio Autopilot - How can I receive images from Whatsapp?Twilio Autopilot - 我如何从 Whatsapp 接收图像?
【发布时间】:2020-02-14 14:25:23
【问题描述】:

我正在使用 Twilio Autopilot 构建一个聊天机器人,我想获取我发送给该机器人的图像,我该如何获取它?我怎样才能获得位置?

非常感谢。

【问题讨论】:

    标签: twilio webhooks chatbot whatsapp


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    没有一种简单的方法可以做到这一点,但有一些潜在的解决方法。一种是有一个 webhook 端点,它将获取输入,如果有效负载包含图像的元素,然后对它做任何你想做的事情,否则如果它只是文本,那么可能会发送到 Autopilot。这在this blog post on Autopilot enhancements in Node.js 中进行了讨论。

    另一种方法是创建一个Twilio Function,如果它是第一条消息中的媒体,它将指向Twilio Studio flowAssets

    另一种是使用Twilio Functions 或类似的服务器。您应该有一个 Autopilot 任务,该任务使用 JSON 重定向到该函数,如下所示:

    {
        "actions": [
            {
                "redirect": {
                    "uri": "https://REPLACE-WITH-YOUR-FUNCTION-URL.twil.io/auso",
                    "method": "POST"
                }
            }
        ]
    }
    

    然后您的 Twilio 函数可以在 Node.js 中使用类似这样的内容获取图像 URL:

    const bodyContent = event.MediaUrl0;
    const filename = event.MessageSid + '.png';
    

    现在在 Collect 操作中,您还可以将 Twilio.MEDIA 指定为期望媒体的问题类型,目前我们支持 Twilio 消息传递支持的所有媒体格式。

    {
                            "question": "Please a take a picture of insurance card?",
                            "name": "insurance_card",
                            "type": "Twilio.MEDIA",
                            "validate": {
                                "allowed_types": {
                                    "list": [
                                        "image/jpeg",
                                        "image/gif",
                                        "image/png",
                                        "image/bmp"
                                    ]
                                },
    

    最后,您可能会对这篇关于构建 an image classifier with Autopilot and TensorFlow 的博文感兴趣。

    让我知道这是否有帮助! :D

    【讨论】:

      【解决方案2】:

      关于图像 - 如这个自动驾驶任务程序示例所示,将输入类型指定为图像

      {
      "actions": [
          {
              "collect": {
                  "name": "contact",
                  "questions": [
                      {
                          "question": "Please upload a cool picture of yourself",
                          "name": "contact_image",
                          "type": "Twilio.MEDIA"
                      }
                  ],
                  "on_complete": {
                      "redirect": {
                          "method": "POST",
                          "uri": "https://url.twil.io/image-processing"
                      }
                  }
              }
          }
      ]
      }
      

      然后您可以访问图像,如在以下功能中所做的那样

      exports.handler = function(context, event, callback) {
          //we get the Memory from the answered questions.
          let memory = JSON.parse(event.Memory);
      
          //set up an array of object "actions" for the autopilot to continue.
          let actions = [];
          let responseItem;
      
          //print the url of the image
          let image_url = memory.twilio.collected_data.contact.answers.contact_image.media.url;
          console.log(image_url);
          
          responseItem = {
              "redirect": {
                  "method": "POST",
                  "uri": "task://next_task"
              }
          };
      
          actions.push(responseItem);
      
          let respObj = {
              "actions": actions
          };
          callback(null, respObj);
      };
      

      【讨论】:

        【解决方案3】:

        Autopilot Troublehooting

        无法接收彩信

        Autopilot 目前无法在任何消息传递通道上接收带有 Twilio 支持的图片或其他媒体类型的消息,并且会抛出代码 11200 的错误。

        我没有尝试过 WhatsApp 位置数据,但有一篇关于该功能的博客可能会有所帮助?

        New Rich Features Support Deeper Customer Engagement on WhatsApp

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-05-31
          • 2022-06-28
          • 2020-12-22
          • 2019-12-03
          • 1970-01-01
          • 2019-09-26
          • 2022-12-23
          • 1970-01-01
          相关资源
          最近更新 更多