GET
/api/v4/social/bulk-posts/{bulkJobId}一括投稿ジョブの取得
ソーシャル投稿の一括ジョブのステータス、件数、行ごとの結果を返します。
パラメーター
パス
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| bulkJobId | string | 必須 | Job UUID, the `job.id` returned by POST /social/bulk-posts. |
レスポンス
200The job with its counts and one entry per submitted row.
{ "data": { "getBulkSocialPostJob": { "id": "9b3f18d0-7a26-4c51-8e94-1f0d5c6b7a82", "status": "COMPLETED_WITH_ERRORS", "totalCount": 3, "processedCount": 3, "successCount": 2, "failureCount": 1, "createdAt": "2026-09-28T14:04:52Z", "updatedAt": "2026-09-28T14:05:31Z", "results": [ { "index": 0, "clientReference": "campaign-4471-slot-01", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK"], "status": "CREATED", "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345", "postStatus": "SCHEDULED", "errors": [] }, { "index": 1, "clientReference": "campaign-4471-slot-02", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"], "status": "CREATED", "socialPostId": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70", "postStatus": "SCHEDULED", "errors": [] }, { "index": 2, "clientReference": "campaign-4471-slot-03", "socialProfileId": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33", "platforms": ["INSTAGRAM"], "status": "FAILED", "socialPostId": null, "postStatus": null, "errors": [ { "message": "SY95045: No connected channel for INSTAGRAM on this brand", "code": "SY95045", "contextInfo": [{ "key": "platform", "value": "INSTAGRAM" }] } ] } ] } }}401Unauthenticated, missing or invalid API key.
404No job with that ID on this account (`SY95047`).
POST /social/bulk-postsで作成されたジョブの状況を返します。statusが終端値に達するまでポーリングし、その後results[]を読み取って各行の結果を確認します。
ユースケース:一括読み込みの結果を自社のカレンダーに反映する。 バッチを送信した後、このエンドポイントを数秒ごとにポーリングします。statusが終端値になったら、results[]を順に確認し、各エントリのclientReferenceを自社のレコードと照合して、そのレコードにsocialPostIdを書き込みます。status: "FAILED"の行にはerrors[]に理由が格納されているため、それらの行だけを新しいバッチで再送信します。
ユースケース:進捗バー。 totalCountに対するprocessedCountの割合だけで、results[]をまったく走査せずに進捗バーを表示でき、ジョブが完了した時点でsuccessCount / failureCountから結果の概要を把握できます。
ジョブのステータス
注記。
clientReferenceには、その行で送信した値がそのまま返されます。これは自社データと対応付けるのに最も確実な値であり、送信しなかった場合は、送信した配列内でのその行の0始まりの位置を表すindexを代わりに使用します。- 行が
status: "CREATED"に達したことは、投稿が存在することを意味し、公開されたことを意味するわけではありません。投稿自体の現在の状態はpostStatusで確認できます。PUBLISHとSCHEDULEの行も、その後に非同期の公開パイプラインを通るため、各socialPostIdをGET /social/posts/{postId}に渡し、channels[]を読み取ってチャネルごとの実際の結果を確認します。 - すべての行が検証に失敗した場合、一括作成がキューに追加する前にバッチを拒否するため、ジョブ自体が作成されません。ここで
FAILEDのジョブとは、受け付けられた後にジョブに障害が発生したことを意味します。 updatedAtは行が処理されるにつれて変化し、ジョブが終端状態になると確定します。
Request
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \ -H "Authorization: API $LISTINGSAPI_KEY"