|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLIAPI
Workflows
NávodyChangelog

Vítejte

  • Přehled
  • Autentizace
  • Chyby a stavové kódy
  • Podpisy webhooků

Lokalizace

  • Přehled
  • Vytvořit úlohy
  • Uzamčení nepřekládaných klíčů
  • Sledování skupiny úloh
  • Získání jednoho jobu
  • Seznam úloh
  • Doručování webhooků
  • Průběh v reálném čase (WebSocket)

Pipeline

  • Přehled
  • AI úprava před lokalizací
  • Lidská kontrola
  • AI hodnocení (post-edit)
  • Úprava do přirozeného znění
  • Kontrola zpětného překladu
  • Nastavení pipeline
  • Sledujte běhy pipeline

Provisioning

  • Přehled
  • Vytvoření provisioning jobu
  • Typy zdrojů
  • Co AI extrahuje
  • Doručování webhooků
  • Průběh v reálném čase (WebSocket)

Synchronní

  • Localize
  • Rozpoznání

Správa engine

  • Návrhy engine

Seznam úloh

Webhooky a živý WebSocket vám dají vědět o úloze ve chvíli, kdy se dokončí. Jenže ani jedno nepomůže druhý den ráno, po nasazení nebo když potřebujete všechny jazyky, které za poslední hodinu selhaly. Ta chvíle už je pryč; událost je minulostí. Úlohy ale ne – každá z nich zůstává na platformě jako trvalý záznam ještě dlouho poté, co proces, který ji odeslal, doběhl dál.

GET /jobs/localization je způsob, jak se k těmto záznamům vrátit. Vrací vaše úlohy od nejnovějších, po stránkách procházených pomocí kurzoru, a umožňuje je zúžit podle engine, na kterém běžely, nebo podle stavu, v jakém skončily. Tohle je kanál pro dohledání: trvalý záznam, na který se ptáte, když jste nesledovali živé dění.

text
GET /jobs/localization

S async lokalizací teprve začínáte? Začněte s Přehled. Tato stránka předpokládá, že už máte úlohy, kterými se chcete probrat. Stejně jako každý endpoint se ověřuje pomocí vašeho X-API-Key.

Filtry a stránkování#

text
GET /jobs/localization?engineId=eng_abc123&status=completed&limit=20&cursor=...
ParametrTypPopis
engineIdstring (nepovinné)Vrátí jen úlohy, které běžely na tomto lokalizačním engine (eng_...).
statusstring (nepovinné)Vrátí jen úlohy v tomto stavu: queued, processing, completed, completed_with_warnings nebo failed.
limitnumber (nepovinné)Velikost stránky. Výchozí hodnota je 20, maximum 100.
cursorstring (nepovinné)Neprůhledný kurzor z nextCursor v předchozí odpovědi. Pro první stránku ho vynechte.

Oba filtry jsou nepovinné a dají se kombinovat: engineId=eng_abc123&status=failed vrátí selhané úlohy pro jeden engine a nic navíc. Přesně tak odpovíte na otázku, kterou si při incidentu opravdu položíte – ukaž mi všechno, co na tomto engine selhalo – aniž byste museli stahovat všechny úlohy v organizaci a filtrovat je na straně klienta.

cursor je pozice v proudu výsledků, ne číslo stránky. Nepočítáte ho, dostanete ho. Každá odpověď vrátí nextCursor a vy tuto hodnotu pošlete zpět, abyste načetli další stránku.

Odpověď#

Každá stránka obsahuje pole items a nextCursor. nextCursor je na poslední stránce null – to je ukončovací podmínka vaší smyčky, ne chyba.

json
{
  "items": [
    {
      "id": "ljb_C3d4E5f6G7h8I9j0",
      "groupId": "ljg_A1b2C3d4E5f6G7h8",
      "targetLocale": "ja",
      "status": "completed",
      "warnings": [],
      "createdAt": "2026-03-16T10:30:00.000Z",
      "completedAt": "2026-03-16T10:30:06.000Z"
    }
  ],
  "nextCursor": "eyJ0IjoiMjAyNi0wMy0xNlQxMDozMDowMC4wMDBaIiwiaSI6ImxqYl9CMmMzRDRlNUY2ZzdIOGk5In0"
}

Každá položka je jen souhrn – dost na to, abyste úlohu našli a přečetli si její výsledek: který jazyk, která skupina, jaký stav, kdy byla vytvořena a kdy dokončena. Záměrně neobsahuje přeložený výstup. Pokud chcete získat plné outputData a steps pro jednotlivé fáze jedné z těchto úloh, vezměte její id a zavolejte Získat jednu úlohu. Seznam slouží k nalezení, detail k přečtení.

Neznámé hodnoty status zpracovávejte bez pádů

Pracujte se známými hodnotami status a pro ostatní mějte výchozí větev, místo abyste při neznámé hodnotě shodili konzumenta. Tolerance k nerozpoznané hodnotě je bezpečný výchozí přístup pro jakýkoli řetězcový enum, který nevlastníte – udrží váš reader v chodu, místo aby vyhazoval chybu při vstupu, který neumí zařadit.

Projděte všechny výsledky po stránkách#

Ukončovací podmínka je tady to hlavní: pokračujte v požadavcích, dokud se nextCursor nevrátí jako null. Předejte nextCursor z jedné odpovědi jako cursor v další a smyčka se ukončí sama.

javascript
async function listFailedJobs(engineId) {
  const failed = [];
  let cursor = undefined; // first page: no cursor

  do {
    const url = new URL("https://api.lingo.dev/jobs/localization");
    url.searchParams.set("engineId", engineId);
    url.searchParams.set("status", "failed");
    url.searchParams.set("limit", "100"); // fewer round-trips
    if (cursor) url.searchParams.set("cursor", cursor);

    const response = await fetch(url, {
      headers: { "X-API-Key": process.env.LINGO_API_KEY },
    });

    const { items, nextCursor } = await response.json();
    failed.push(...items);
    cursor = nextCursor; // null on the last page -> loop ends
  } while (cursor);

  return failed; // every failed job for this engine
}

Když zvýšíte limit na 100, snížíte počet round-tripů u velkého backlogu; výsledek se nezmění, jen počet stránek, které musíte projít. Není tu žádný offset, který by se mohl rozjet, ani počet stránek, který by bylo potřeba držet synchronizovaný – kurzor nese vaši pozici a null vám řekne, kdy už jste přečetli všechno.

Další kroky#

Máte id úlohy. Kanál pro dohledání vás dovedl až sem; odsud si můžete přečíst výsledek nebo zapojit živé kanály, aby vám to příště neuniklo a viděli jste to v okamžiku, kdy se to stane.

Získat jednu úlohu
Vezměte id ze seznamu a načtěte jeho plné outputData a kroky jednotlivých fází.
Sledovat skupinu úloh
Znáte skupinu? Načtěte ji přímo se souhrnnými počty podle jazyků.
Doručování webhooků
Nechte si každý výsledek poslat metodou POST ve chvíli, kdy se dokončí jazyk.
Živý průběh (WebSocket)
Streamujte stav v reálném čase, bez pollingu – kanál pro dění v okamžiku, kdy nastává.

Byla tato stránka užitečná?

Max PrilutskiyMax Prilutskiy·Aktualizováno před 12 dny·4 min čtení