提交你现成的来源,直接拿到一个引擎。POST /jobs/provisioning 接收新引擎名称和最多 10 个来源——可以是待抓取的链接,也可以是原始文本——并返回包含引擎 ID 的 202 Accepted。你无需等待 AI 读完内容:调用一返回,引擎就已经存在,配置则会随着作业运行逐步应用。
POST /jobs/provisioning本页介绍这个创建接口:参数、请求结构,以及 202 响应。刚接触异步预配?建议先看 异步预配 API 概览,建立整体认知。什么样的来源才值得分析,有单独页面说明——来源类型——至于 AI 会从中提取什么,则见 AI 提取的内容。
身份验证
请在 X-API-Key 请求头中传入你的 API 密钥。密钥的作用域为组织级,可访问该组织下的所有引擎。详情请参阅 身份验证。
参数#
只有 engine.name 是必填项。其余参数决定引擎要学习什么;如果全部省略,你会得到一个采用默认配置的空白引擎。
| 参数 | 类型 | 说明 |
|---|---|---|
engine.name | string | 新本地化引擎的名称。 |
engine.description | string(可选) | 引擎的自由文本描述。 |
locales | string[](可选) | 要配置的 BCP-47 目标语言区域,例如 ["es", "ja", "de"]。 |
sources | array(可选) | 最多 10 个待分析来源。每个来源可以是 link(由平台抓取的 URL)或 content(原始文本或 markdown)。参见 来源类型。 |
callbackUrl | string(可选) | 用于接收完成结果的 HTTPS webhook URL。仅支持 HTTPS——HTTP 回调 URL 会被拒绝。参见 Webhook 投递。 |
请求#
来源是一个 { 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 查看实时进度来跟踪作业,或在完成后通过你的 webhook 接收结果。 |
engineId | 新引擎的 ID(前缀为 eng_)。可立即使用——AI 提取出的配置会在作业运行过程中持续应用到这个引擎上。 |
status | 提供来源时为 in_progress;未提供时为 completed(见下文)。 |
这个异步调用真正值得用、而不是傻等的关键在于:engineId 会在同一个 202 响应中返回,而且立刻对应一个真实存在的引擎。你可以先保存它,用它发送 同步 Localize 请求,或者在 AI 还没读完任何来源之前就把它接入应用。随着品牌语气、词汇表条目和指令被逐步提取,平台会将它们一项项应用到同一个引擎上——也就是说,引擎先存在,配置后到位。想准确了解作业最终创建了什么,请参阅 AI 提取的内容。
没有来源?拿到的是引擎,不是等待。
省略 sources 后,就没有任何内容需要抓取,因此系统会使用默认模型配置创建引擎,并在同一响应中以 status: "completed" 返回。如果你想先拿到一个空引擎再自行配置,这是最快路径——一次调用、一个可立即使用的 engineId,无需跟踪任何后台作业。
