Original Coast Clothing (OC) es una marca de indumentaria ficticia creada para exhibir las funciones clave de la plataforma de Instagram y brindar una experiencia de clientes asombrosa. Al utilizar esta demostración como fuente de inspiración, cualquier persona puede crear una experiencia atractiva de compatibilidad de la API de Messenger con Instagram, que ofrece automatización y servicio de atención al cliente en vivo. Se proporcionan código abierto para la app y una guía de cómo implementar la experiencia en tu entorno local o en tu servidor remoto. También hay un ejemplo de experiencia en Messenger complementario. Pruébalo enviando un mensaje a @originalcoastclothing o comentando una publicación. |
Esta experiencia utiliza las siguientes funciones de la plataforma. Si decides implementar la experiencia en tu página, el código las usará todas:
Al final de esta guía, tendrás una app de Instagram completa ejecutándose en tu servidor y respondiendo mensajes desde tu cuenta.
El código que se utiliza para esta experiencia es abierto. Cualquier persona puede comenzar a desarrollar con facilidad a fin de obtener una gran experiencia de mensajes.
El código se lanzó con licencia BSD, lo que te permite utilizarlo libremente según tus necesidades. En caso de que necesites consultar más referencias, el código se encuentra alojado en GitHub.
El objetivo de esta sección es recopilar todos los identificadores y tokens de acceso necesarios para que la app de Instagram envíe y reciba mensajes de manera satisfactoria. Antes de empezar, asegúrate de cumplir todos los requisitos enumerados anteriormente. En este momento, deberías tener una página, una app de Facebook registrada y una cuenta profesional de Instagram.
Si acabas de crear una nueva app de Facebook, probablemente se encuentre en modo de desarrollo. Ten en cuenta que las apps que están en este modo solo tienen permitido enviar mensajes a las personas conectadas a la app (administradores, desarrolladores y evaluadores). Puedes continuar con esta guía en este modo, pero una vez que la app esté lista para ser publicada, esta deberá someterse al proceso de revisión de apps a fin de recibir el permiso instagram_manage_messages
. Para obtener más información, consulta la revisión de apps
En este momento, debes contar con los siguientes elementos:
La experiencia se puede implementar de manera automática en Heroku o Glitch con los siguientes botones. Se te solicitará ingresar las variables del entorno necesarias para completar la configuración.
Implementa en HerokuImplementa en GlitchUn servicio de tunelización que expone tu servidor web local a una URL local a la que pueden llegar los webhooks de Facebook. Existen muchos de estos servicios. En este ejemplo, usaremos ngrok.
Clona el repositorio en tu equipo local:
git clone https://github.com/fbsamples/original-coast-clothing-ig.git cd original-coast-clothing-ig
Si no lo hiciste aún, instala ngrok descargándolo o mediante la línea de comandos:
$ npm install -g ngrok
En el directorio de este repositorio, solicita un túnel al servidor local con tu puerto preferido.
$ ngrok http 3000
En la pantalla, debería aparecer el estado de ngrok:
Session Status online
Account Redacted (Plan:iuluufkccebegkhifrlgfhudrtbthgln Free)
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://1c3b838deacb.ngrok.io -> http://localhost:3000
Forwarding https://1c3b838deacb.ngrok.io -> http://localhost:3000
Observa la URL HTTPS del servidor externo que se envía a tu equipo local. En el ejemplo anterior, es https://1c3b838deacb.ngrok.io
.
Abre una nueva pestaña de la terminal también en el directorio del repositorio.
$ npm install
De forma alternativa, puedes usar Yarn:
$ yarn install
Copia el archivo .sample.env
en .env
$ cp .sample.env .env
Edita el archivo .env
para agregar todos los valores a la app y la página.
$ node app.js
En tu navegador, deberías poder acceder a la página predeterminada de la app en http://localhost:3000.
Confirma que también puedes acceder a la app desde la URL externa que se mencionó en el punto 2.
Clona el repositorio en tu equipo local:
git clone https://github.com/fbsamples/original-coast-clothing-ig.git cd original-coast-clothing-ig
Si el directorio no es ya un repositorio git, crea uno:
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m "My first commit"
Si aún no está instalada, descarga e instala la CLI de Heroku.
$ heroku apps:create
Creating app... done, ⬢ mystic-wind-83
Created http://mystic-wind-83.herokuapp.com/ | git@heroku.com:mystic-wind-83.git
Ten en cuenta el nombre que se le asignó a tu app. En este ejemplo, el nombre es mystic-wind-83
.
En el panel de apps de Heroku, encuentra tu app y establece las variables de la configuración según los comentarios del archivo .sample.env
.
De forma alternativa, puedes configurar las variables .env desde la línea de comandos de la siguiente manera:
$ heroku config:set PAGE_ID=XXXX
$ git push heroku master
$ heroku logs --tail
Ahora que tu servidor está en funcionamiento, el punto de conexión del webhook es la ruta /webhook
. En el ejemplo de Heroku que se mostró anteriormente, sería http://mystic-wind-83.herokuapp.com/webhook
.
Configura el webhook siguiendo la [Guía de webhooks de la plataforma de Messenger](https://developers.facebook.com/docs/messenger-platform/webhooks
Una vez validada la suscripción al webhook, suscríbete a los siguientes eventos:
Prueba los webhooks. Para ello, haz clic en los botones "Probar", que se ubican al lado de los eventos suscritos. Deberías ver los eventos de prueba en la salida de registro de tu servidor.
Si iniciaste sesión en una cuenta con el rol de "Evaluador de Instagram", intenta enviar un mensaje a la cuenta de Instagram que está conectada a tu página, o bien deja un comentario en una publicación.
Si ves una respuesta a tu mensaje en Instagram, ¡terminaste de completar la configuración de la app! ¡Listo!
Es posible que la app de Facebook continúe en modo de desarrollo. Puedes agregar a personas como evaluadores de la app. Si aceptan la solicitud, la app podrá enviarles mensajes. Una vez que estés listo, podrás solicitar el permiso instagram_manage_messages
para responder a cualquier persona.
¿La guía tiene errores? Presenta un informe de error para avisarnos