/api/v4/posts/{postId}Obtener una publicación
Devuelve una única campaña de publicaciones en redes sociales con su contenido, el estado de publicación por sitio y las estadísticas de interacción.
Parámetros
Ruta
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| postId | string | obligatorio | Base64-encoded social post ID (e.g. from the `id` field of a posts list, or the `socialPost.id` returned by POST /posts). |
Respuestas
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.
Obtiene una campaña de publicaciones por su ID, incluidos el mensaje y la CTA por sitio, los archivos multimedia adjuntos, el estado de publicación en tiempo real en cada sitio (publishDetails) y las interacciones desglosadas tanto por sitio (socialPostAnalyticsBySite) como por ubicación (socialPostAnalyticsByLocationId).
Caso de uso: verificación tras la publicación. Justo después de crear un anuncio con POST /posts, toma el socialPost.id devuelto y consulta GET /posts/{postId} periódicamente hasta que socialPostInfo.status cambie de INPROGRESS a SUCCESS. Si se produce un fallo en un sitio, publishDetails[].submissionError contiene el motivo y publishDetails[].status muestra ERROR.
Caso de uso: panel de interacción. Para una publicación de una sola ubicación, lee socialPostAnalyticsBySite para mostrar una comparación de las visualizaciones y los clics entre Google y Facebook sin volver a consultar la lista completa de publicaciones de la ubicación.
Notas.
postIdes el ID codificado en Base64 que aparece comoiden la lista de publicaciones o comosocialPost.iden la respuesta de creación, no un número entero sin codificar.- Para obtener una campaña para varias ubicaciones (en bloque), usa
GET /bulk-posts/{postId}, que devuelve la misma estructura conpublishedLocationsCount > 1.
Este ejemplo se ha creado a partir del esquema de la API. La cuenta con datos iniciales del entorno activo (Jenny Home) no tiene publicaciones, por lo que no había ningún ID de publicación real que consultar; un ID desconocido o no válido devuelve {"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"