GET/api/v4/social/bulk-posts/{bulkJobId}

一括投稿ジョブの取得

ソーシャル投稿の一括ジョブのステータス、件数、行ごとの結果を返します。

API キーが必要です。ヘッダーの形式とキーのローテーションについては認証を参照してください。

パラメーター

パス

名前型必須説明
bulkJobIdstring必須Job UUID, the `job.id` returned by POST /social/bulk-posts.

レスポンス

200The job with its counts and one entry per submitted row.
Response
{  "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から結果の概要を把握できます。

ジョブのステータス

status終端かどうか意味
QUEUEDいいえ受け付け済みですが、まだ開始されていません。results[]は空の場合があります。
PROCESSINGいいえ行を作成中です。処理が進むにつれてresults[]に結果が追加されます。
COMPLETEDはいすべての行が作成されました。
COMPLETED_WITH_ERRORSはい一部の行は作成されましたが、残りの行は失敗しました。failureCountと各行のerrors[]を読み取ってください。
FAILEDはいジョブ自体を実行できませんでした。行は1つも作成されませんでした。

注記。

  • 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"