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.
Necesitarás acceso a:
MODERATE
en esa página; Desarrolladores nuevos en la plataforma de Messenger
Desarrolladores con experiencia previa en la plataforma de Messenger
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:
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.
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:
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).
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}" }
Para generar un identificador de acceso a la página de larga duración, puedes seguir la guía que encontrarás aquí.
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.
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.
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.