|
Documentação
Agende uma demoPlataforma
PlataformaMCPCLIAPI
Workflows
GuiasChangelog

Boas-vindas

  • Visão geral
  • Autenticação
  • Erros e códigos de status
  • Assinaturas de webhook

Localização

  • Visão geral
  • Criar jobs
  • Bloquear chaves não traduzíveis
  • Acompanhar um grupo de jobs
  • Buscar um job
  • Listar jobs
  • Entrega de webhook
  • Progresso em tempo real (WebSocket)

Pipeline

  • Visão geral
  • Edição por IA antes da localização
  • Revisão humana
  • avaliação por IA (pós-edição)
  • Reescreva para soar natural
  • Verificação por retradução
  • Configure o pipeline
  • Acompanhe execuções do pipeline

Provisionamento

  • Visão geral
  • Criar um job de provisionamento
  • Tipos de fonte
  • O que a IA extrai
  • Entrega de webhook
  • Progresso em tempo real (WebSocket)

Síncrono

  • Localize
  • Recognize

Gerenciamento do engine

  • Sugestões do engine

Criar um job de provisionamento

Envie as fontes que você já tem e receba uma engine de volta. POST /jobs/provisioning aceita um nome para uma nova engine e até 10 fontes — links para crawl ou texto bruto — e retorna 202 Accepted com o ID da engine. Você não precisa esperar a IA terminar de ler seu conteúdo: a engine passa a existir no momento em que a chamada retorna, e a configuração vai sendo aplicada conforme o job é executado.

text
POST /jobs/provisioning

Esta página cobre a chamada de criação: seus parâmetros, o formato da requisição e a resposta 202. Está começando com provisionamento assíncrono? Comece pela Visão geral da API de provisionamento assíncrono para entender o modelo mental. O que faz de uma fonte uma boa fonte tem sua própria página — Tipos de fonte — e o que a IA extrai delas está em O que a IA extrai.

Autenticação

Passe sua chave de API no cabeçalho X-API-Key. As chaves têm escopo de organização e dão acesso a toda engine da organização. Consulte Autenticação para mais detalhes.

Parâmetros#

Apenas engine.name é obrigatório. Todo o restante define o que a engine aprende — ou, se você omitir tudo, deixa você com uma engine limpa nas configurações padrão.

ParâmetroTipoDescrição
engine.namestringNome da nova engine de localização.
engine.descriptionstring (opcional)Descrição em texto livre da engine.
localesstring[] (opcional)idiomas de destino em BCP-47 para configurar, por exemplo, ["es", "ja", "de"].
sourcesarray (opcional)Até 10 fontes para analisar. Cada uma pode ser um link (uma URL que a plataforma rastreia) ou content (texto bruto ou markdown). Consulte Tipos de fonte.
callbackUrlstring (opcional)URL de webhook HTTPS para o resultado final. Apenas HTTPS — URLs de callback HTTP são rejeitadas. Consulte Entrega de webhook.

Requisição#

Uma fonte é um objeto { type, payload }. Aponte fontes link para páginas com contexto real — diretrizes da marca, guias de estilo, documentação do produto — e use content para terminologia e regras de tom que você pode colar diretamente. A requisição abaixo mistura os dois: duas páginas para rastrear e um bloco de regras explícitas.

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

Resposta (202 Accepted)#

A chamada retorna sem esperar o crawl ou a análise — ela devolve um ID de job para acompanhamento e um ID de engine que já fica ativo a partir desse momento.

json
{
  "jobId": "pjb_A1b2C3d4E5f6G7h8",
  "engineId": "eng_X1y2Z3a4B5c6D7e8",
  "status": "in_progress"
}
CampoDescrição
jobIdID do job de provisionamento (prefixo pjb_). Acompanhe o job conectando um WebSocket para ver o progresso em tempo real ou receba o resultado no seu webhook quando ele terminar.
engineIdID da nova engine (prefixo eng_). Pode ser usado imediatamente — a configuração que a IA extrai é aplicada a ela conforme o job é executado.
statusin_progress quando você fornece fontes; completed quando não fornece (veja abaixo).

O detalhe que faz esta chamada assíncrona valer a pena, em vez de simplesmente esperar, é que engineId volta no mesmo 202 e já aponta para uma engine real. Você pode armazená-lo, enviar uma requisição de Localize síncrono por meio dela ou conectá-la ao seu app antes mesmo de a IA terminar de ler uma única fonte. À medida que voz da marca, itens de glossário e instruções são extraídos, a plataforma aplica cada um deles a essa mesma engine — a engine existe antes da configuração. Para saber exatamente o que o job criou, leia O que a IA extrai.

Sem fontes? Você recebe uma engine, não uma espera.

Se você omitir sources, não haverá nada para rastrear, então a engine será criada com a configuração padrão do modelo e retornada com status: "completed" na mesma resposta. Esse é o caminho mais rápido quando você quer uma engine vazia para configurar por conta própria — uma chamada, um engineId pronto, sem job em segundo plano para acompanhar.

Próximos passos#

Tipos de fonte
Fontes de link vs. conteúdo e o que faz uma fonte valer a pena ser analisada.
O que a IA extrai
voz da marca, itens de glossário e instruções — além do resumo que o job retorna.
Entrega de webhook
Receba o resultado final na sua URL de callback e verifique a assinatura.

Esta página foi útil?

Max PrilutskiyMax Prilutskiy·Atualizado há 12 dias·4 min de leitura