|
Документация
Заказать демоПлатформа
ПлатформаMCPCLIAPI
Рабочие процессы
РуководстваЖурнал изменений

Добро пожаловать

  • Обзор
  • Аутентификация
  • Ошибки и коды статуса
  • Подписи webhook

Локализация

  • Обзор
  • Создать задачи
  • Заблокировать непереводимые ключи
  • Отслеживание группы заданий
  • Получить одно задание
  • Список заданий
  • Доставка через вебхук
  • Прогресс в реальном времени (WebSocket)

Пайплайн

  • Обзор
  • AI-редактирование перед локализацией
  • Проверка человеком
  • AI-оценка (post-edit)
  • Перефразирование для естественного звучания
  • Проверка обратным переводом
  • Настройка пайплайна
  • Как отслеживать запуски пайплайна

Развёртывание

  • Обзор
  • Создать задание развёртывания
  • Типы источников
  • Что извлекает AI
  • Доставка webhook
  • Прогресс в реальном времени (WebSocket)

Синхронный

  • Локализация
  • Распознавание

Управление движком

  • Предложения для движка

Создать задание развёртывания

Передайте источники, которые у вас уже есть, — и сразу получите движок. POST /jobs/provisioning принимает имя нового движка и до 10 источников — ссылки для обхода или сырой текст — и возвращает 202 Accepted с ID движка. Ждать, пока ИИ дочитает ваш контент, не нужно: движок появляется сразу, как только приходит ответ, а его конфигурация применяется по мере выполнения задания.

text
POST /jobs/provisioning

На этой странице разобран вызов создания: параметры, формат запроса и ответ 202. Впервые работаете с асинхронным развёртыванием? Начните с обзора Async Provisioning API, чтобы понять общую логику. О том, что считается хорошим источником, читайте на отдельной странице — Типы источников. А что именно ИИ из них извлекает, описано в Что извлекает ИИ.

Аутентификация

Передайте API-ключ в заголовке X-API-Key. Ключи привязаны к организации и дают доступ ко всем движкам внутри неё. Подробнее см. в разделе Аутентификация.

Параметры#

Обязателен только engine.name. Всё остальное определяет, чему будет учиться движок. А если не передавать больше ничего, вы получите чистый движок с настройками по умолчанию.

ПараметрТипОписание
engine.namestringИмя нового движка локализации.
engine.descriptionstring (необязательно)Произвольное текстовое описание движка.
localesstring[] (необязательно)Целевые локали в формате BCP-47, для которых нужно выполнить настройку, например ["es", "ja", "de"].
sourcesarray (необязательно)До 10 источников для анализа. Каждый источник — это либо link (URL, который платформа обходит), либо content (сырой текст или markdown). См. Типы источников.
callbackUrlstring (необязательно)URL HTTPS-вебхука для получения итогового результата. Поддерживается только HTTPS — callback URL на HTTP отклоняются. См. Доставка вебхуков.

Запрос#

Источник — это объект { type, payload }. Для источников link указывайте страницы с реальным контекстом — гайдлайны бренда, стилистические руководства, продуктовую документацию. А content используйте для терминологии и правил тональности, которые можно сразу вставить в запрос. В примере ниже сочетаются оба варианта: две страницы для обхода и один блок явных правил.

javascript
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 движка, который уже можно использовать.

json
{
  "jobId": "pjb_A1b2C3d4E5f6G7h8",
  "engineId": "eng_X1y2Z3a4B5c6D7e8",
  "status": "in_progress"
}
ПолеОписание
jobIdID задания развёртывания (с префиксом pjb_). Отслеживайте выполнение, подключившись по WebSocket и получая прогресс в реальном времени, или получите результат в свой вебхук после завершения.
engineIdID нового движка (с префиксом eng_). Им можно пользоваться сразу — конфигурация, которую извлекает ИИ, применяется к нему по мере выполнения задания.
statusin_progress, если вы передали источники; completed, если нет (см. ниже).

Вот что делает этот асинхронный вызов по-настоящему ценным: engineId возвращается в том же 202 и сразу указывает на реальный движок. Его можно сохранить, отправить через него запрос синхронной локализации или подключить к приложению — ещё до того, как AI прочитает хотя бы один источник. По мере извлечения тональности бренда, элементов глоссария и правил платформа применяет каждый из них к тому же движку — он уже существует, даже если его Конфигурация ещё не готова. Что именно создаёт этот процесс — читайте в разделе Что извлекает AI.

Нет источников? Вы получаете движок без ожидания.

Если не передавать sources, обходить будет нечего, поэтому движок создаётся с конфигурацией модели по умолчанию и возвращается вместе с status: "completed" в том же ответе. Это самый быстрый вариант, если вам нужен пустой движок для самостоятельной настройки: один вызов, готовый engineId и никакого фонового задания, за которым нужно следить.

Что дальше#

Типы источников
Источники link и content, а также что делает источник действительно полезным для анализа.
Что извлекает ИИ
Тональность бренда, элементы глоссария и правила — плюс сводка, которую возвращает задание.
Доставка вебхуков
Получайте итоговый результат на свой callback URL и проверяйте подпись.

Эта страница была полезной?

Max PrilutskiyMax Prilutskiy·Обновлено 8 дней назад·4 минуты чтения