Primeros pasos

En este documento, se explica cómo realizar correctamente una llamada a la compatibilidad de la API de Messenger con Instagram (esto también se conoce en nuestras Políticas para desarrolladores como "API de mensajes de Instagram") con tu app y cómo obtener los mensajes de una cuenta profesional de Instagram. Se supone que estás familiarizado con la API Graph y con el inicio de sesión con Facebook.

Antes de empezar

Necesitarás acceso a lo siguiente:

  • Una cuenta profesional de Instagram.
  • Una página de Facebook conectada a esa cuenta.
  • Una cuenta de desarrollador de Meta con la que se pueda realizar la tarea MODERATE en la página.
  • Una app de Meta creada con el caso de uso del inicio de sesión con Facebook y con la configuración básica configurada.

Desarrolladores nuevos en la plataforma de Messenger

  • Sigue la guía paso a paso que figura a continuación sobre cómo generar un token de acceso a la página y cómo configurar webhooks.
  • Obtén información sobre las variadas funciones de la plataforma e incorpora las que se adapten a tus necesidades.

Desarrolladores con experiencia previa en la plataforma de Messenger

  • Los conceptos de token de acceso y webhooks son similares. La compatibilidad de la API de Messenger con Instagram requiere que esté suscrito instagram_manage_messages en el token de acceso a la página y en los webhooks de temas de Instagram.
  • La mayoría de las funciones son similares a las de la API de Messenger. Revisa la información de la lista de funciones e incorpora las que se adapten a tus necesidades.

Proceso de inicio de sesión

Puedes usar el inicio de sesión con Facebook o el inicio de sesión comercial para Instagram para pedir a los usuarios de tu app los permisos que se necesitan.

El proceso Inicio de sesión comercial para Instagram permite a una persona completar lo siguiente durante el proceso de inicio de sesión:

  • convertir su cuenta de Instagram en una cuenta profesional de Instagram;
  • crear una página de Facebook para su empresa; y
  • conectar esa página a su cuenta profesional de Instagram.

Para implementar el inicio de sesión comercial para Instagram, visita Inicio de sesión comercial para la guía de Instagram y, luego, regresa a esta guía.

1. Obtener un token de acceso de usuario

Asegúrate de haber iniciado sesión en tu cuenta de desarrollador de Facebook. Luego, accede a tu app y activa el cuadro de diálogo de inicio de sesión con Facebook. Recuerda: tu cuenta de desarrollador de Facebook debe poder realizar tareas en la página de Facebook con un nivel de acceso "moderado", como mínimo, y estar conectada a la cuenta de Instagram en la que quieres hacer la consulta.

Una vez que hayas activado el cuadro de diálogo, haz clic en "Aceptar" para otorgar a tu app los permisos instagram_basic, instagram_manage_messages y pages_manage_metadata.

La API debería devolver un token de acceso de usuario. Captura el token para que tu app pueda usarlo en las siguientes consultas. Si estás usando el explorador de la API Graph, el token se captura automáticamente y se muestra en el campo "Token de acceso" para referencia:

2. Acceder a las páginas del usuario

Haz una consulta al punto de conexión GET /me/accounts (se convierte en GET /{user-id}/accounts, que aplica GET en el nodo User de Facebook según tu token de acceso).

curl -i -X GET \
 "https://graph.facebook.com/v9.0/me/accounts?access_token={access-token}"

Esto debería devolver una colección de páginas de Facebook en las que el usuario de Facebook pueda realizar las tareas MANAGE, CREATE_CONTENT, MODERATE o ADVERTISE:

{
  "data": [
    {
      "access_token": "EAAJjmJ...",
      "category": "App Page",
      "category_list": [
        {
          "id": "2301",
          "name": "App Page"
        }
      ],
      "name": "Metricsaurus",
      "id": "134895793791914",  // capture the Page ID
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ]
}

Captura el identificador de la página de Facebook conectada a la cuenta de Instagram a la que deseas realizar la consulta. Ten en cuenta que los usuarios de tu app tienen que poder realizar tareas en varias páginas, por lo que en un momento dado deberás introducir lógica que pueda determinar el identificador de página correcto que se capturará (o diseñar una UI en la que los usuarios de tu app puedan identificar la página correcta).

3. Obtener el token de acceso a la página

Para realizar varias llamadas a la API de mensajes de Instagram, es necesario que uses el token de acceso a la página asociado (PAT) de la cuenta profesional de Instagram correspondiente, a la que se le otorgó previamente proceso de inicio de sesión a través de FB.

Envía una solicitud GET al punto de conexión /{page-id} con un token de acceso de usuario. Por ejemplo:

curl -i -X GET "https://graph.facebook.com/{page-id}?
  fields=access_token&
  access_token={user-access-token}"  

Si la operación se completa correctamente, la app recibe esta respuesta:

{
  "access_token":"{page-access-token}",
  "id":"{page-id}"              
}  
  • Si usaste un token de acceso de usuario de corta duración, el token de acceso a la página solo es válido por el término de una hora.
  • En cambio, si usas un token de acceso de usuario de larga duración, el token de acceso a la página no caduca.

Para generar un token de acceso a la página de larga duración, puedes seguir la correspondiente guía aquí.

3a. Obtener el token de acceso a la página mediante la herramienta del panel para desarrolladores de Instagram

Esta herramienta se implementará para todos los desarrolladores durante las próximas semanas. Si no ves la configuración en el panel de apps, puedes seguir los pasos 1 a 5 que se indicaron más arriba para generar los tokens de acceso a la página.

De manera opcional, si cuentas con los recursos (cuenta de Instagram y página de FB) que deseas registrar para la compatibilidad de la API de Messenger con Instagram, podrás aprovechar la herramienta de configuración de Instagram ubicada en el panel de apps para desarrolladores, que te permitirá configurar fácilmente los tokens de acceso a la app y los webhooks. Puedes encontrar esta herramienta en Panel de apps para desarrolladores → Messenger → Configuración de Instagram. Las formas de configurar los tokens y webhooks que ya existen seguirán funcionando, pero esta herramienta te facilita la configuración de tu entorno.

4. Activar el control de mensajes conectado a la configuración de las herramientas

Para gestionar los mensajes de Instagram a través de la API, es necesario activar las herramientas conectadas de las cuentas profesionales de Instagram en la configuración del control de mensajes.

5. Obtener los objetos de la bandeja de entrada de la cuenta profesional de Instagram

Usa el identificador de página que capturaste y el token de acceso a la página (PAT) para buscar el punto de conexión GET /{page-id}/conversations?platform=instagram:

curl -i -X GET \
 "https://graph.facebook.com/v9.0/17841405822304914/conversations?platform=instagram&access_token={access-token}"  

Se deberían devolver los identificadores de todos los objetos de las conversaciones del usuario de Instagram:

{
  "data": [
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTM2MDk5MDc1MzYyOTgx"
    },
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTYzMzQ2MzE5NjM1NDcy"
    },
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTk3MTY0NjI2NzAyMjMw"
    },
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MzkzNDI5MDYzMzkyNjU0"
    }
}

Si puedes realizar esta última consulta correctamente, deberías poder realizar consultas usando cualquiera de los puntos de conexión de la compatibilidad de la API de Messenger con Instagram; consulta nuestras diferentes guías y referencias para saber lo que cada uno de los puntos de conexión puede hacer y los permisos que necesitan.

Próximos pasos

  • Sigue desarrollando tu app para que pueda usar correctamente alguno de los puntos de conexión que necesita, y haz el seguimiento de los permisos que requiere cada uno de los puntos de conexión.
  • Completa la configuración del webhook para que pueda recibir notificaciones en tiempo real cuando los usuarios envíen un mensaje a la cuenta profesional de Instagram.
  • Completa el proceso de revisión de apps y solicita aprobación para todos los permisos que tu app necesitará, a fin de que los usuarios de esta puedan otorgarlos mientras se encuentre en producción.

Ayuda para desarrolladores