API Batch Pesan mendukung fitur yang sama dengan API Pesan. Meskipun halaman ini berfokus pada cara menggunakan API Batch Pesan, lihat contoh API Pesan untuk contoh fitur API Pesan.

Membuat Batch Pesan

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
}

Polling untuk Penyelesaian Batch Pesan

Untuk melakukan polling pada Batch Pesan, Anda memerlukan id-nya, yang disediakan dalam respons saat membuat permintaan atau dengan mendaftar batch. Contoh id: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF.

Mendaftar Semua Batch Pesan dalam Workspace

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

Mengambil Hasil Batch Pesan

Setelah status Batch Pesan Anda ended, Anda akan dapat melihat results_url dari batch dan mengambil hasil dalam bentuk file .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",
      ...
    }
  }
}

Membatalkan Batch Pesan

Segera setelah pembatalan, status pemrosesan batch akan menjadi canceling. Anda dapat menggunakan teknik polling untuk penyelesaian batch yang sama untuk melakukan polling kapan pembatalan selesai karena batch yang dibatalkan juga akan berakhir dengan status ended dan mungkin berisi hasil.

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
}