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",
      ...
    }
  }
}

Отмена пакета сообщений

Сразу после отмены статус обработки пакета будет canceling. Вы можете использовать тот же метод опроса завершения пакета для отслеживания момента завершения отмены, так как отмененные пакеты также получают статус 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
}