# General Translation Platform: Постановка переводов в очередь URL: https://generaltranslation.com/ru/docs/platform/openapi/reference/translation/queue.mdx --- title: Постановка переводов в очередь description: Поставьте загруженные исходные файлы в очередь на фоновый перевод в проекте General Translation. Справочник API по постановке переводов в очередь. method: POST --- Добавляет в очередь фоновые задачи перевода для уже загруженных исходных файлов. Укажите до 100 файлов и целевые локали, на которые их нужно перевести. ## Обзор [#overview] ```http POST https://api2.gtx.dev/v2/project/translations/enqueue ``` **Разрешение** `project:translations:enqueue` · **Лимит запросов** Высокий (30/мин) Запустите фоновый перевод загруженных файлов. Сначала загрузите файлы с помощью [Загрузить исходные файлы](/docs/platform/openapi/reference/files/upload-source), затем отслеживайте созданные задачи с помощью [Получить статус задачи перевода](/docs/platform/openapi/reference/translation/job-status). ## Как это работает [#how-it-works] * Каждый указанный исходный файл уже должен существовать. Если какие-либо исходные файлы отсутствуют, это будет указано в ответе `400` в списке `missing` и значении `count`. * Если `branchId` не указан, используется ветка по умолчанию. Установите `transformFormat`, чтобы преобразовать файл в другой формат выходного файла. * Если `targetLocales` не указан, используются локали, настроенные в Project. Файлы, уже переведённые для локали, пропускаются, если только `force` не равно `true`. * Формат ответа зависит от версии API, переданной через заголовок `gt-api-version`. Версия `2025-11-03.v1` и более поздние возвращают `jobData`, сгруппированные по задачам. См. [versioning в разделе Обзор](/docs/platform/openapi/overview#api-basics). ## Запрос [#request] ### Заголовки | Заголовок | Описание | Обязательно | | ----------------- | ------------------------------------------------------------ | ----------- | | `x-gt-api-key` | API-ключ проекта или организации. | Да | | `x-gt-project-id` | ID проекта. Обязательно при использовании ключа организации. | Нет | ### Тело **Тип содержимого** `application/json` | Поле | Описание | Тип | Необязательно | По умолчанию | | ----------------- | ---------------------------------------------------- | ---------- | ------------- | --------------------------- | | [`files`](#files) | Исходные файлы для перевода (1–100). | `object[]` | Нет | — | | `targetLocales` | Локали, на которые нужно перевести файлы. | `string[]` | Да | Локали проекта | | `sourceLocale` | Исходная локаль файлов. | `string` | Да | Локаль проекта по умолчанию | | `force` | Заново перевести файлы, у которых уже есть переводы. | `boolean` | Да | `false` | | `modelProvider` | Провайдер модели, используемый для перевода. | `string` | Да | — | | `publish` | Опубликовать итоговые переводы в CDN. | `boolean` | Да | — | #### `files` [#files] **Тип** `object[]` · **Обязательно** Каждый элемент указывает на один загруженный исходный файл: | Поле | Описание | Тип | Необязательно | По умолчанию | | ----------------- | ------------------------------------------------------- | -------- | ------------- | ---------------------- | | `fileId` | Постоянный идентификатор файла; обязателен. | `string` | Нет | — | | `versionId` | Идентификатор версии; обязателен. | `string` | Нет | — | | `branchId` | Ветка, к которой привязан файл. | `string` | Да | Ветка по умолчанию | | `fileName` | Имя файла. | `string` | Да | — | | `transformFormat` | Формат выходного файла, в который нужно перевести файл. | `string` | Да | Формат исходного файла | ## Ответ [#response] **Статус** `200 OK` ```json title="Response" { "jobData": { "job_...": { "sourceFileId": "sf_...", "fileId": "file_...", "versionId": "ver_...", "branchId": "br_...", "targetLocale": "es", "projectId": "prj_...", "force": false } }, "locales": ["es", "fr"], "message": "Enqueued 2 translation(s)." } ``` ## Ошибки [#errors] | Статус | Причина | | ------ | ---------------------------------------------------------------------------------------------------------------------------- | | `400` | Недопустимое тело запроса, недопустимая локаль или указанные исходные файлы не найдены (возвращается с `missing` и `count`). | | `401` | Отсутствует API-ключ или указан недопустимый API-ключ. | | `403` | У API-ключа нет разрешения `project:translations:enqueue`. | | `429` | Превышен лимит запросов. | ## Пример [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/translations/enqueue \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '{ "files": [ { "fileId": "file_...", "versionId": "ver_..." } ], "targetLocales": ["es", "fr"] }' ```