GET
/api/v4/bulk-posts/{postId}ID を指定して一括投稿を取得
単一の一括(複数拠点)投稿キャンペーンを、そのコンテンツ、拠点ごとの公開ステータス、エンゲージメント分析とともに返します。
パラメーター
パス
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| postId | string | 必須 | Base64-encoded bulk post ID (the `id` returned by POST /bulk-posts or listed by GET /locations/{locationId}/bulk-posts). |
レスポンス
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.
GET /posts/{postId}の一括操作版です。複数の拠点に同時に公開されたキャンペーンに対して、同じ SocialPostView 構造を返すため、publishedLocationsCount は 1 より大きくなり、socialPostAnalyticsByLocationId には店舗ごとに 1 行が含まれます。
ユースケース:チェーン全体への展開を追跡します。 全店舗を対象としたホリデーシーズンの特典について POST /bulk-postsを実行した後、socialPostInfo.status が SUCCESS になるまで GET /bulk-posts/{postId} をポーリングします。次に、socialPostAnalyticsByLocationId を読み取ってどの店舗が最も多くのクリックを獲得したかを確認し、publishDetails(および各拠点の siteStats.status)を調べて、サイトが ERROR を返した店舗を特定します。
注意事項。
postIdは、一括作成呼び出しまたは一括一覧から返される、Base64 でエンコードされたidであり、生の整数ではありません。socialPostAnalyticsBySiteはキャンペーン内のすべての拠点の数値を集計し、socialPostAnalyticsByLocationIdは同じ数値の店舗ごとの内訳を示します。
この例は API スキーマに基づいて作成されています。実環境のシードアカウント(Jenny Home)には一括キャンペーンがないため、取得に使用できる実際の ID はありませんでした。不明または無効な ID を指定すると、{"data":null,"errors":[{"message":"An error occurred processing your request."}]} が返されます。
Request
curl -X GET 'https://listingsapi.com/api/v4/bulk-posts/<postId>' \ -H "Authorization: API $LISTINGSAPI_KEY"