Vytvořili jste skupinu, dostali zpět groupId a teď se několik jazyků překládá paralelně. Potřebujete si pořád dokola zodpovídat jednu otázku, dokud se vše neusadí: jak si právě teď vede celé odeslání? Ne jazyk po jazyku – souhrnně. Kolik jich je hotových, kolik vrátilo výstup s varováním, kolik selhalo a kolik jich ještě běží.
Přesně to tento endpoint vrací. Jeden dotaz, stav všech jazyků, v jediné odpovědi. Jste v asynchronní lokalizaci noví? Začněte na stránce Přehled Async Localization API.
Na této stránce
Získání skupiny úloh#
Načtěte stav skupiny úloh a všech jejích podřízených úloh.
GET /jobs/localization/groups/:groupIdOvěřte se pomocí svého API klíče v hlavičce X-API-Key, stejným klíčem, který jste použili k vytvoření skupiny. groupId je ID s prefixem ljg_ z odpovědi 202.
Odpověď#
Odpověď je snímek celého odeslání: vlastní status skupiny, čtyři počty a podřízené úlohy s jejich jednotlivými stavy. Právě tento objekt čtete při každém dotazu.
{
"groupId": "ljg_A1b2C3d4E5f6G7h8",
"status": "processing",
"sourceLocale": "en",
"totalJobs": 3,
"completedJobs": 1,
"completedWithWarningsJobs": 0,
"failedJobs": 0,
"jobs": [
{ "id": "ljb_A1b2C3d4E5f6G7h8", "targetLocale": "de", "status": "completed", "warnings": [], "completedAt": "2026-03-16T10:30:04.000Z" },
{ "id": "ljb_B2c3D4e5F6g7H8i9", "targetLocale": "fr", "status": "processing", "warnings": [], "completedAt": null },
{ "id": "ljb_C3d4E5f6G7h8I9j0", "targetLocale": "ja", "status": "queued", "warnings": [], "completedAt": null }
],
"createdAt": "2026-03-16T10:30:00.000Z"
}Tři pole s počty pro terminální úlohy – completedJobs, completedWithWarningsJobs a failedJobs – dohromady dávají počet jazyků, které už skončily. Zbytek z totalJobs je stále ve stavu queued nebo processing. Ve výše uvedeném snímku je 1 ze 3 hotový a 2 jsou stále v běhu, takže z pouhého přečtení počtů poznáte, že práce ještě není u konce, aniž byste museli procházet pole jobs. Jakmile tento součet dosáhne hodnoty totalJobs, skupina je v terminálním stavu.
Pole warnings u každé úlohy ukazuje nekritická selhání jednotlivých fází v pipeline – například když neproběhne předúprava nebo zpětný překlad. Neprázdné pole znamená, že úloha přesto vytvořila výstup, ale alespoň jedna outputDatanepovinné fáze nebyla dokončena. Samotná přeložená outputData je u jednotlivé úlohy – tu si načtěte, až budete chtít číst obsah dokončeného jazyka.
Stavy skupiny#
status skupiny shrnuje stavy jejích podřízených úloh do jediné hodnoty. Dotazujete se, dokud nedosáhne terminálního stavu.
| Stav skupiny | Význam |
|---|---|
pending | Skupina byla vytvořena, ale ještě nezačala žádná úloha |
processing | Probíhá alespoň jedna úloha |
completed | Všechny úlohy byly úspěšně dokončeny |
completed_with_warnings | Všechny úlohy vytvořily výstup, ale u alespoň jedné úlohy selhala jedna nebo více nepovinné fází v pipeline |
partial | Některé úlohy byly dokončeny, jiné selhaly |
failed | Všechny úlohy selhaly |
Právě rozlišení mezi completed, completed_with_warnings a partial je smyslem tohoto endpointu: odlišuje „každý jazyk byl doručen“ od „každý jazyk byl doručen, ale některé s varováním“ a od „některé jazyky byly doručeny a některé ne“ – tedy tři výsledky, které byste jinak museli skládat z jednotlivých úloh. partial není chyba; je to reálný stav věcí, který skupina hlásí napřímo, aby na něj váš kód mohl reagovat.
Jak často se dotazovat#
Interval dotazování
U většiny úloh trvá zpracování 2–8 sekund na jazyk. Pokud se dotazujete místo použití webhooků nebo WebSocketu, rozumný výchozí bod je interval 2 sekund.
Dotazování je nejjednodušší způsob, jak skupinu sledovat, a pro krátce běžící dávku je naprosto v pořádku. Je to ale slabší varianta a stojí za to říct to na rovinu: každý dotaz je cesta tam a zpět bez ohledu na to, jestli se něco změnilo, a že byl jazyk dokončen, zjistíte až při dalším intervalu, ne v okamžiku, kdy výsledek dorazí.
Pokud chcete každý výsledek ve chvíli, kdy je připravený, nedotazujte se – nechte si ho poslat. Platforma doručí každý dokončený jazyk na vaši webhook URL hned po dokončení a WebSocket připojení na skupině posílá úplný snímek stavu při každé změně, takže se vaše UI aktualizuje bez ptaní. Po dotazování sáhněte tehdy, když je webhook endpoint nebo trvalé připojení víc práce, než za to daná úloha stojí; po push modelu sáhněte tehdy, když záleží na latenci vašeho UI.
Když jeden jazyk selže#
Při skeptickém čtení věty „přeložit do více jazyků najednou“ napadne jako první zcela logická otázka: co se stane se zbytkem, když jeden jazyk selže? Tady je odpověď, přímo v odpovědi.
Každý jazyk je samostatná úloha. Pokud němčina uspěje, ale japonština selže, německý překlad je hotový a doručí se normálně – selhání ho nijak nevrací zpět. Selhaná úloha se ve skupině objeví se stavem status: "failed", navýší failedJobs a skupina se shrne do stavu partial:
{
"groupId": "ljg_A1b2C3d4E5f6G7h8",
"status": "partial",
"sourceLocale": "en",
"totalJobs": 3,
"completedJobs": 2,
"completedWithWarningsJobs": 0,
"failedJobs": 1,
"jobs": [
{ "id": "ljb_A1b2C3d4E5f6G7h8", "targetLocale": "de", "status": "completed", "warnings": [], "completedAt": "2026-03-16T10:30:04.000Z" },
{ "id": "ljb_B2c3D4e5F6g7H8i9", "targetLocale": "fr", "status": "completed", "warnings": [], "completedAt": "2026-03-16T10:30:05.000Z" },
{ "id": "ljb_C3d4E5f6G7h8I9j0", "targetLocale": "ja", "status": "failed", "warnings": [], "completedAt": null }
],
"createdAt": "2026-03-16T10:30:00.000Z"
}Dva jazyky byly doručeny, jeden ne, a počty to řeknou bez nutnosti cokoli procházet. Pokud to chcete zkusit znovu, odešlete nový požadavek jen s neúspěšnými jazyky a s novým klíčem idempotence. Úplný popis chyby pro selhaný jazyk – errorMessage – najdete u jednotlivé úlohy; skupina vám dává počet a výsledek.
Částečná selhání jsou normální stav
partial znamená přesně to, co ukazují počty: některé jazyky byly dokončeny, některé selhaly. Dokončené jazyky už byly doručeny. Není co vracet zpět a znovu neutrácíte za jazyky, které uspěly – opakujete jen to, co selhalo.
