Передайте источники, которые у вас уже есть, — и сразу получите движок. POST /jobs/provisioning принимает имя нового движка и до 10 источников — ссылки для обхода или сырой текст — и возвращает 202 Accepted с ID движка. Ждать, пока ИИ дочитает ваш контент, не нужно: движок появляется сразу, как только приходит ответ, а его конфигурация применяется по мере выполнения задания.
POST /jobs/provisioningНа этой странице разобран вызов создания: параметры, формат запроса и ответ 202. Впервые работаете с асинхронным развёртыванием? Начните с обзора Async Provisioning API, чтобы понять общую логику. О том, что считается хорошим источником, читайте на отдельной странице — Типы источников. А что именно ИИ из них извлекает, описано в Что извлекает ИИ.
Аутентификация
Передайте API-ключ в заголовке X-API-Key. Ключи привязаны к организации и дают доступ ко всем движкам внутри неё. Подробнее см. в разделе Аутентификация.
Параметры#
Обязателен только engine.name. Всё остальное определяет, чему будет учиться движок. А если не передавать больше ничего, вы получите чистый движок с настройками по умолчанию.
| Параметр | Тип | Описание |
|---|---|---|
engine.name | string | Имя нового движка локализации. |
engine.description | string (необязательно) | Произвольное текстовое описание движка. |
locales | string[] (необязательно) | Целевые локали в формате BCP-47, для которых нужно выполнить настройку, например ["es", "ja", "de"]. |
sources | array (необязательно) | До 10 источников для анализа. Каждый источник — это либо link (URL, который платформа обходит), либо content (сырой текст или markdown). См. Типы источников. |
callbackUrl | string (необязательно) | URL HTTPS-вебхука для получения итогового результата. Поддерживается только HTTPS — callback URL на HTTP отклоняются. См. Доставка вебхуков. |
Запрос#
Источник — это объект { type, payload }. Для источников link указывайте страницы с реальным контекстом — гайдлайны бренда, стилистические руководства, продуктовую документацию. А content используйте для терминологии и правил тональности, которые можно сразу вставить в запрос. В примере ниже сочетаются оба варианта: две страницы для обхода и один блок явных правил.
const response = await fetch("https://api.lingo.dev/jobs/provisioning", {
method: "POST",
headers: {
"X-API-Key": process.env.LINGO_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
engine: {
name: "Acme Corp Engine",
description: "Production localization engine for acme.com",
},
locales: ["de", "fr", "ja", "es"],
sources: [
{ type: "link", payload: "https://acme.com/brand-guidelines" },
{ type: "link", payload: "https://acme.com/docs/style-guide" },
{
type: "content",
payload:
"Brand name 'Acme' is never translated. Use formal tone in German (Sie-form). Product names: AcmeFlow, AcmeSync, AcmeVault - always keep in English.",
},
],
callbackUrl: "https://your-app.com/webhooks/provisioning",
}),
});
const { jobId, engineId, status } = await response.json();
// 202 back right away.
// status: "in_progress" – the AI is reading your sources.
console.log(engineId); // "eng_X1y2Z3a4B5c6D7e8" – usable right nowОтвет (202 Accepted)#
Вызов возвращается без ожидания завершения обхода и анализа: вы сразу получаете ID задания для отслеживания и ID движка, который уже можно использовать.
{
"jobId": "pjb_A1b2C3d4E5f6G7h8",
"engineId": "eng_X1y2Z3a4B5c6D7e8",
"status": "in_progress"
}| Поле | Описание |
|---|---|
jobId | ID задания развёртывания (с префиксом pjb_). Отслеживайте выполнение, подключившись по WebSocket и получая прогресс в реальном времени, или получите результат в свой вебхук после завершения. |
engineId | ID нового движка (с префиксом eng_). Им можно пользоваться сразу — конфигурация, которую извлекает ИИ, применяется к нему по мере выполнения задания. |
status | in_progress, если вы передали источники; completed, если нет (см. ниже). |
Вот что делает этот асинхронный вызов по-настоящему ценным: engineId возвращается в том же 202 и сразу указывает на реальный движок. Его можно сохранить, отправить через него запрос синхронной локализации или подключить к приложению — ещё до того, как AI прочитает хотя бы один источник. По мере извлечения тональности бренда, элементов глоссария и правил платформа применяет каждый из них к тому же движку — он уже существует, даже если его Конфигурация ещё не готова. Что именно создаёт этот процесс — читайте в разделе Что извлекает AI.
Нет источников? Вы получаете движок без ожидания.
Если не передавать sources, обходить будет нечего, поэтому движок создаётся с конфигурацией модели по умолчанию и возвращается вместе с status: "completed" в том же ответе. Это самый быстрый вариант, если вам нужен пустой движок для самостоятельной настройки: один вызов, готовый engineId и никакого фонового задания, за которым нужно следить.
