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.
Necesitarás acceso a lo siguiente:
MODERATE
en la 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 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:
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.
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:
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).
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}" }
Para generar un token de acceso a la página de larga duración, puedes seguir la correspondiente guía aquí.
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.
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.
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.