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.

El 23 de julio de 2024 lanzamos la nueva API de Instagram con el inicio de sesión con Instagram. Las cuentas profesionales de Instagram (ya sean cuentas empresariales o de creador) ya no tendrán que estar vinculadas a una página de Facebook para poder tener conversaciones con clientes, seguidores o usuarios de Instagram que estén interesados en su cuenta empresarial o de Instagram, administrar los comentarios ni publicar contenido multimedia. Obtén más información sobre esta nueva versión en nuestra publicación en el blog.

Consulta API de Instagram con el inicio de sesión con Instagram para obtener más información.

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á que instagram_manage_messages en el identificador de acceso a la página y 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 para empresas 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 al 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, consulta nuestra guía sobre el inicio de sesión empresarial para Instagram y, después, 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 un nivel de acceso “Moderado” en la página de Facebook conectada a la cuenta de Instagram en la que quieres realizar la consulta.

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. Para acceder a esta configuración, ve a:

Configuración de Instagram > Mensajes y respuestas a historias > Controles de mensajes > Herramientas conectadas > activar “Permitir acceso a 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 más la aplicación para poder usar correctamente cualquier otro extremo que necesites y hacer 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 necesitará tu aplicación para que los usuarios puedan concederlos mientras esta se encuentra en producción.

Asistencia para desarrolladores