/api/v4/bulk-posts/{postId}Obtener una publicación masiva por ID
Devuelve una campaña de publicación masiva para varias ubicaciones con contenido, estado de publicación por ubicación y estadísticas de interacción.
Parámetros
Ruta
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| postId | string | obligatorio | Base64-encoded bulk post ID (the `id` returned by POST /bulk-posts or listed by GET /locations/{locationId}/bulk-posts). |
Respuestas
200The campaign's content, per-location publish details, and analytics.
{ "data": { "socialPostView": { "socialPostId": "U29jaWFsUG9zdDo1MTA4OA==", "socialPostInfo": { "id": "U29jaWFsUG9zdDo1MTA4OA==", "name": "Diwali Offer - All Stores", "status": "SUCCESS", "type": "OFFER", "createdAt": "2026-06-20", "scheduledStartDate": "2026-06-22", "scheduledEndDate": "2026-07-06", "views": 4210, "clicks": 318, "shares": 12, "reactions": 87, "comments": 4, "sites": ["GOOGLE", "FACEBOOK"], "message": [ { "site": "GOOGLE", "message": "Festive savings across all our stores this week." }, { "site": "FACEBOOK", "message": "Festive savings across all our stores this week!" } ], "cta": [ { "type": { "value": "GET_OFFER", "label": "Get offer" }, "url": "https://jennyhome.example/diwali", "site": "GOOGLE", "tinyUrl": "https://tiny.cc/jh-diwali" } ], "contextInfo": { "couponCode": "DIWALI25", "redeemUrl": "https://jennyhome.example/diwali", "termsConditions": "Valid in-store only. Cannot be combined with other offers.", "title": "25% off storewide", "discount": "25%", "startDay": "2026-06-22", "endDay": "2026-07-06" }, "mediaUrl": [ { "url": "https://cdn.listingsapi.com/posts/51088/diwali.jpg", "site": "GOOGLE", "type": "IMAGE" } ], "publishDetails": [ { "site": "GOOGLE", "status": "PUBLISHED", "createdDate": "2026-06-20", "publishedDate": "2026-06-22", "submissionError": null }, { "site": "FACEBOOK", "status": "PUBLISHED", "createdDate": "2026-06-20", "publishedDate": "2026-06-22", "submissionError": null } ], "postLinks": [ { "site": "GOOGLE", "link": "https://www.google.com/maps/place/?post=51088" } ], "locationIds": [1800289, 1800290, 1800291] }, "publishedLocationsCount": 3, "socialPostAnalyticsBySite": [ { "site": "GOOGLE", "views": 3120, "clicks": 240, "reactions": 61, "shares": 0, "comments": 0 }, { "site": "FACEBOOK", "views": 1090, "clicks": 78, "reactions": 26, "shares": 12, "comments": 4 } ], "socialPostAnalyticsByLocationId": [ { "locationId": 1800289, "siteStats": [ { "site": "GOOGLE", "status": "PUBLISHED", "views": 1040, "clicks": 80, "reactions": 20, "shares": 0, "comments": 0 }, { "site": "FACEBOOK", "status": "PUBLISHED", "views": 360, "clicks": 26, "reactions": 9, "shares": 4, "comments": 1 } ] } ] } }}401Unauthenticated, missing or invalid API key.
El equivalente para publicaciones masivas de GET /posts/{postId}. Devuelve la misma estructura SocialPostView para una campaña que se publicó en varias ubicaciones a la vez, por lo que publishedLocationsCount es mayor que 1 y socialPostAnalyticsByLocationId contiene una fila por tienda.
Caso de uso: hacer un seguimiento de un lanzamiento en toda una cadena. Después de ejecutar POST /bulk-posts para una oferta festiva en todas las tiendas, consulta periódicamente GET /bulk-posts/{postId} hasta que socialPostInfo.status sea SUCCESS. A continuación, consulta socialPostAnalyticsByLocationId para ver qué tiendas generaron más clics y examina publishDetails (junto con siteStats.status de cada ubicación) para encontrar cualquier tienda para la que un sitio haya devuelto ERROR.
Notas.
postIdes elidcodificado en Base64 que devuelve la llamada de creación masiva o la lista de publicaciones masivas, no un entero sin codificar.socialPostAnalyticsBySiteagrega los datos de todas las ubicaciones de la campaña;socialPostAnalyticsByLocationIddesglosa esas mismas cifras por tienda.
Este ejemplo se ha elaborado a partir del esquema de la API. La cuenta de referencia del entorno activo (Jenny Home) no tiene campañas masivas, por lo que no había ningún ID real que consultar; si el ID es desconocido o no es válido, se devuelve {"data":null,"errors":[{"message":"An error occurred processing your request."}]}.
curl -X GET 'https://listingsapi.com/api/v4/bulk-posts/<postId>' \ -H "Authorization: API $LISTINGSAPI_KEY"