En este documento se explica cómo obtener información sobre las conversaciones con mensajes de Instagram y Messenger. Puedes obtener lo siguiente:
En este tutorial, suponemos que has leído la Información general de la plataforma de Messenger y la Información general de los mensajes de Instagram y que has implementado los componentes necesarios.
Necesitarás lo siguiente:
MESSAGING
o MODERATE
en la página.En el caso de las conversaciones de Messenger entre los usuarios y tu página, la aplicación necesitará lo siguiente:
MESSAGING
o MODERATE
en la página.En el caso de las conversaciones con mensajes de Instagram entre los usuarios y tu cuenta profesional de Instagram, la aplicación necesitará lo siguiente:
MESSAGING
en la página vinculada a la cuenta empresarial de Instagram.instagram_basic
, instagram_manage_messages
y pages_manage_metadata
.Puedes utilizar esta API para la sincronización de la bandeja de entrada en conversaciones pasadas si una cuenta empresarial de Instagram se ha conectado recientemente a tu aplicación.
Para obtener una lista de conversaciones, envía una solicitud GET
al extremo /PAGE-ID/conversations
e incluye el parámetro platform
establecido en instagram
o messenger
.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &access_token=PAGE-ACCESS-TOKEN"
Cuando esta operación se completa correctamente, la aplicación recibirá un objeto JSON con una lista de los identificadores de las conversaciones que hayas entablado con un usuario y la hora de envío del mensaje más reciente.
{ "data": { "id": "CONVERSATION-ID-1", "updated_time": "UNIX-TIMESTAMP" }, { "id": "CONVERSATION-ID-2", "updated_time": "UNIX-TIMESTAMP" } ... ] }
Para obtener una conversación entre tu cuenta profesional de Instagram o página de Facebook y un usuario concreto, envía una solicitud GET
al extremo /PAGE-ID/conversations
con el parámetro platform
y los parámetros user_id
establecidos en el identificador específico de Instagram o el identificador específico de la página del usuario.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &user_id=INSTAGRAM-OR-PAGE-SCOPED-ID &access_token=PAGE-ACCESS-TOKEN"
Cuando esta operación se completa correctamente, la aplicación recibirá el identificador de la conversación.
{ "data": [ { "id": "CONVERSATION-ID" }, ] }
Para obtener una lista de los mensajes de una conversación, envía una solicitud GET
al extremo /CONVERSATION-ID
e incluye el campo messages
.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/CONVERSATION-ID ?fields=messages &access_token=PAGE-ACCESS-TOKEN"
Cuando esta operación se completa correctamente, la aplicación recibirá una lista de identificadores de mensajes y la hora de creación de cada mensaje.
{ "messages": { "data": [ { "id": "Message ID-1", "created_time": "UNIX-TIMESTAMP-MOST-RECENT-MESSAGE" }, { "id": "Message ID-2", "created_time": "UNIX-TIMESTAMP" }, { "id": "Message ID-3", "created_time": "UNIX-TIMESTAMP" }, ... ] }, "id": "Conversation ID", }
Para obtener información sobre un mensaje (como el remitente, el destinatario y el contenido del mensaje), envía una solicitud GET
al extremo /MESSAGE-ID
con los campos que te interesen.
Los campos predeterminados son id
y created_time
.
Nota: Las consultas al extremo /CONVERSATION-ID
devolverán los identificadores de todos los mensajes de una conversación. Sin embargo, solo puedes obtener detalles de los 20 mensajes más recientes de la conversación. Si consultas un mensaje anterior a los 20 últimos, verás un error en el que se indica que el mensaje se ha eliminado.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/MESSAGE-ID ?fields=id,created_time,from,to,message &access_token=PAGE-ACCESS-TOKEN"
Cuando esta operación se completa correctamente, la aplicación recibirá la respuesta JSON siguiente. En este ejemplo, un cliente envía un mensaje de texto sin formato a tu cuenta profesional de Instagram.
{ "id": "aWdGGiblWZ...", "created_time": "2022-07-12T19:11:07+0000", "to": { "data": [ { "username": "INSTAGRAM-PROFESSIONAL-ACCOUNT-USERNAME", "id": "INSTAGRAM-PROFESSIONAL-ACCOUNT-ID" } ] }, "from": { "username": "INSTAGRAM-USERNAME", "id": "INSTAGRAM-SCOPED-ID" }, "message": "Hi Kitty!" }
Consulta las siguientes referencias: