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.
https://post.adaptlypost.com/post/api/v1/inbox/commentsDevuelve los comentarios en las publicaciones de tus cuentas, los más recientes primero. Responde { comments, total, hasMore, nextCursor }.
Todos los roles tienen inbox.read, así que cualquier clave válida puede leer la bandeja.
Parámetros de consulta
| Parámetro | Tipo | Descripción |
|---|---|---|
accountIds | string[] | Solo estas cuentas, por el id de GET /social-accounts. Repite la clave o separa los valores con comas. Hasta 50 |
platforms | PlatformType[] | Solo estas plataformas. Repite la clave o separa los valores con comas |
statuses | InboxStatus[] | Solo elementos en estos estados: UNREAD, READ o DONE. Repite la clave o separa los valores con comas |
since | string (ISO 8601) | Solo elementos creados en la plataforma en esta fecha y hora o después |
search | string | Texto que buscar |
postId | string | Solo comentarios en esta publicación de AdaptlyPost, por su id de /social-posts |
platformPostId | string | Solo comentarios en esta publicación, por el id propio de la plataforma |
limit | number | Elementos por página, de 1 a 100. Por defecto 25 |
cursor | string | El 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
| Campo | Descripción |
|---|---|
id | Id del comentario. Úsalo con los endpoints de abajo |
accountId | La cuenta a la que pertenece el elemento: su id de GET /social-accounts |
platform | La plataforma, como PlatformType |
accountName | Nombre visible de esa cuenta |
postId | El id de la publicación en AdaptlyPost, o null cuando la publicación no se publicó con AdaptlyPost |
platformPostId | El id en la plataforma de la publicación donde está el comentario |
postText | Texto de esa publicación |
postPermalink | Enlace a esa publicación |
platformCommentId | El id del comentario en la plataforma |
parentPlatformCommentId | El id en la plataforma del comentario al que responde este, o null en un comentario de primer nivel |
isReply | True cuando el comentario responde a otro comentario |
author | Quién lo escribió: id (el id de usuario de la plataforma), name, username y avatarUrl. id, username y avatarUrl pueden ser null |
text | El texto del comentario |
permalink | Enlace público en la plataforma, o null cuando la plataforma no da ninguno |
likeCount | Me gusta del comentario, o null cuando la plataforma no los informa |
createdAt | Cuándo se creó en la plataforma |
status | UNREAD, READ o DONE. Solo AdaptlyPost guarda este estado; la plataforma no lo ve |
isHidden | True cuando el comentario está oculto en la plataforma |
isOwn | True cuando lo escribió tu cuenta |
replied | True cuando tu cuenta tiene una respuesta debajo, enviada desde AdaptlyPost o desde la app de la plataforma |
repliedAt | Cuándo respondió tu cuenta por última vez, o null |
likedByAccount | True cuando tu cuenta le dio me gusta |
capabilities | canReply, canHide, canDelete y canLike: lo que permite este comentario. Compruébalos antes de llamar a una acción |
Leer un hilo
https://post.adaptlypost.com/post/api/v1/inbox/comments/:idDevuelve { 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.
Responder a un comentario
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/replyPublica una respuesta desde la cuenta debajo del comentario y responde 201 con la nueva respuesta como comentario.
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ámetro | Tipo | Descripción |
|---|---|---|
textOBLIGATORIO | string | La 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.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/hideOculta el comentario en la plataforma y responde 200 con el comentario.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/unhideVuelve a mostrar un comentario oculto y responde 200 con el comentario.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/likeDa me gusta al comentario desde la cuenta y responde 200 con el comentario.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/likeQuita el me gusta de la cuenta y responde 200 con el comentario.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:idElimina el comentario en la plataforma y en la bandeja de AdaptlyPost, y responde 200 { "deleted": true }.
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.
| Plataforma | Eliminar | Me gusta y quitarlo |
|---|---|---|
FACEBOOK | Cualquier comentario en las publicaciones de la página | Sí |
INSTAGRAM | Cualquier comentario en las publicaciones de la cuenta | No |
YOUTUBE | Solo los comentarios propios del canal | No |
THREADS | Solo las respuestas propias de la cuenta | No |
BLUESKY | Solo las respuestas propias de la cuenta | Sí |
MASTODON | Solo las respuestas propias de la cuenta | Sí, como favorito |
LINKEDIN | Cualquier comentario en las publicaciones de la organización | Sí |
Marcar como leído o hecho
https://post.adaptlypost.com/post/api/v1/inbox/comments/statusFija el estado de hasta 100 comentarios y responde { comments, unreadCount }.
Parámetros del cuerpo
| Parámetro | Tipo | Descripción |
|---|---|---|
idsOBLIGATORIO | string[] | De 1 a 100 ids de la lista |
statusOBLIGATORIO | InboxStatus | UNREAD, READ o DONE |
Rechazos
Una llamada rechazada responde { statusCode, error, code, message }. Decide según code. message explica el rechazo con palabras.
| Código | Estado | Cuándo, y qué hacer |
|---|---|---|
inbox_item_not_found | 404 | El id no existe o pertenece a otro espacio de trabajo. Detente |
inbox_action_unsupported | 400 | La plataforma, o este elemento, no permite ocultar, eliminar o dar me gusta. capabilities dice qué se aplica. Detente |
inbox_reconnect_required | 403 | A 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_invalid | 400 | El texto está vacío o supera el límite. El mensaje indica el límite. Corrige el texto |
inbox_messaging_window_closed | 400 | Facebook o Instagram: pasó la ventana de respuesta de 24 horas. Detente |
inbox_rate_limited | 429 | La plataforma limitó la frecuencia de AdaptlyPost. Reintenta pasado un rato |
inbox_platform_error | 503 | La plataforma falló. Reintenta más tarde |
permission_denied | 403 | Al rol de la clave le falta inbox.read o inbox.reply. No reintentes |
subscription_required | 403 | Una escritura sin un plan de AdaptlyPost activo. No reintentes |
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>'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, "...": "..." }
]
}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." }'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>'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" }'{
"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
}