REST APIGET

Resumen de la bandeja

Consulta los comentarios, menciones, mensajes y reseñas sin leer de tus cuentas, qué canales de la bandeja puede usar cada cuenta, y pide una lectura nueva.

La bandeja reúne cuatro canales de las cuentas conectadas: comentarios en tus publicaciones, menciones de tus cuentas en publicaciones de otras personas, mensajes directos y reseñas de Google Business Profile. TikTok y X no tienen bandeja.

GEThttps://post.adaptlypost.com/post/api/v1/inbox/summary

Devuelve el número de no leídos de cada canal y, por cada cuenta conectada, qué canales puede usar y cuándo se leyó por última vez.

Clave API (token Bearer)
Permiso:inbox.readRoles y permisos

Todos los roles tienen inbox.read, así que cualquier clave válida puede leer la bandeja.

Unos 10 minutos, no en tiempo real

AdaptlyPost lee cada cuenta conectada cada 10 minutos y guarda lo que encuentra. Las listas responden desde esa copia, así que un comentario, mención, mensaje o reseña nuevo aparece en unos 10 minutos. POST /api/v1/inbox/refresh pide una lectura ahora. Los eventos de webhook salen de las mismas lecturas.

Canales que necesitan una reconexión

Todos los canales están abiertos a la API. Cuando a una conexión le falta el permiso de la plataforma para un canal o una acción, incluidos los permisos que la plataforma aún está revisando para AdaptlyPost, GET /api/v1/inbox/summary muestra el canal como RECONNECT_REQUIRED y toda escritura en él responde 403 inbox_reconnect_required. Un token caducado responde lo mismo. Pide al usuario que reconecte la cuenta en AdaptlyPost; reintentar no sirve.

Plataformas compatibles

Qué canales tiene cada plataforma. Una cuenta solo recibe un canal para el que su conexión tiene permiso; el resumen te lo dice por cuenta.

PlataformaComentariosMencionesMensajesReseñas
FACEBOOKSíSíSíNo
INSTAGRAMSíSolo lectura, para cuentas conectadas a través de FacebookSíNo
THREADSSíSíNoNo
YOUTUBESíNoNoNo
LINKEDINSolo páginas de organizaciónNoNoNo
BLUESKYSíSíSíNo
MASTODONSíSíSíNo
GOOGLE_BUSINESSNoNoNoSí

Campos del resumen

CampoDescripción
unreadElementos UNREAD por canal: comments, mentions, conversations y reviews
accounts[].accountIdEl id de la cuenta de GET /social-accounts, con su platform, accountName y avatarUrl
accounts[].needsReconnectTrue cuando hay que reconectar la cuenta antes de poder leer sus comentarios
accounts[].lastSyncedAtCuándo leyó AdaptlyPost la cuenta por última vez, o null antes de la primera lectura
accounts[].lastErrorCodePor qué falló la última lectura, o null
accounts[].commentsAVAILABLE, RECONNECT_REQUIRED o UNSUPPORTED para ese canal. Mira abajo
accounts[].mentionsAVAILABLE, RECONNECT_REQUIRED o UNSUPPORTED para ese canal. Mira abajo
accounts[].messagesAVAILABLE, RECONNECT_REQUIRED o UNSUPPORTED para ese canal. Mira abajo
accounts[].reviewsAVAILABLE, RECONNECT_REQUIRED o UNSUPPORTED para ese canal. Mira abajo

Acceso a los canales

ValorDescripción
AVAILABLELa cuenta puede usar este canal
RECONNECT_REQUIREDLa plataforma tiene el canal, pero a esta conexión le falta el permiso, o su token caducó. Las escrituras responden 403 inbox_reconnect_required hasta que el usuario reconecte la cuenta en AdaptlyPost
UNSUPPORTEDLa plataforma no tiene ese canal

Leer las cuentas ahora

POSThttps://post.adaptlypost.com/post/api/v1/inbox/refresh

Pone en cola una lectura de todas las cuentas conectadas en lugar de esperar a la siguiente ronda de 10 minutos, y responde 202 { "queued": true }. Las listas cambian cuando termina la lectura.

Clave API (token Bearer)
Permiso:inbox.readRoles y permisos

Rechazos

Una llamada rechazada responde { statusCode, error, code, message }. Decide según code. message explica el rechazo con palabras.

CódigoEstadoCuándo, y qué hacer
inbox_item_not_found404El id no existe o pertenece a otro espacio de trabajo. Detente
inbox_action_unsupported400La plataforma, o este elemento, no permite ocultar, eliminar o dar me gusta. capabilities dice qué se aplica. Detente
inbox_reconnect_required403A la conexión le falta el permiso para este canal o acción, incluido uno aún en revisión de la plataforma, o su token caducó. Pide al usuario que reconecte la cuenta en AdaptlyPost. No reintentes
inbox_reply_invalid400El texto está vacío o supera el límite. El mensaje indica el límite. Corrige el texto
inbox_messaging_window_closed400Facebook o Instagram: pasó la ventana de respuesta de 24 horas. Detente
inbox_rate_limited429La plataforma limitó la frecuencia de AdaptlyPost. Reintenta pasado un rato
inbox_platform_error503La plataforma falló. Reintenta más tarde
permission_denied403Al rol de la clave le falta inbox.read o inbox.reply. No reintentes
subscription_required403Una escritura sin un plan de AdaptlyPost activo. No reintentes
Leer el resumen de la bandeja
curl --request GET \
  --url https://post.adaptlypost.com/post/api/v1/inbox/summary \
  --header 'Authorization: Bearer <api-key>'
Pedir una lectura ahora
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/refresh \
  --header 'Authorization: Bearer <api-key>'

202
{ "queued": true }
200
{
  "unread": {
    "comments": 12,
    "mentions": 3,
    "conversations": 2,
    "reviews": 1
  },
  "accounts": [
    {
      "accountId": "conn_ig_001",
      "platform": "INSTAGRAM",
      "accountName": "adaptlypost",
      "avatarUrl": "https://cdn.adaptlypost.com/avatars/ig_001.jpg",
      "needsReconnect": false,
      "lastSyncedAt": "2026-11-08T09:40:12.000Z",
      "lastErrorCode": null,
      "comments": "AVAILABLE",
      "mentions": "AVAILABLE",
      "messages": "RECONNECT_REQUIRED",
      "reviews": "UNSUPPORTED"
    },
    {
      "accountId": "conn_gbp_001",
      "platform": "GOOGLE_BUSINESS",
      "accountName": "AdaptlyPost Kraków",
      "avatarUrl": null,
      "needsReconnect": false,
      "lastSyncedAt": "2026-11-08T09:38:55.000Z",
      "lastErrorCode": null,
      "comments": "UNSUPPORTED",
      "mentions": "UNSUPPORTED",
      "messages": "UNSUPPORTED",
      "reviews": "AVAILABLE"
    }
  ]
}