Cobertura e revisão
Mede quanto do catálogo já foi traduzido e revisa, aprova ou retraduz o que a máquina produziu.
Depois da tradução automática, o texto gerado ainda não é confiável até alguém revisar. Estas quatro rotas medem o andamento e permitem aprovar ou refazer itens. Todas exigem o privilégio manage_settings. A unidade de revisão é uma entidade de uma tabela (um produto, uma categoria...), com todos os seus campos de texto.
Cobertura por tabela
/api/v1/admin/languages/{code}/coverageAdminCobertura da tradução por tabela de conteúdo
Conta, para cada tabela de conteúdo, quantas linhas existem no idioma e em que estado de tradução estão. Tabelas que não existem na loja são omitidas.
Parâmetros de caminho
codestringobrigatório{
"language": "es",
"tables": [
{
"table": "product_descriptions",
"total": 136,
"machine": 100,
"approved": 10,
"human": 2,
"stale": 4,
"cloned": 20,
"failed": 0,
"coverage_pct": 82.4
}
]
}Campos da resposta
languagestringtables[].tablestringtables[].totalintegertables[].machineintegertables[].approvedintegertables[].humanintegertables[].staleintegertables[].clonedintegertables[].failedintegertables[].coverage_pctnumbermachine, approved ou human sobre o total, com uma casa decimal. É 0 quando total é 0.Fila de revisão
/api/v1/admin/languages/{code}/reviewAdminLista as entidades a revisar, lado a lado com o original
Para cada entidade devolve, campo a campo, o texto no idioma padrão (source) e o texto traduzido. Por padrão a fila traz o que precisa de atenção: machine, stale e failed.
Parâmetros de caminho
codestringobrigatórioParâmetros de consulta
tablestringobrigatórioproduct_descriptions...). Sem ela, ou com um nome desconhecido, a resposta é 400.statusstringclonedmachinestalehumanapprovedfailedmachine, stale, failed).pageintegerpadrão: 1per_pageintegerpadrão: 50{
"items": [
{
"entity_id": "0d9f2f5a-3b8d-4f6a-a1b4-5c4a1a6a7e10",
"table": "product_descriptions",
"translation_status": "machine",
"fields": {
"name": { "source": "Camiseta Básica", "translated": "Camiseta Básica" },
"description": { "source": "Algodão 100%", "translated": "Algodón 100%" }
}
}
],
"total": 1
}Campos da resposta
items[].entity_iduuiditems[].tablestringitems[].translation_statusstringitems[].fieldsobjectname, description, slug...), cada um com source (idioma padrão) e translated.totalintegerAprovar traduções
/api/v1/admin/languages/{code}/review/approveAdminMarca entidades como aprovadas
Muda o estado das entidades informadas para approved. Aprovadas, elas deixam de ser retraduzidas pelos jobs (a menos que include_approved seja true).
Parâmetros de caminho
codestringobrigatórioCorpo da requisição
tablestringobrigatórioentity_idsarrayobrigatórioupdated: 0.{ "updated": 1 }Retraduzir itens
/api/v1/admin/languages/{code}/review/retranslateAdminRetraduz entidades específicas
Refaz a tradução automática só das entidades informadas. Diferente de /translate, não cria job: a resposta 202 sai logo e a retradução segue em segundo plano, sem como acompanhar. Confira o resultado depois, na fila de revisão. Ela sobrescreve o texto atual das entidades, mesmo que estejam aprovadas.
Parâmetros de caminho
codestringobrigatórioCorpo da requisição
tablestringobrigatórioentity_idsarrayobrigatórioA resposta é 202 Accepted, sem corpo.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Tabela ausente ou desconhecida; corpo inválido | {"error":"failed to list review queue","detail":"unknown table \"\""} (fila) ou {"error":"failed to approve","detail":"unknown table \"x\""} (aprovar) |
| 401 | Sem token ou token expirado | {"error":"missing authorization header"} |
| 403 | Sem o privilégio manage_settings | {"error":"insufficient privileges","required":"manage_settings"} |
| 422 | Sem provedor de IA configurado (retraduzir) | {"error":"provider_not_configured"} |
| 500 | Falha interna ao calcular a cobertura | {"error":"failed to compute coverage","detail":"..."} |