L’API dei Batch di Messaggi supporta lo stesso set di funzionalità dell’API dei Messaggi. Mentre questa pagina si concentra su come utilizzare l’API dei Batch di Messaggi, consulta Esempi dell’API dei Messaggi per esempi delle funzionalità dell’API dei Messaggi.

Creazione di un Batch di Messaggi

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 per il completamento del Batch di Messaggi

Per effettuare il polling di un Batch di Messaggi, avrai bisogno del suo id, che viene fornito nella risposta durante la creazione della richiesta o elencando i batch. Esempio di id: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF.

Elenco di tutti i Batch di Messaggi in un Workspace

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

Recupero dei Risultati del Batch di Messaggi

Una volta che lo stato del tuo Batch di Messaggi è ended, potrai visualizzare l’results_url del batch e recuperare i risultati sotto forma di 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",
      ...
    }
  }
}

Annullamento di un Batch di Messaggi

Immediatamente dopo l’annullamento, lo processing_status di un batch sarà canceling. Puoi utilizzare la stessa tecnica di polling per il completamento del batch per verificare quando l’annullamento è finalizzato, poiché i batch annullati finiscono anche loro nello stato ended e potrebbero contenere risultati.

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
}