/api/v4/bulk-posts/{postId}Récupérer une publication groupée par ID
Renvoie une campagne groupée multi-établissements avec son contenu, le statut de publication par établissement et les statistiques d’engagement.
Paramètres
Chemin
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| postId | string | obligatoire | Base64-encoded bulk post ID (the `id` returned by POST /bulk-posts or listed by GET /locations/{locationId}/bulk-posts). |
Réponses
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.
L’équivalent de GET /posts/{postId} pour les publications groupées. Il renvoie la même structure SocialPostView pour une campagne publiée dans plusieurs établissements à la fois, de sorte que publishedLocationsCount est supérieur à 1 et que socialPostAnalyticsByLocationId contient une ligne par magasin.
Cas d’utilisation : suivre un déploiement dans l’ensemble d’une chaîne. Après avoir appelé POST /bulk-posts pour une offre de fêtes dans tous les magasins, interrogez régulièrement GET /bulk-posts/{postId} jusqu’à ce que socialPostInfo.status soit SUCCESS. Consultez ensuite socialPostAnalyticsByLocationId pour voir quels magasins ont généré le plus de clics, et examinez publishDetails (ainsi que siteStats.status pour chaque établissement) pour trouver les magasins pour lesquels un site a renvoyé ERROR.
Remarques.
postIdest la valeuridencodée en Base64 renvoyée par l’appel de création groupée ou par la liste des publications groupées, et non un entier brut.socialPostAnalyticsBySiteagrège les données de tous les établissements de la campagne ;socialPostAnalyticsByLocationIddétaille ces mêmes chiffres par magasin.
Cet exemple est construit à partir du schéma de l’API. Le compte de référence en ligne (Jenny Home) ne contient aucune campagne de publication groupée ; il n’y avait donc aucun ID réel à utiliser pour la récupération ; un ID inconnu ou invalide entraîne le renvoi de {"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"