/api/v4/social/bulk-posts/{bulkJobId}Récupérer une tâche de création de publications en masse
Renvoie le statut, les décomptes et les résultats par ligne d'une tâche de création de publications en masse sur les réseaux sociaux.
Paramètres
Chemin
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| bulkJobId | string | obligatoire | Job UUID, the `job.id` returned by POST /social/bulk-posts. |
Réponses
200The job with its counts and one entry per submitted row.
{ "data": { "getBulkSocialPostJob": { "id": "9b3f18d0-7a26-4c51-8e94-1f0d5c6b7a82", "status": "COMPLETED_WITH_ERRORS", "totalCount": 3, "processedCount": 3, "successCount": 2, "failureCount": 1, "createdAt": "2026-09-28T14:04:52Z", "updatedAt": "2026-09-28T14:05:31Z", "results": [ { "index": 0, "clientReference": "campaign-4471-slot-01", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK"], "status": "CREATED", "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345", "postStatus": "SCHEDULED", "errors": [] }, { "index": 1, "clientReference": "campaign-4471-slot-02", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"], "status": "CREATED", "socialPostId": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70", "postStatus": "SCHEDULED", "errors": [] }, { "index": 2, "clientReference": "campaign-4471-slot-03", "socialProfileId": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33", "platforms": ["INSTAGRAM"], "status": "FAILED", "socialPostId": null, "postStatus": null, "errors": [ { "message": "SY95045: No connected channel for INSTAGRAM on this brand", "code": "SY95045", "contextInfo": [{ "key": "platform", "value": "INSTAGRAM" }] } ] } ] } }}401Unauthenticated, missing or invalid API key.
404No job with that ID on this account (`SY95047`).
Fournit des informations sur une tâche créée par POST /social/bulk-posts. Interrogez cet endpoint jusqu'à ce que status atteigne une valeur finale, puis consultez results[] pour savoir ce qu'est devenue chaque ligne.
Cas d'utilisation : répercuter les résultats d'un chargement en masse dans votre propre calendrier. Après avoir soumis un lot, interrogez cet endpoint toutes les quelques secondes. Lorsque status a une valeur finale, parcourez results[] et associez la valeur clientReference de chaque entrée à votre propre enregistrement, en y inscrivant socialPostId. Les lignes présentant status: "FAILED" contiennent la raison dans errors[] ; renvoyez uniquement ces lignes dans un nouveau lot.
Cas d'utilisation : une barre de progression. Comparer processedCount à totalCount suffit à alimenter une barre de progression sans parcourir results[], et successCount / failureCount vous donnent le bilan dès que la tâche se termine.
Statuts de la tâche
Remarques.
clientReferencereprend à l'identique ce que vous avez envoyé pour cette ligne. C'est le moyen le plus direct de faire le lien avec vos propres données ;index, la position de la ligne dans le tableau que vous avez soumis, avec une indexation commençant à 0, sert de solution de repli lorsque vous n'avez rien envoyé.- Lorsqu'une ligne atteint
status: "CREATED", cela signifie que la publication existe, et non qu'elle a été publiée —postStatusvous indique où en est la publication elle-même. Les lignesPUBLISHetSCHEDULEpassent ensuite encore par le processus de publication asynchrone : utilisez chaquesocialPostIdavecGET /social/posts/{postId}et consultezchannels[]pour connaître le résultat réel par canal. - Une tâche dont toutes les lignes auraient échoué à la validation n'aurait jamais été créée, car la création en masse rejette le lot avant sa mise en file d'attente. Une tâche au statut
FAILEDsignifie ici qu'elle a échoué après avoir été acceptée. updatedAtévolue à mesure que les lignes sont traitées ; sa valeur se stabilise une fois que la tâche atteint un statut final.
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \ -H "Authorization: API $LISTINGSAPI_KEY"