/api/v4/posts/{postId}Obter uma publicação
Retorna uma única campanha de publicação em redes sociais com seu conteúdo, o status de publicação por site e as análises de engajamento.
Parâmetros
Caminho
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| postId | string | obrigatório | Base64-encoded social post ID (e.g. from the `id` field of a posts list, or the `socialPost.id` returned by POST /posts). |
Respostas
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.
Busca uma campanha de publicação pelo ID, incluindo a mensagem e a CTA por site, a mídia anexada, o status atual de publicação em cada site (publishDetails) e o engajamento detalhado tanto por site (socialPostAnalyticsBySite) quanto por local (socialPostAnalyticsByLocationId).
Caso de uso: verificação após a publicação. Logo após criar um anúncio com POST /posts, use o socialPost.id retornado e consulte GET /posts/{postId} periodicamente até que socialPostInfo.status mude de INPROGRESS para SUCCESS. Se a publicação em um site falhar, publishDetails[].submissionError contém o motivo e publishDetails[].status mostra ERROR.
Caso de uso: painel de engajamento. Para uma publicação de um único local, leia socialPostAnalyticsBySite para exibir uma comparação de visualizações e cliques entre Google e Facebook sem listar novamente todos os dados do local.
Observações.
postIdé o ID codificado em Base64 apresentado comoidna lista de publicações ou comosocialPost.idna resposta de criação, e não um número inteiro sem codificação.- Para buscar uma campanha de vários locais (em lote), use
GET /bulk-posts/{postId}, que retorna a mesma estrutura compublishedLocationsCount > 1.
Este exemplo foi elaborado a partir do esquema da API. A conta usada como fonte de dados no ambiente ativo (Jenny Home) não tem publicações, por isso não havia um ID de publicação real para buscar; um ID desconhecido ou inválido retorna {"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"