---
title: "private-order.task.{orderId}"
url: https://lumean.app/developers/docs/realtime/order-task
locale: ru
description: "События одного заказа. Чужой заказ недоступен: авторизация подписки вернёт `403`."
generated: 2026-11-08
scopes: [orders.read]
spec_version: 1.0.0
---

# private-order.task.{orderId}

События одного заказа. Чужой заказ недоступен: авторизация подписки вернёт `403`.

- Право ключа: `orders.read`

## Параметры канала

| Поле | Тип | Описание | Пример |
| --- | --- | --- | --- |
| `orderId` | `uuid` | UUID из ответа `POST /orders`. | `01a0d8c6-86d3-70b5-a86e-5a12b1d860df` |

## События

### `.paragraph_regenerate.completed` — Paragraph regenerate completed

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order_id` | `string` | обяз. |  |
| `paragraph_index` | `integer` | обяз. |  |
| `created_count` | `integer` | обяз. |  |
| `failed_count` | `integer` | обяз. |  |

### `.order.queue.updated` — Order queue updated

Сдвинулось место заказа в очереди исполнителей — для всех типов задач, кроме `voice_search`. `queue_position` — сколько заказов стоит впереди, `0` — следующий; `null` — заказ вышел из очереди (исполнитель взял его в работу или заказ отменён), бейдж очереди пора убрать. Приходит только при изменении позиции, не чаще раза в ~2 с; сдвиги в зоне от 100 заказов не рассылаются — точное число в `GET /orders/{order}`. Позиция считается в заказах, а не в людях; несколько исполнителей берут задачи одновременно, поэтому число может уменьшаться скачками и работа может начаться при позиции больше нуля. `queue_wait_seconds` всегда `null`. Пропущенный кадр не повторяется: после переподключения перечитайте заказ по REST.

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order_id` | `string` | обяз. |  |
| `queue_position` | `integer \| null` | обяз. |  |
| `queue_wait_seconds` | `integer \| null` | обяз. |  |

### `.voice_search.queue.updated` — Voice search queue updated

Сдвинулась очередь поиска голоса — только для заказов `voice_search`, которые проверяются по одному. `queue_position` — сколько заказов стоит впереди, `0` — ваш заказ обрабатывается сейчас. `queue_wait_seconds` — оценка ожидания в секундах (оценка, а не обещание) или `null`, пока нет статистики. Те же значения приходят в полях заказа в REST.

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order_id` | `string` | обяз. |  |
| `queue_position` | `integer` | обяз. |  |
| `queue_wait_seconds` | `integer \| null` | обяз. |  |

### `.bulk_retry.completed` — Bulk retry completed

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order_id` | `string` | обяз. |  |
| `created_count` | `integer` | обяз. |  |
| `failed_count` | `integer` | обяз. |  |

### `.renamed` — Renamed

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order` | `object` | обяз. |  |
| `order.id` | `string` | обяз. |  |
| `order.user_id` | `integer` | обяз. |  |
| `order.name` | `string \| null` | обяз. |  |
| `order.template` | `object` | обяз. |  |
| `order.template.id` | `string` | обяз. |  |
| `order.template.user_id` | `integer` | обяз. |  |
| `order.template.slug` | `string` | обяз. |  |
| `order.template.name` | `string` | обяз. |  |
| `order.template.service_key` | `string` | обяз. |  |
| `order.template.service` | `object \| null` | обяз. | Может прийти пустым (`null`). |
| `order.template.config` | `array<object>` | обяз. |  |
| `order.template.is_public` | `boolean` | обяз. |  |
| `order.template.folder_id` | `string \| null` | обяз. | Может прийти пустым (`null`). |
| `order.template.created_at` | `string (date-time)` | обяз. |  |
| `order.template.updated_at` | `string (date-time)` | обяз. |  |
| `order.template_id` | `string` | обяз. |  |
| `order.task_type` | `string` — `tts` · `image` · `txt2img` · `remix` · `image_edit` · `voice_clone` · `sfx` · `music` · `voice_search` · `cartesia_dub` · `elevenlabs_dub` | обяз. |  |
| `order.status` | `string` — `created` · `pending` · `in_progress` · `completed` · `result_delivered` · `failed` · `compensated` · `cancelled` · `partially_completed` | обяз. |  |
| `order.price_units` | `number` | обяз. |  |
| `order.price_formatted` | `number` | обяз. |  |
| `order.currency_asset` | `object` | обяз. |  |
| `order.currency_asset.id` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.currency_asset.code` | `string` | обяз. |  |
| `order.currency_asset.kind` | `string \| null` | обяз. | Может прийти пустым (`null`). |
| `order.currency_asset.precision` | `integer` | обяз. |  |
| `order.currency_asset.name` | `string \| null` | обяз. | Может прийти пустым (`null`). |
| `order.currency_asset.deleted_at` | `string (date-time) \| null` | обяз. |  |
| `order.currency_asset.created_at` | `string (date-time) \| null` | обяз. |  |
| `order.currency_asset.updated_at` | `string (date-time) \| null` | обяз. |  |
| `order.total_tokens` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.total_duration_ms` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.tokens_from_quota` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.tokens_from_payg` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.tokens_spent` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.task_data` | `object \| null` | обяз. | Может прийти пустым (`null`). |
| `order.result` | `object \| null` | обяз. | Может прийти пустым (`null`). |
| `order.created_at` | `string (date-time)` | обяз. |  |
| `order.updated_at` | `string (date-time)` | обяз. |  |
| `order.files_expire_at` | `string (date-time) \| null` | обяз. |  |
| `order.files_expired` | `boolean` | обяз. |  |
| `order.retention` | `object` | обяз. |  |
| `order.retention.chunks` | `object` | обяз. |  |
| `order.retention.chunks.expires_at` | `string (date-time) \| null` | обяз. |  |
| `order.retention.chunks.expired` | `boolean` | обяз. |  |
| `order.retention.chunks.expires_early` | `boolean` | обяз. |  |
| `order.retention.chunks.reason` | `string \| null` | обяз. | Может прийти пустым (`null`). |
| `order.retention.files` | `object` | обяз. |  |
| `order.retention.files.expires_at` | `string (date-time) \| null` | обяз. |  |
| `order.retention.files.expired` | `boolean` | обяз. |  |
| `order.eta_seconds` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.eta_at` | `string (date-time) \| null` | обяз. |  |
| `order.completed_chunks` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.total_chunks` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.progress_percent` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `order.stitching` | `boolean` | обяз. |  |
| `order.paragraphs` | `array<object> \| null` | обяз. | Может прийти пустым (`null`). |

### `.status.changed` — Status changed

Сменился статус заказа.

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order` | `object` | обяз. | Снимок заказа без списка чанков — изменения по каждому чанку приходят отдельными событиями `item.status.changed`. |
| `items_summary` | `object` | обяз. | Сводка по чанкам заказа вместо полного списка. |
| `items_summary.total` | `integer` | обяз. |  |
| `items_summary.by_status` | `object<string, integer>` | обяз. | Сколько чанков в каждом статусе: `pending`, `processing`, `completed`, `failed`, `policy_flagged`. |
| `previous_status` | `string` — `created` · `pending` · `in_progress` · `completed` · `result_delivered` · `failed` · `compensated` · `cancelled` · `partially_completed` | обяз. |  |
| `new_status` | `string` — `created` · `pending` · `in_progress` · `completed` · `result_delivered` · `failed` · `compensated` · `cancelled` · `partially_completed` | обяз. |  |

### `.item.status.changed` — Item status changed

Сменился статус чанка заказа.

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `item` | `object` | обяз. | Индекс чанка, его статус, путь к файлу результата и длительность аудио. |
| `item.id` | `string (uuid)` | — |  |
| `item.chunk_index` | `integer \| null` | — |  |
| `item.status` | `string` — `pending` · `processing` · `completed` · `failed` · `policy_flagged` | — |  |
| `item.result_file` | `object \| null` | — |  |
| `item.duration_ms` | `integer \| null` | — |  |
| `previous_status` | `string` | обяз. |  |
| `new_status` | `string` | обяз. |  |
| `completed_chunks` | `integer` | — |  |
| `total_chunks` | `integer` | — |  |
| `progress_percent` | `integer` | — |  |
| `stitching` | `boolean` | — | Идёт ли склейка аудио заказа. Последний готовый чанк многочанкового заказа означает начало склейки, а не готовность: при `true` результат ещё не финальный. |

### `.stitch.changed` — Stitch changed

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `order_id` | `string` | обяз. |  |
| `order_status` | `string` | обяз. |  |
| `stitching` | `boolean` | обяз. |  |
| `stitch` | `object` | обяз. |  |
| `stitch.id` | `string` | обяз. |  |
| `stitch.status` | `string` | обяз. |  |
| `stitch.paragraph_index` | `integer \| null` | обяз. | Может прийти пустым (`null`). |
| `stitch.restitch` | `boolean` | обяз. |  |

### `.progress` — Progress

Прогресс выполнения заказа в реальном времени.

**Payload**

| Поле | Тип | Обяз. | Описание |
| --- | --- | --- | --- |
| `task_id` | `string (uuid)` | обяз. | UUID заказа — совпадает с `{orderId}` канала. |
| `progress` | `number` | обяз. | Поле сохранено для совместимости и **не отражает прогресс** — ориентируйтесь на события `progress` канала заказов или на `eta_seconds`. |
| `chunks_done` | `integer` | обяз. | Поле сохранено для совместимости и **не отражает число готовых частей** — считайте готовность по событиям `item.status.changed`. |
| `chunks_total` | `integer` | обяз. | Всего частей в заказе. |
| `duration_seconds` | `number` | — | Сколько секунд задача уже выполняется. Это прошедшее время, а не оставшееся. |
| `eta_seconds` | `integer \| null` | — | Оценка оставшегося времени в секундах. Считается по статистике сервиса на стороне API. |
| `eta_confidence` | `string \| null` — `high` · `medium` · `low` · `null` | — | Насколько можно доверять оценке: `high` — статистика по чанкам такого же размера, `medium` — по сервису в целом, `low` — данных мало, показывайте оценку со знаком «≈». |
| `timestamp` | `string (date-time)` | — |  |

---

- Эта же страница в браузере: https://lumean.app/developers/docs/realtime/order-task
- Машинный справочник целиком: https://api.lumean.app/docs/llm.md
