REST APIGET

Comentarios de la bandeja

Lista los comentarios en tus publicaciones de Facebook, Instagram, Threads, YouTube, LinkedIn, Bluesky y Mastodon, y respóndelos, ocúltalos, dales me gusta, elimínalos o márcalos como hechos.

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

Devuelve los comentarios en las publicaciones de tus cuentas, los más recientes primero. Responde { comments, total, hasMore, nextCursor }.

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.

Parámetros de consulta

ParámetroTipoDescripción
accountIdsstring[]Solo estas cuentas, por el id de GET /social-accounts. Repite la clave o separa los valores con comas. Hasta 50
platformsPlatformType[]Solo estas plataformas. Repite la clave o separa los valores con comas
statusesInboxStatus[]Solo elementos en estos estados: UNREAD, READ o DONE. Repite la clave o separa los valores con comas
sincestring (ISO 8601)Solo elementos creados en la plataforma en esta fecha y hora o después
searchstringTexto que buscar
postIdstringSolo comentarios en esta publicación de AdaptlyPost, por su id de /social-posts
platformPostIdstringSolo comentarios en esta publicación, por el id propio de la plataforma
limitnumberElementos por página, de 1 a 100. Por defecto 25
cursorstringEl nextCursor de la página anterior. nextCursor es null en la última página

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.

Campos del comentario

CampoDescripción
idId del comentario. Úsalo con los endpoints de abajo
accountIdLa cuenta a la que pertenece el elemento: su id de GET /social-accounts
platformLa plataforma, como PlatformType
accountNameNombre visible de esa cuenta
postIdEl id de la publicación en AdaptlyPost, o null cuando la publicación no se publicó con AdaptlyPost
platformPostIdEl id en la plataforma de la publicación donde está el comentario
postTextTexto de esa publicación
postPermalinkEnlace a esa publicación
platformCommentIdEl id del comentario en la plataforma
parentPlatformCommentIdEl id en la plataforma del comentario al que responde este, o null en un comentario de primer nivel
isReplyTrue cuando el comentario responde a otro comentario
authorQuién lo escribió: id (el id de usuario de la plataforma), name, username y avatarUrl. id, username y avatarUrl pueden ser null
textEl texto del comentario
permalinkEnlace público en la plataforma, o null cuando la plataforma no da ninguno
likeCountMe gusta del comentario, o null cuando la plataforma no los informa
createdAtCuándo se creó en la plataforma
statusUNREAD, READ o DONE. Solo AdaptlyPost guarda este estado; la plataforma no lo ve
isHiddenTrue cuando el comentario está oculto en la plataforma
isOwnTrue cuando lo escribió tu cuenta
repliedTrue cuando tu cuenta tiene una respuesta debajo, enviada desde AdaptlyPost o desde la app de la plataforma
repliedAtCuándo respondió tu cuenta por última vez, o null
likedByAccountTrue cuando tu cuenta le dio me gusta
capabilitiescanReply, canHide, canDelete y canLike: lo que permite este comentario. Compruébalos antes de llamar a una acción

Leer un hilo

GEThttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id

Devuelve { comment, parent, replies }: el comentario, el comentario al que responde (null en uno de primer nivel) y las respuestas debajo. Un id desconocido responde 404 inbox_item_not_found.

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

Responder a un comentario

POSThttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id/reply

Publica una respuesta desde la cuenta debajo del comentario y responde 201 con la nueva respuesta como comentario.

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

Las escrituras necesitan inbox.reply (Administrador y Editor) y un plan de AdaptlyPost activo. Sin el plan responden 403 subscription_required.

Parámetros del cuerpo

ParámetroTipoDescripción
textOBLIGATORIOstringLa respuesta. Sigue el límite de comentarios de la plataforma: LinkedIn 1250, Threads 500, Bluesky 300, Mastodon 500, YouTube 10000, Facebook 8000 e Instagram 2200 caracteres

Ocultar, dar me gusta y eliminar

Cada acción responde 400 inbox_action_unsupported cuando la plataforma o el comentario no la permite. capabilities en el comentario te lo dice de antemano.

POSThttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id/hide

Oculta el comentario en la plataforma y responde 200 con el comentario.

Clave API (token Bearer)
Permiso:inbox.replyRoles y permisos
POSThttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id/unhide

Vuelve a mostrar un comentario oculto y responde 200 con el comentario.

Clave API (token Bearer)
Permiso:inbox.replyRoles y permisos
POSThttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id/like

Da me gusta al comentario desde la cuenta y responde 200 con el comentario.

Clave API (token Bearer)
Permiso:inbox.replyRoles y permisos
DELETEhttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id/like

Quita el me gusta de la cuenta y responde 200 con el comentario.

Clave API (token Bearer)
Permiso:inbox.replyRoles y permisos
DELETEhttps://post.adaptlypost.com/post/api/v1/inbox/comments/:id

Elimina el comentario en la plataforma y en la bandeja de AdaptlyPost, y responde 200 { "deleted": true }.

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

Eliminar y dar me gusta por plataforma

Lo que cada plataforma deja eliminar y marcar con me gusta a la cuenta. En Threads, eliminar necesita el permiso threads_delete, así que una conexión de Threads antigua responde 403 inbox_reconnect_required hasta que se reconecte.

PlataformaEliminarMe gusta y quitarlo
FACEBOOKCualquier comentario en las publicaciones de la páginaSí
INSTAGRAMCualquier comentario en las publicaciones de la cuentaNo
YOUTUBESolo los comentarios propios del canalNo
THREADSSolo las respuestas propias de la cuentaNo
BLUESKYSolo las respuestas propias de la cuentaSí
MASTODONSolo las respuestas propias de la cuentaSí, como favorito
LINKEDINCualquier comentario en las publicaciones de la organizaciónSí

Marcar como leído o hecho

POSThttps://post.adaptlypost.com/post/api/v1/inbox/comments/status

Fija el estado de hasta 100 comentarios y responde { comments, unreadCount }.

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

Parámetros del cuerpo

ParámetroTipoDescripción
idsOBLIGATORIOstring[]De 1 a 100 ids de la lista
statusOBLIGATORIOInboxStatusUNREAD, READ o DONE

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
Listar comentarios no leídos
curl --request GET \
  --url 'https://post.adaptlypost.com/post/api/v1/inbox/comments?statuses=UNREAD&platforms=INSTAGRAM,FACEBOOK&limit=25' \
  --header 'Authorization: Bearer <api-key>'
Leer un hilo de comentarios
curl --request GET \
  --url https://post.adaptlypost.com/post/api/v1/inbox/comments/cmt_8f2a1c40 \
  --header 'Authorization: Bearer <api-key>'

200
{
  "comment": { "id": "cmt_8f2a1c40", "isReply": false, "...": "..." },
  "parent": null,
  "replies": [
    { "id": "cmt_9b31d7e2", "isReply": true, "isOwn": true, "...": "..." }
  ]
}
Responder a un comentario
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/comments/cmt_8f2a1c40/reply \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{ "text": "Thanks Ana, the new plan starts on Monday." }'
Ocultar, dar me gusta o eliminar un comentario
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/comments/cmt_8f2a1c40/hide \
  --header 'Authorization: Bearer <api-key>'

curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/comments/cmt_8f2a1c40/like \
  --header 'Authorization: Bearer <api-key>'

curl --request DELETE \
  --url https://post.adaptlypost.com/post/api/v1/inbox/comments/cmt_8f2a1c40 \
  --header 'Authorization: Bearer <api-key>'
Marcar comentarios como hechos
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/comments/status \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{ "ids": ["cmt_8f2a1c40", "cmt_7c02e9a1"], "status": "DONE" }'
200
{
  "comments": [
    {
      "id": "cmt_8f2a1c40",
      "accountId": "conn_ig_001",
      "platform": "INSTAGRAM",
      "accountName": "adaptlypost",
      "postId": "cmm0z0k3q0000i0r5mxn0hfhs",
      "platformPostId": "18034417852490123",
      "postText": "Plan a week of posts in one sitting",
      "postPermalink": "https://www.instagram.com/p/C9x2Lm0tQ1a/",
      "platformCommentId": "17890455123456789",
      "parentPlatformCommentId": null,
      "isReply": false,
      "author": {
        "id": "17841400000000001",
        "name": "Ana Souza",
        "username": "ana.souza",
        "avatarUrl": null
      },
      "text": "Does this work with Reels too?",
      "permalink": null,
      "likeCount": 2,
      "createdAt": "2026-11-08T09:12:44.000Z",
      "status": "UNREAD",
      "isHidden": false,
      "isOwn": false,
      "replied": false,
      "repliedAt": null,
      "likedByAccount": false,
      "capabilities": {
        "canReply": true,
        "canHide": true,
        "canDelete": true,
        "canLike": false
      }
    }
  ],
  "total": 12,
  "hasMore": false,
  "nextCursor": null
}