Mentions de la boîte de réception
Listez les publications et commentaires qui mentionnent vos comptes sur Facebook, Instagram, Threads, Bluesky et Mastodon, répondez-y et marquez-les comme lus.
https://post.adaptlypost.com/post/api/v1/inbox/mentionsRenvoie les publications et commentaires qui mentionnent vos comptes, du plus récent au plus ancien. Répond { mentions, 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 |
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'une mention
| Champ | Description |
|---|---|
id | Id de la mention. 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 |
platformMentionId | L'id, sur la plateforme, de la publication ou du commentaire qui mentionne le compte |
author | L'auteur : id (l'id utilisateur de la plateforme), name, username et avatarUrl. id, username et avatarUrl peuvent valoir null |
text | Le texte qui mentionne le compte |
permalink | Lien public sur la plateforme, ou null quand la plateforme n'en donne pas |
thumbnailUrl | Image de la publication, ou null |
createdAt | Date de création sur la plateforme |
status | UNREAD, READ ou DONE. Seul AdaptlyPost garde cet état ; la plateforme ne le voit pas |
replied | true quand votre compte a répondu via AdaptlyPost |
repliedAt | Date de la dernière réponse de votre compte, ou null |
capabilities | canReply : false quand la plateforme ne permet pas au compte de répondre, comme pour les mentions Instagram |
replies | Les réponses envoyées via AdaptlyPost, de la plus ancienne à la plus récente, chacune avec id, text, permalink et createdAt. Les réponses écrites dans l'application de la plateforme n'y figurent pas |
Répondre à une mention
https://post.adaptlypost.com/post/api/v1/inbox/mentions/:id/replyRépond, depuis le compte, à la publication ou au commentaire qui le mentionne, et répond 201 avec la mention. Sur Mastodon, la réponse garde la visibilité de la publication d'origine.
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 : Threads 500, Bluesky 300, Mastodon 500 et Facebook 8000 caractères |
Marquer comme lu ou traité
https://post.adaptlypost.com/post/api/v1/inbox/mentions/statusDéfinit le statut de 100 mentions au plus et répond { mentions, 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/mentions?statuses=UNREAD&since=2026-11-01T00:00:00Z' \
--header 'Authorization: Bearer <api-key>'curl --request POST \
--url https://post.adaptlypost.com/post/api/v1/inbox/mentions/mnt_41c7e0b2/reply \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{ "text": "Thanks for the shout-out!" }'curl --request POST \
--url https://post.adaptlypost.com/post/api/v1/inbox/mentions/status \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{ "ids": ["mnt_41c7e0b2"], "status": "READ" }'{
"mentions": [
{
"id": "mnt_41c7e0b2",
"accountId": "conn_bsky_001",
"platform": "BLUESKY",
"accountName": "adaptlypost.com",
"platformMentionId": "at://did:plc:4k2x.../app.bsky.feed.post/3lb2x7q",
"author": {
"id": "did:plc:7f3q2m",
"name": "Marta Nowak",
"username": "marta.bsky.social",
"avatarUrl": null
},
"text": "Scheduling a month of posts with @adaptlypost.com took me 20 minutes",
"permalink": "https://bsky.app/profile/marta.bsky.social/post/3lb2x7q",
"thumbnailUrl": null,
"createdAt": "2026-11-07T18:03:10.000Z",
"status": "UNREAD",
"replied": false,
"repliedAt": null,
"capabilities": { "canReply": true },
"replies": []
}
],
"total": 3,
"hasMore": false,
"nextCursor": null
}