J'ai installé un bouton « démarrer » sur ma page:Facebook Messenger bouton « Mise en route » ne pas envoyer la charge utile définie par l'utilisateur
curl -X POST -H "Content-Type: application/json" -d '{
"get_started":{
"payload":"GET_STARTED_PAYLOAD"
}
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=token"
Cela fonctionne bien et répond avec {"result":"success"}
Si je vérifie les données:
curl -X GET "https://graph.facebook.com/v2.6/me/messenger_profile?fields=get_started&access_token=token
J'ai une bonne réponse: {"data":[{"get_started":{"payload":"GET_STARTED_PAYLOAD"}}]}
Cependant quand je reçois le webhook postback, j'ai cette charge utile:
{
"object": "page",
"entry": [
{
"id": "id1",
"time": 1501688073860,
"standby": [
{
"recipient": {
"id": "id1"
},
"timestamp": 1501688073860,
"sender": {
"id": "id2"
},
"postback": {
"title": "Get Started"
}
}
]
}
]
}
Il y a maintenant je peux obtenir ainsi la charge utile je définissais (GET_STARTED_PAYLOAD
) dans le webhook.
Sur this page la doc dit
paramètre de charge utile qui a été défini avec le bouton. Ceci est uniquement visible pour l'application qui envoie le message de modèle d'origine.
Ce message est un peu confus. Des idées ? Mettre cette réponse ici au cas où quelqu'un en aurait besoin.
Assurez-vous que vous n'avez pas utilisé de jeton d'accès incorrect pour créer le bouton de démarrage. Il me semble que le dernier webhook que vous recevez est abonné à la page FB qui n'a pas le même jeton d'accès que le jeton d'accès utilisé pour créer le bouton. – dafilipaj
Utilisez-vous le protocole de transfert? Une condition qui provoquerait cela est si l'application n'a pas actuellement de contrôle de thread, ce qui est indiqué par l'événement en cours de réception dans le canal 'standby'. – amuramoto
Oui j'ai ouvert un ticket sur facebook dev et c'était la conclusion. Merci @amuramoto – rmonjo