Submeta as fontes que já tem e receba um motor de volta. POST /jobs/provisioning aceita um nome para um novo motor e até 10 fontes — links para rastrear ou texto simples — e devolve 202 Accepted com o ID do motor. Não tem de esperar que a IA acabe de ler o seu conteúdo: o motor existe no momento em que a chamada devolve, e a respetiva configuração é aplicada à medida que a tarefa decorre.
POST /jobs/provisioningEsta página cobre a chamada de criação: os parâmetros, o formato do pedido e a resposta 202. É novo no aprovisionamento assíncrono? Comece pela Visão geral da API de Aprovisionamento Assíncrono para perceber o modelo. O que conta como uma boa fonte tem página própria — Tipos de fonte — e o que a IA extrai dessas fontes está em O que a IA extrai.
Autenticação
Passe a sua chave de API no cabeçalho X-API-Key. As chaves têm âmbito ao nível da organização e dão acesso a todos os motores da organização. Consulte Autenticação para mais detalhes.
Parâmetros#
Só engine.name é obrigatório. Tudo o resto molda o que o motor aprende — ou, se omitir tudo, fica com um motor limpo com as predefinições.
| Parâmetro | Tipo | Descrição |
|---|---|---|
engine.name | string | Nome do novo motor de localização. |
engine.description | string (opcional) | Descrição em texto livre para o motor. |
locales | string[] (opcional) | Idiomas de destino BCP-47 a configurar, por exemplo ["es", "ja", "de"]. |
sources | array (opcional) | Até 10 fontes para analisar. Cada uma é um link (um URL que a plataforma rastreia) ou content (texto simples ou markdown). Consulte Tipos de fonte. |
callbackUrl | string (opcional) | URL HTTPS do webhook para o resultado final. Apenas HTTPS — URLs de callback HTTP são rejeitados. Consulte Entrega de webhook. |
Pedido#
Uma fonte é um objeto { type, payload }. Aponte as fontes link para páginas com contexto real — diretrizes da marca, guias de estilo, documentação do produto — e use content para regras de terminologia e tom que pode colar diretamente. O pedido abaixo combina ambos: duas páginas para rastrear e um bloco de regras explícitas.
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 nowResposta (202 Accepted)#
A chamada devolve sem esperar pelo rastreio nem pela análise — entrega-lhe um ID de tarefa para acompanhar e um ID de motor que fica ativo a partir desse momento.
{
"jobId": "pjb_A1b2C3d4E5f6G7h8",
"engineId": "eng_X1y2Z3a4B5c6D7e8",
"status": "in_progress"
}| Campo | Descrição |
|---|---|
jobId | ID da tarefa de aprovisionamento (prefixo pjb_). Acompanhe a tarefa ligando um WebSocket para progresso em direto, ou receba o resultado no seu webhook quando terminar. |
engineId | ID do novo motor (prefixo eng_). Pode ser usado de imediato — a configuração que a IA extrai é aplicada a esse motor à medida que a tarefa decorre. |
status | in_progress quando fornece fontes; completed quando não fornece (ver abaixo). |
O detalhe que faz desta uma chamada assíncrona que vale a pena, em vez de ficar à espera: engineId volta no mesmo 202 e aponta desde logo para um motor real. Pode guardá-lo, enviar um pedido Localize síncrono através dele ou integrá-lo na sua aplicação antes de a IA ter acabado de ler uma única fonte. À medida que as vozes da marca, os itens do glossário e as instruções vão sendo extraídos, a plataforma aplica cada um deles a esse mesmo motor — o motor existe antes de a configuração estar concluída. Para saber exatamente o que a tarefa criou, leia O que a IA extrai.
Sem fontes? Recebe um motor, não uma espera.
Se omitir sources, não há nada para rastrear, por isso o motor é criado com a configuração predefinida do modelo e devolvido com status: "completed" na mesma resposta. Este é o caminho mais rápido quando quer um motor vazio para configurar por si — uma chamada, um engineId pronto a usar, nenhuma tarefa em segundo plano para acompanhar.
