A API de Lotes de Mensagens suporta o mesmo conjunto de recursos que a API de Mensagens. Embora esta página se concentre em como usar a API de Lotes de Mensagens, consulte exemplos da API de Mensagens para exemplos do conjunto de recursos da API de Mensagens.

Criando um Lote de Mensagens

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
}

Consultando a conclusão do Lote de Mensagens

Para consultar um Lote de Mensagens, você precisará do seu id, que é fornecido na resposta ao criar a requisição ou ao listar os lotes. Exemplo de id: msgbatch_013Zva2CMHLNnXjNJJKqJ2EF.

Listando todos os Lotes de Mensagens em um Workspace

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

Recuperando Resultados do Lote de Mensagens

Quando o status do seu Lote de Mensagens estiver ended, você poderá ver a results_url do lote e recuperar os resultados na forma de um arquivo .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",
      ...
    }
  }
}

Cancelando um Lote de Mensagens

Imediatamente após o cancelamento, o processing_status de um lote será canceling. Você pode usar a mesma técnica de consulta de conclusão do lote para verificar quando o cancelamento for finalizado, já que os lotes cancelados também terminam como ended e podem conter resultados.

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
}