Twilio自动驾驶仪-如何从Whatsapp接收图像?

Twilio自动驾驶仪-如何从Whatsapp接收图像?,twilio,webhooks,chatbot,whatsapp,Twilio,Webhooks,Chatbot,Whatsapp,我正在构建一个带有Twilio自动驾驶仪的聊天机器人,我想获取发送给该机器人的图像,我如何获取它?我怎样才能得到位置呢 非常感谢。 无法接收图片消息 Autopilot当前无法在任何消息通道上接收包含Twilio支持的图片或其他媒体类型的消息,并将抛出代码为11200的错误 我还没有试过WhatsApp位置数据,但有一个关于该功能的博客可能会有所帮助 这里是Twilio开发者福音传道者 这不是一个简单的方法,但是有一些潜在的解决办法。一种是有一个webhook端点来获取输入,如果有效负载包含图像

我正在构建一个带有Twilio自动驾驶仪的聊天机器人,我想获取发送给该机器人的图像,我如何获取它?我怎样才能得到位置呢

非常感谢。

无法接收图片消息

Autopilot当前无法在任何消息通道上接收包含Twilio支持的图片或其他媒体类型的消息,并将抛出代码为11200的错误

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


这里是Twilio开发者福音传道者

这不是一个简单的方法,但是有一些潜在的解决办法。一种是有一个webhook端点来获取输入,如果有效负载包含图像的元素,则可以对其执行任何操作,否则如果它只是文本,则可能发送到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';
现在,在“收集”操作中,您还可以指定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"
                                ]
                            },
最后,你可能会对这篇关于建筑的博文感兴趣


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

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

{
"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);
};