Correção automática e cancelamento
Corrige descrição e SEO de vários produtos por IA gravando direto, sem revisão, e cancela um job em andamento.
A correção automática faz o mesmo trabalho da correção com revisão, mas sem etapa de aprovação: cada texto gerado é gravado no produto assim que fica pronto. É mais rápida e mais arriscada. Use quando você confia no resultado ou quando o texto atual está vazio e qualquer coisa é melhor que nada. Para conteúdo que vai ao ar sem ninguém ler, prefira a revisão.
O job roda em segundo plano, um produto a cada 2 segundos. Produtos sem foto são pulados, com o motivo "needs photo", porque a IA precisa da imagem. Os campos permitidos são description, short_desc, seo_title e seo_description; nome e preço nunca são alterados. As duas rotas exigem manage_catalog.
Para acompanhar o job use GET /fix-jobs/{id}. Estados: queued, running, done e cancelled.
/api/v1/admin/catalog-quality/fix-jobsAdminCria um job de correção automática
Cria o job e responde na hora (202). Os produtos são corrigidos aos poucos, em segundo plano.
Corpo da requisição (JSON)
product_idsarrayobrigatóriofieldsarrayobrigatóriodescriptionshort_descseo_titleseo_description/api/v1/admin/catalog-quality/fix-jobs/{id}/cancelAdminCancela um job em andamento
Para o job antes que ele trate os produtos restantes. O que já foi gravado fica gravado. Funciona para jobs de correção automática e de revisão, mas só tem efeito enquanto o job está em queued ou running. Sem corpo.
Parâmetros de caminho
iduuidobrigatóriojob_id.Exemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/catalog-quality/fix-jobs" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"product_ids":["c3f92551-9dda-4fc7-b518-353d1c4e4035","c4e16aa8-59ba-45f0-aaff-d87549ced120"],"fields":["description","seo_title","seo_description"]}'
curl -X POST "$BASE_URL/api/v1/admin/catalog-quality/fix-jobs/$JOB/cancel" \
-H "Authorization: Bearer $TOKEN"Resposta
{ "job_id": "5c1e8f30-72d4-4b96-a0e1-3f9d6b27c418" }{ "status": "cancelled" }Campos da resposta
job_iduuidGET /fix-jobs/{id}.statusstringcancelled na resposta do cancelamento.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | product_ids vazio | {"error":"product_ids required"} |
| 400 | Corpo que não é JSON | {"error":"invalid body","detail":"..."} |
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Falta manage_catalog, ou a loja não tem o preenchimento por IA | {"error":"ai fix unavailable","detail":"AI Product Fill is not available"} |
| 422 | Nenhum campo permitido em fields | {"error":"failed to create job","detail":"no allowed fields"} |