/api/v4/social/posts/{postId}Recupera un post social
Restituisce un post social con il relativo contenuto, la pianificazione e lo stato di pubblicazione aggiornato, il link e l'errore per ciascun canale.
Parametri
Percorso
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| postId | string | obbligatorio | Post UUID, the `socialPostId` returned by POST /social/posts or the `socialPostId` of a row from the brand's post list. |
Risposte
200The post, with per-channel publish state in `connectedChannels`.
{ "data": { "getSocialMediaPost": { "name": "Autumn collection launch", "status": "PUBLISHED", "initialContent": "Our autumn collection lands today. Solid oak, hand-finished, made two blocks from the shop. Come see it in person this weekend.", "initialMedia": ["https://cdn.example.com/social/autumn-collection.jpg"], "initialVideo": [], "globalPostSchedule": "2026-10-02T13:30:00Z", "customDataFlag": false, "approvalState": null, "actionOn": null, "comment": null, "postAutomationId": null, "connectedChannels": [ { "id": "b81d5b3c-4a90-4f6a-9c11-71e0dd2fa4a7", "platform": "INSTAGRAM", "socialPlatformId": 2, "displayName": "Jenny Home", "userName": "jennyhome", "userImage": "https://cdn.listingsapi.com/social/channels/b81d5b3c/avatar.jpg", "status": "SUCCESS", "liveLink": "https://www.instagram.com/p/CxYz1234abc/", "reason": null, "error": null, "archived": false }, { "id": "2d4e6f80-1c33-4b7a-8e05-9a1b2c3d4e5f", "platform": "FACEBOOK", "socialPlatformId": 1, "displayName": "Jenny Home & Co.", "userName": "jennyhomeco", "userImage": "https://cdn.listingsapi.com/social/channels/2d4e6f80/avatar.jpg", "status": "SUCCESS", "liveLink": "https://www.facebook.com/jennyhomeco/posts/1029384756", "reason": null, "error": null, "archived": false }, { "id": "7c5b9a12-8de4-4a31-b0f2-6e3d4c5b8a90", "platform": "LINKEDIN", "socialPlatformId": 4, "displayName": "Jenny Home", "userName": "jenny-home", "userImage": null, "status": "ERROR", "liveLink": null, "reason": "Authorization expired", "error": "The LinkedIn authorization for this channel is no longer valid. Reconnect the channel and post again.", "archived": false } ] } }}401Unauthenticated, missing or invalid API key.
404No post with that ID on this account.
Recupera un post tramite il suo UUID, con il contenuto composto, la pianificazione risultante e una voce per ciascun canale di destinazione che descrive ciò che è effettivamente accaduto su quella piattaforma. Questo è l'endpoint da interrogare periodicamente dopo aver creato un post.
Caso d'uso: verifica dopo la pubblicazione. La pubblicazione è asincrona, quindi POST /social/posts ti indica soltanto che il post è stato accettato. Interroga periodicamente questo endpoint con il valore socialPostId restituito e leggi connectedChannels[]: status: "SUCCESS" con un valore liveLink indica che il post è pubblicato su quel canale, mentre status: "ERROR" con error impostato indica che non lo è e ne spiega il motivo. Smetti di interrogare l'endpoint quando nessun canale è ancora nello stato SCHEDULED.
Caso d'uso: mostrare al cliente dove è stato pubblicato il suo post. Visualizza ogni connectedChannels[].liveLink come link esterno, in modo che l'utente possa aprire il post pubblicato direttamente sulla piattaforma, e mostra error accanto ai canali per cui la pubblicazione non è riuscita, invece di ridurre l'intero post a un unico stato di errore.
Interpretare i campi di stato
Esistono due livelli di stato che rispondono a domande diverse.
Un post può avere lo stato complessivo PUBLISHED mentre un canale si trova nello stato ERROR. Basa sempre la visualizzazione su connectedChannels[]; il campo status a livello di post è un riepilogo.
Note.
globalPostScheduleè l'istante di pubblicazione risultante in UTC. Se hai pianificato la pubblicazione conscheduleDate+scheduleTime, questo è l'istante ottenuto applicando a quei valori il fuso orario del brand: un controllo utile per verificare che il fuso orario fosse quello previsto.errorè un messaggio leggibile che puoi mostrare senza rischi a un cliente;reasonè l'etichetta interna più breve a esso associata. Nessuno dei due contiene token della piattaforma o ID di tracciamento.connectedChannels[].idè l'UUID della connessione presente tra le connessioni del brand ed è il valore che insights richiede comesocialConnectedChannelId.- Un canale con stato
archived: trueè stato disconnesso dopo la creazione del post. Il post non verrà pubblicato su quel canale; vedi disconnect. - Un canale bloccato nello stato
ERRORdopo la scadenza di un'autorizzazione richiede un nuovo link di connessione, non un nuovo tentativo di pubblicazione del post. - Per ottenere i dati sul coinvolgimento anziché lo stato di pubblicazione, chiama
GET /social/posts/{postId}/insights. - Per elencare i post di un brand anziché recuperarne uno, usa
GET /social/brands/{brandId}/posts.
curl -X GET 'https://listingsapi.com/api/v4/social/posts/<postId>' \ -H "Authorization: API $LISTINGSAPI_KEY"