/api/v4/posts/{postId}Recupera un post
Restituisce una singola campagna di post sui social con il relativo contenuto, lo stato di pubblicazione per ciascun sito e le analisi delle interazioni.
Parametri
Percorso
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| postId | string | obbligatorio | Base64-encoded social post ID (e.g. from the `id` field of a posts list, or the `socialPost.id` returned by POST /posts). |
Risposte
200The post's content, publish details, and analytics.
{ "data": { "socialPostView": { "socialPostId": "U29jaWFsUG9zdDo0NDEyMg==", "socialPostInfo": { "id": "U29jaWFsUG9zdDo0NDEyMg==", "name": "Summer Hours Update", "status": "SUCCESS", "type": "ANNOUNCEMENT", "createdAt": "2026-06-28", "scheduledStartDate": "2026-06-28", "scheduledEndDate": "2026-07-28", "views": 128, "clicks": 14, "shares": 0, "reactions": 3, "comments": 1, "sites": ["GOOGLE"], "message": [ { "site": "GOOGLE", "message": "We have extended our summer hours! Open until 9pm on weekdays." } ], "cta": [ { "type": { "value": "LEARN_MORE", "label": "Learn more" }, "url": "https://jennyhome.example/hours", "site": "GOOGLE", "tinyUrl": "https://tiny.cc/jh-hours" } ], "contextInfo": null, "mediaUrl": [ { "url": "https://cdn.listingsapi.com/posts/44122/summer.jpg", "site": "GOOGLE", "type": "IMAGE" } ], "publishDetails": [ { "site": "GOOGLE", "status": "PUBLISHED", "createdDate": "2026-06-28", "publishedDate": "2026-06-28", "submissionError": null } ], "postLinks": [ { "site": "GOOGLE", "link": "https://www.google.com/maps/place/?post=44122" } ], "locationIds": [1800289] }, "publishedLocationsCount": 1, "socialPostAnalyticsBySite": [ { "site": "GOOGLE", "views": 128, "clicks": 14, "reactions": 3, "shares": 0, "comments": 1 } ], "socialPostAnalyticsByLocationId": [ { "locationId": 1800289, "siteStats": [ { "site": "GOOGLE", "status": "PUBLISHED", "views": 128, "clicks": 14, "reactions": 3, "shares": 0, "comments": 1 } ] } ] } }}401Unauthenticated, missing or invalid API key.
Recupera una campagna di post tramite il suo ID, inclusi il messaggio e la CTA per ciascun sito, i contenuti multimediali allegati, lo stato attuale di pubblicazione su ciascun sito (publishDetails) e le interazioni suddivise sia per sito (socialPostAnalyticsBySite) sia per sede (socialPostAnalyticsByLocationId).
Caso d'uso: verifica dopo la pubblicazione. Subito dopo aver creato un annuncio con POST /posts, prendi il valore socialPost.id restituito e interroga periodicamente GET /posts/{postId} finché socialPostInfo.status non passa da INPROGRESS a SUCCESS. Se la pubblicazione su un sito non riesce, publishDetails[].submissionError contiene il motivo e publishDetails[].status mostra ERROR.
Caso d'uso: dashboard delle interazioni. Per un post relativo a una singola sede, leggi socialPostAnalyticsBySite per visualizzare un confronto tra Google e Facebook delle visualizzazioni e dei clic senza recuperare nuovamente l'elenco completo per la sede.
Note.
postIdè l'ID codificato in Base64 esposto comeidnell'elenco dei post o comesocialPost.idnella risposta alla creazione, non un numero intero non codificato.- Per recuperare una campagna per più sedi (in blocco), usa
GET /bulk-posts/{postId}, che restituisce la stessa struttura conpublishedLocationsCount > 1.
Questo esempio è costruito a partire dallo schema dell'API. L'account di esempio nell'ambiente live (Jenny Home) non ha post, quindi non era disponibile alcun ID di post reale da recuperare; con un ID sconosciuto o non valido viene restituito {"data":null,"errors":[{"message":"An error occurred processing your request."}]}.
curl -X GET 'https://listingsapi.com/api/v4/posts/<postId>' \ -H "Authorization: API $LISTINGSAPI_KEY"