メッセージバッチAPIは、メッセージAPIと同じ機能セットをサポートしています。このページではメッセージバッチAPIの使用方法に焦点を当てていますが、メッセージAPIの機能セットの例についてはメッセージAPIの例を参照してください。

メッセージバッチの作成

JSON
{
  "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message_batch",
  "processing_status": "in_progress",
  "request_counts": {
    "processing": 2,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  },
  "ended_at": null,
  "created_at": "2024-09-24T18:37:24.100435Z",
  "expires_at": "2024-09-25T18:37:24.100435Z",
  "cancel_initiated_at": null,
  "results_url": null
}

メッセージバッチの完了を確認するためのポーリング

メッセージバッチをポーリングするには、作成リクエストのレスポンスまたは一覧表示で提供されるidが必要です。例えばid: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF

ワークスペース内のすべてのメッセージバッチの一覧表示

Output
{
  "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message_batch",
  ...
}
{
  "id": "msgbatch_01HkcTjaV5uDC8jWR4ZsDV8d",
  "type": "message_batch",
  ...
}

メッセージバッチの結果の取得

メッセージバッチのステータスがendedになると、バッチのresults_urlを表示し、.jsonlファイル形式で結果を取得できるようになります。

Output
{
  "id": "my-second-request",
  "result": {
    "type": "succeeded",
    "message": {
      "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
      "type": "message",
      ...
    }
  }
}
{
  "custom_id": "my-first-request",
  "result": {
    "type": "succeeded",
    "message": {
      "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
      "type": "message",
      ...
    }
  }
}

メッセージバッチのキャンセル

キャンセル直後、バッチのprocessing_statuscancelingになります。キャンセルされたバッチも最終的にended状態になり、結果を含む可能性があるため、バッチ完了のポーリングと同じ手法を使用してキャンセルの完了を確認できます。

JSON
{
  "id": "msgbatch_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message_batch",
  "processing_status": "canceling",
  "request_counts": {
    "processing": 2,
    "succeeded": 0,
    "errored": 0,
    "canceled": 0,
    "expired": 0
  },
  "ended_at": null,
  "created_at": "2024-09-24T18:37:24.100435Z",
  "expires_at": "2024-09-25T18:37:24.100435Z",
  "cancel_initiated_at": "2024-09-24T18:39:03.114875Z",
  "results_url": null
}