GET/api/v4/social/bulk-posts/{bulkJobId}

Ottieni un processo di pubblicazione in blocco

Restituisce lo stato, i conteggi e i risultati per ogni riga di un processo di pubblicazione di post social in blocco.

Richiede una chiave API. Consulta Autenticazione per il formato dell’header e la rotazione delle chiavi.

Parametri

Percorso

NomeTipoObbligatorioDescrizione
bulkJobIdstringobbligatorioJob UUID, the `job.id` returned by POST /social/bulk-posts.

Risposte

200The job with its counts and one entry per submitted row.
Response
{  "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`).

Fornisce informazioni su un processo creato da POST /social/bulk-posts. Interrogalo periodicamente finché status non raggiunge un valore finale, quindi leggi results[] per conoscere l'esito di ogni riga.

Caso d'uso: riconciliare un caricamento in blocco con il tuo calendario. Dopo aver inviato un batch, interroga questo endpoint ogni pochi secondi. Quando status è in uno stato finale, scorri results[] e associa clientReference di ogni voce al tuo record, scrivendovi socialPostId. Le righe con status: "FAILED" riportano il motivo in errors[]; invia nuovamente solo quelle in un nuovo batch.

Caso d'uso: una barra di avanzamento. Il rapporto tra processedCount e totalCount basta per alimentarla senza scorrere affatto results[], mentre successCount / failureCount ti forniscono il riepilogo non appena il processo termina.

Stati del processo

statusFinaleSignificato
QUEUEDnoAccettato, non avviato. results[] può essere vuoto.
PROCESSINGnoLa creazione delle righe è in corso. results[] si popola man mano.
COMPLETEDsìTutte le righe sono state create.
COMPLETED_WITH_ERRORSsìAlcune righe sono state create, altre non sono riuscite. Leggi failureCount e errors[] di ogni riga.
FAILEDsìNon è stato possibile eseguire il processo stesso. Non è stata creata alcuna riga.

Note.

  • clientReference è il valore che hai inviato per quella riga, restituito senza modifiche. È il collegamento più diretto ai tuoi dati; index, la posizione della riga nell'array che hai inviato, con indice a partire da 0, è l'alternativa quando non hai inviato alcun valore.
  • Una riga che raggiunge status: "CREATED" indica che il post esiste, non che sia stato pubblicato — postStatus indica a che punto si trova il post stesso. Le righe PUBLISH e SCHEDULE passano comunque in seguito attraverso la pipeline di pubblicazione asincrona: usa ogni socialPostId con GET /social/posts/{postId} e leggi channels[] per conoscere l'esito effettivo per ciascun canale.
  • Un processo in cui nessuna riga ha superato la validazione non sarebbe mai stato creato, perché la creazione in blocco rifiuta il batch prima di metterlo in coda. Un processo FAILED qui indica che il processo ha subito un errore dopo essere stato accettato.
  • updatedAt cambia man mano che le righe vengono elaborate; si stabilizza quando il processo raggiunge uno stato finale.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \  -H "Authorization: API $LISTINGSAPI_KEY"