Search code examples
jsonfacebook-messengerdialogflow-es

Dialogflow V2 Facebook Messenger Generic Template Example Payload


I was working with Dialogflow V1 and decided to change to the V2 beta. The API has changed and I cannot recover my previous facebook templates I was sending to Messenger. With V1 I used:

{
    'speech': speech,
    "data": {
        "facebook": {
            "attachment": {
                "type": "template",
                "payload": {
                    "template_type": "button",
                    "text": "What do you want to do next?",
                    "buttons": [{
                        "type": "web_url",
                        "url": "https://www.messenger.com",
                        "title": "Visit Messenger"
                    }]
                }
            }
        }        
    }
}

My problem is that I do not know where the data entry should go in V2. Could somebody provide me with a working example or a link in the Dialogflow Docs where the data field is explained?


Solution

  • OK. After some hours of trial an error I got it working. You have to pass the custom facebook payload within the webhook_response object as fullfilment_message array as payload object like so:

    {'fulfillmentMessages': [{
        'payload': {
            "facebook": {
                "attachment": {
                    "type": "template",
                    "payload": {
                        "template_type": "button",
                        "text": "What do you want to do next?",
                        "buttons": [{
                            "type": "web_url",
                            "url": "https://www.messenger.com",
                            "title": "Visit Messenger"
                        }]
                    }
                }
            }
        }
    }]