Primeros pasos

En este documento se explica cómo llamar correctamente a la compatibilidad de la Messenger API for Instagram (también denominada API de mensajes de Instagram en las políticas para desarrolladores) con tu aplicación y obtener los mensajes de una cuenta profesional de Instagram. Se presupone que conoces la API Graph y el inicio de sesión con Facebook.

Antes de empezar

Necesitarás acceso a:

  • una cuenta profesional de Instagram;
  • una página de Facebook conectada a esa cuenta;
  • una cuenta de desarrollador de Meta que pueda realizar la tarea MODERATE en esa página;
  • una aplicación de Meta creada con el caso de uso de inicio de sesión con Facebook y con la configuración básica establecida.

Desarrolladores nuevos en la plataforma de Messenger

  • Sigue la guía paso a paso que se incluye a continuación sobre cómo generar el identificador de acceso a la página y configurar webhooks.
  • Obtén información sobre las distintas funciones de la plataforma y adopta aquellas que se ajusten a tus necesidades.

Desarrolladores con experiencia previa en la plataforma de Messenger

  • Los conceptos de identificador de acceso y webhooks son similares. La compatibilidad de la API de Messenger con Instagram necesitará el permiso instagram_manage_messages en el identificador de acceso a la página y que los webhooks de tema de Instagram estén suscritos.
  • La mayoría de las funciones son similares a las de la API de Messenger. Revisa los detalles de la lista de funciones y adopta las que se ajusten a tus necesidades.

Proceso de inicio de sesión

Puedes usar el inicio de sesión con Facebook o el inicio de sesión empresarial para Instagram a fin de solicitar los permisos necesarios a los usuarios de tu aplicación.

El proceso de inicio de sesión empresarial para Instagram permite a un usuario completar las siguientes acciones durante dicho proceso:

  • Convertir su cuenta de Instagram en una cuenta profesional de Instagram.
  • Crear una página de Facebook para su empresa.
  • Conectar dicha página a su cuenta profesional de Instagram.

Si quieres implementar el inicio de sesión empresarial para Instagram, visita nuestra guía sobre el inicio de sesión empresarial para Instagram y, a continuación, vuelve a esta guía.

1. Obtener un identificador de acceso de usuario

Asegúrate de tener la sesión iniciada en tu cuenta de desarrollador de Facebook. A continuación, accede a la aplicación y activa el cuadro de diálogo del inicio de sesión con Facebook. Recuerda que tu cuenta de desarrollador de Facebook debe poder realizar tareas con, al menos, el acceso de nivel “Moderate” en la página de Facebook conectada a la cuenta de Instagram que quieres consultar.

Después de activar el cuadro de diálogo, haz clic en Aceptar para conceder a tu aplicación los permisos instagram_basic, instagram_manage_messages y pages_manage_metadata.

La API debe devolver un identificador de acceso de usuario. Captura el identificador para que la aplicación lo pueda usar en las próximas consultas. Si utilizas el explorador de la API Graph, se capturará automáticamente y se mostrará en el campo Identificador de acceso como referencia:

2. Obtener las páginas del usuario

Consulta el extremo GET /me/accounts (se traduce en GET /{user-id}/accounts, que realiza una solicitud GET en el nodo de usuario de Facebook, en función del identificador de acceso).

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

Debería devolver una colección de páginas de Facebook en las que el usuario de Facebook actual 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 que está conectada a la cuenta de Instagram que quieres consultar. Ten en cuenta la posibilidad de que los usuarios de tu aplicación puedan realizar tareas en varias páginas, lo que te obligará a introducir lógica que pueda determinar el identificador de la página correcto que se debe capturar (o a crear una interfaz de usuario donde los usuarios de tu aplicación puedan identificar la página correcta por ti).

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

Para poder realizar varias llamadas a la API de mensajes de Instagram, deberás utilizar el identificador de acceso a la página (PAT) asociado de la cuenta profesional de Instagram pertinente que se ha concedido previamente mediante el proceso de inicio de sesión con Facebook.

Envía una solicitud GET al extremo /{page-id} mediante tu identificador de acceso de usuario. Por ejemplo:

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

Cuando esta operación se completa correctamente, la aplicación recibe esta respuesta:

{
  "access_token":"{page-access-token}",
  "id":"{page-id}"              
}  
  • Si has utilizado un identificador de acceso de usuario de corta duración, el identificador de acceso a la página solo es válido durante una hora.
  • Si has utilizado un identificador de acceso de usuario de larga duración, el identificador de acceso a la página no tiene fecha de caducidad.

Para generar un identificador de acceso a la página de larga duración, puedes seguir la guía que encontrarás aquí.

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

Esta herramienta se está implementando actualmente para todos los desarrolladores. El proceso se completará durante las próximas semanas. Si no ves la configuración en el panel de aplicaciones, puedes utilizar los pasos 1 a 5 anteriores para generar identificadores de acceso a la página.

De manera opcional, si eres propietario de los activos (cuenta de Instagram y página de Facebook) que quieres incorporar a la compatibilidad de la API de Messenger con Instagram, puedes utilizar la herramienta de configuración de Instagram en el panel de aplicaciones para desarrolladores a fin de poder configurar fácilmente los identificadores de acceso a la página y los webhooks. Puedes encontrar la herramienta en el panel de aplicaciones para desarrolladores → Messenger → Configuración de Instagram. La manera actual de configurar identificadores y webhooks seguirá funcionando, pero esta herramienta proporcionará un procedimiento más simple para configurar el entorno.

4. Activar la configuración de herramientas conectadas del control de mensajes

Para poder administrar mensajes de Instagram mediante la API, las cuentas profesionales de Instagram deberán activar el botón de herramientas conectadas en la configuración de control de mensajes.

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

Utiliza el identificador de la página que has capturado y el identificador de acceso a la página (PAT) para consultar el extremo GET /{page-id}/conversations?platform=instagram:

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

Esta acción debería devolver los identificadores de todos los objetos de la conversación sobre el usuario de Instagram:

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

Si puedes realizar esta consulta final correctamente, deberías poder realizar consultas con cualquiera de los extremos de la compatibilidad de la API de Messenger con Instagram. Solo tienes que consultar nuestras distintas guías y referencias para aprender qué puede hacer cada extremo y el permiso necesario.

Siguientes pasos

  • Desarrolla aún más la aplicación para que pueda utilizar correctamente otros extremos que necesite y realizar un seguimiento de los permisos que requiere cada extremo.
  • Completa la configuración de webhooks para que pueda recibir notificaciones en tiempo real siempre que el usuario envíe un mensaje a la cuenta profesional de Instagram.
  • Completa el proceso de revisión de la aplicación y solicita la aprobación de todos los permisos que necesita tu aplicación para que los usuarios puedan concederlos mientras esta se encuentra en producción.

Ayuda para desarrolladores