Commentaires de la boîte de réception
Listez les commentaires sur vos publications Facebook, Instagram, Threads, YouTube, LinkedIn, Bluesky et Mastodon, puis répondez, masquez, aimez, supprimez ou marquez-les comme traités.
https://post.adaptlypost.com/post/api/v1/inbox/commentsRenvoie les commentaires sur les publications de vos comptes, du plus récent au plus ancien. Répond { comments, total, hasMore, nextCursor }.
Tous les rôles détiennent inbox.read, donc toute clé valide peut lire la boîte de réception.
Paramètres de requête
| Paramètre | Taper | Description |
|---|---|---|
accountIds | string[] | Uniquement ces comptes, par l'id de GET /social-accounts. Répétez la clé ou séparez les valeurs par des virgules. Jusqu'à 50 |
platforms | PlatformType[] | Uniquement ces plateformes. Répétez la clé ou séparez les valeurs par des virgules |
statuses | InboxStatus[] | Uniquement les éléments dans ces états : UNREAD, READ ou DONE. Répétez la clé ou séparez les valeurs par des virgules |
since | string (ISO 8601) | Uniquement les éléments créés sur la plateforme à partir de cette date et heure |
search | string | Texte à rechercher |
postId | string | Uniquement les commentaires sur cette publication AdaptlyPost, par son id de /social-posts |
platformPostId | string | Uniquement les commentaires sur cette publication, par l'id de publication propre à la plateforme |
limit | number | Éléments par page, de 1 à 100. 25 par défaut |
cursor | string | Le nextCursor de la page précédente. nextCursor vaut null sur la dernière page |
Environ 10 minutes, pas en temps réel
AdaptlyPost lit chaque compte connecté toutes les 10 minutes et garde ce qu'il trouve. Les listes répondent à partir de cette copie, donc un nouveau commentaire, une mention, un message ou un avis apparaît en environ 10 minutes. POST /api/v1/inbox/refresh demande une lecture immédiate. Les événements de webhook viennent des mêmes lectures.Canaux qui demandent une reconnexion
Tous les canaux sont ouverts à l'API. Quand une connexion n'a pas la permission de la plateforme pour un canal ou une action, y compris les permissions que la plateforme examine encore pour AdaptlyPost, GET /api/v1/inbox/summary affiche le canal en RECONNECT_REQUIRED et chaque écriture sur ce canal répond 403 inbox_reconnect_required. Un jeton expiré répond de la même façon. Demandez à l'utilisateur de reconnecter le compte dans AdaptlyPost ; réessayer ne sert à rien.Champs d'un commentaire
| Champ | Description |
|---|---|
id | Id du commentaire. Utilisez-le avec les endpoints ci-dessous |
accountId | Le compte auquel appartient l'élément : son id de GET /social-accounts |
platform | La plateforme, en PlatformType |
accountName | Nom affiché de ce compte |
postId | L'id de la publication AdaptlyPost, ou null quand la publication n'a pas été publiée via AdaptlyPost |
platformPostId | L'id, sur la plateforme, de la publication commentée |
postText | Texte de cette publication |
postPermalink | Lien vers cette publication |
platformCommentId | L'id du commentaire sur la plateforme |
parentPlatformCommentId | L'id, sur la plateforme, du commentaire auquel celui-ci répond, ou null pour un commentaire de premier niveau |
isReply | true quand le commentaire répond à un autre commentaire |
author | L'auteur : id (l'id utilisateur de la plateforme), name, username et avatarUrl. id, username et avatarUrl peuvent valoir null |
text | Le texte du commentaire |
permalink | Lien public sur la plateforme, ou null quand la plateforme n'en donne pas |
likeCount | Nombre de j'aime du commentaire, ou null quand la plateforme ne le communique pas |
createdAt | Date de création sur la plateforme |
status | UNREAD, READ ou DONE. Seul AdaptlyPost garde cet état ; la plateforme ne le voit pas |
isHidden | true quand le commentaire est masqué sur la plateforme |
isOwn | true quand votre compte l'a écrit |
replied | true quand votre compte a une réponse en dessous, envoyée depuis AdaptlyPost ou depuis l'application de la plateforme |
repliedAt | Date de la dernière réponse de votre compte, ou null |
likedByAccount | true quand votre compte l'a aimé |
capabilities | canReply, canHide, canDelete et canLike : ce que ce commentaire permet. Vérifiez-les avant d'appeler une action |
Lire un fil
https://post.adaptlypost.com/post/api/v1/inbox/comments/:idRenvoie { comment, parent, replies } : le commentaire, le commentaire auquel il répond (null pour un commentaire de premier niveau) et les réponses en dessous. Un id inconnu répond 404 inbox_item_not_found.
Répondre à un commentaire
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/replyPublie une réponse du compte sous le commentaire et répond 201 avec la nouvelle réponse sous forme de commentaire.
Les écritures exigent inbox.reply (Administrateur et Éditeur) et un abonnement AdaptlyPost actif. Sans abonnement, elles répondent 403 subscription_required.
Paramètres du corps
| Paramètre | Taper | Description |
|---|---|---|
textREQUIS | string | La réponse. Elle suit la limite de commentaire de la plateforme : LinkedIn 1250, Threads 500, Bluesky 300, Mastodon 500, YouTube 10000, Facebook 8000 et Instagram 2200 caractères |
Masquer, aimer et supprimer
Chaque action répond 400 inbox_action_unsupported quand la plateforme ou le commentaire ne la permet pas. capabilities sur le commentaire vous l'indique à l'avance.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/hideMasque le commentaire sur la plateforme et répond 200 avec le commentaire.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/unhideAffiche à nouveau un commentaire masqué et répond 200 avec le commentaire.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/likeAime le commentaire depuis le compte et répond 200 avec le commentaire.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:id/likeRetire le j'aime du compte et répond 200 avec le commentaire.
https://post.adaptlypost.com/post/api/v1/inbox/comments/:idSupprime le commentaire sur la plateforme et de la boîte de réception AdaptlyPost, et répond 200 { "deleted": true }.
Suppression et j'aime par plateforme
Ce que chaque plateforme permet au compte de supprimer et d'aimer. Sur Threads, la suppression exige la permission threads_delete, donc une connexion Threads ancienne répond 403 inbox_reconnect_required jusqu'à sa reconnexion.
| Plateforme | Suppression | J'aime et retrait |
|---|---|---|
FACEBOOK | Tout commentaire sur les publications de la Page | Oui |
INSTAGRAM | Tout commentaire sur les publications du compte | Non |
YOUTUBE | Uniquement les commentaires de la chaîne elle-même | Non |
THREADS | Uniquement les réponses du compte lui-même | Non |
BLUESKY | Uniquement les réponses du compte lui-même | Oui |
MASTODON | Uniquement les réponses du compte lui-même | Oui, en favori |
LINKEDIN | Tout commentaire sur les publications de l'organisation | Oui |
Marquer comme lu ou traité
https://post.adaptlypost.com/post/api/v1/inbox/comments/statusDéfinit le statut de 100 commentaires au plus et répond { comments, unreadCount }.
Paramètres du corps
| Paramètre | Taper | Description |
|---|---|---|
idsREQUIS | string[] | De 1 à 100 ids issus de la liste |
statusREQUIS | InboxStatus | UNREAD, READ ou DONE |
Refus
Un appel refusé répond { statusCode, error, code, message }. Basez-vous sur code. message explique le refus en clair.
| Code | Statut | Quand, et que faire |
|---|---|---|
inbox_item_not_found | 404 | L'id n'existe pas ou appartient à un autre espace de travail. Arrêtez |
inbox_action_unsupported | 400 | La plateforme, ou cet élément, ne permet pas ce masquage, cette suppression ou ce j'aime. capabilities indique ce qui s'applique. Arrêtez |
inbox_reconnect_required | 403 | La connexion n'a pas la permission pour ce canal ou cette action, y compris une permission encore en examen par la plateforme, ou son jeton a expiré. Demandez à l'utilisateur de reconnecter le compte dans AdaptlyPost. Ne réessayez pas |
inbox_reply_invalid | 400 | Le texte est vide ou dépasse la limite. Le message indique la limite. Corrigez le texte |
inbox_messaging_window_closed | 400 | Facebook ou Instagram : la fenêtre de réponse de 24 heures est passée. Arrêtez |
inbox_rate_limited | 429 | La plateforme a limité le débit d'AdaptlyPost. Réessayez plus tard |
inbox_platform_error | 503 | La plateforme a échoué. Réessayez plus tard |
permission_denied | 403 | Le rôle de la clé n'a pas inbox.read ou inbox.reply. Ne réessayez pas |
subscription_required | 403 | Une écriture sans abonnement AdaptlyPost actif. Ne réessayez pas |
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
}