Hace un año empecé a leer sobre cómo desarrollar un Messenger Bot de Facebook; claro, sin ver nada de inteligencia artificial y esas cosas, algo sencillo.
Pero siempre veía que los bots que anuncian en la documentación de Facebook traían un botón “Empezar” ó “Get Started” y entre tanta documentación que hay, no encontraba cómo poner ese botón en mi propio Messenger Bot.
La petición
Resulta que dicho botón lo tenía que activar mandando una petición a los servidores de Facebook, y en lo personal, la documentación no sentía que me explicara algo en ese momento.
¿No sabes qué es una petición? Acá te lo explico.
Así que, se supone que tienes que mandar una petición al siguiente enlace:
https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>
Y debemos enviarle un parámetro en formato JSON con la propiedad que queremos activar:
curl -X POST -H "Content-Type: application/json" -d '{ "<PROPERTY_NAME>": "<NEW_PROPERTY_VALUE>", "<PROPERTY_NAME>": "<NEW_PROPERTY_VALUE>"}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"
En este caso, la propiedad para el botón “Empezar” es:
{ "get_started": { "payload": "<GET_STARTED_PAYLOAD>" }}
Pero, ¿qué se pone en GET_STARTED_PAYLOAD
? Simple, ahí va un texto cualquiera que servirá de identificador de tu botón en tu aplicación, y te ayudará a ejecutar la acción que tú programes para ella.
Antes de realizar la petición, debes tener tu page_access_token, una cadena de caracteres que sirve para autenticar nuestra petición.
Después de hacer la petición, y si todo sale bien, deberás obtener la siguiente respuesta:
{ "result": "success" }
Pruebas y Resultados del Messenger Bot
Ya sabes cómo se hace la petición para activar el botón “Empezar”, ahora te mostraré cómo lo hice en una página de Facebook recientemente:
La interfaz anterior es del programa Insomnia, un programa para ejecutar peticiones API locales o remotas.
Sin embargo, también puedes ejecutar la siguiente petición desde una terminal (Git Bash, iTerm, etc.) con cURL instalado:
curl --request POST \ --url 'https://graph.facebook.com/v2.6/me/messenger_profile?access_token=TU_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --data '{ "get_started": { "payload": "empezar" } }'
De hecho, ese código cURL lo generé usando Insomnia. Usando ambos, deberías tener el mismo resultado.
Y acá verán el grandioso botón “Empezar”:
Le he configurado un mensaje de bienvenida cuando el usuario aprieta el botón “Empezar”, pero eso ya se los explicaré en otro post.
Si te da error en algo, no dudes en comentar tus dudas, con gusto te ayudaré.
Deja un comentario