Aprovar, rejeitar e aplicar
Decide cada proposta de correção por IA (aprovar ou rejeitar), aprova todas de uma vez e aplica as aprovadas nos produtos.
Depois que um job de revisão chega ao status review, cada proposta espera uma decisão. Aprovar ou rejeitar só muda o estado do item: nada é gravado no produto até você chamar apply. Isso permite conferir proposta por proposta, aprovar em lote e só então publicar.
Um item proposed pode virar approved ou rejected, e a decisão pode ser trocada enquanto o item ainda não foi aplicado. O apply grava só os itens approved; rejeitados e pendentes ficam como estão. Todas as rotas exigem manage_catalog.
/api/v1/admin/catalog-quality/fix-jobs/{id}/items/{itemId}/approveAdminAprova uma proposta
Marca o item como approved. Sem corpo.
Parâmetros de caminho
iduuidobrigatóriojob_id.itemIduuidobrigatórioid do item (de Listar as propostas)./api/v1/admin/catalog-quality/fix-jobs/{id}/items/{itemId}/rejectAdminRejeita uma proposta
Marca o item como rejected. O produto fica como está. Sem corpo.
Parâmetros de caminho
iduuidobrigatóriojob_id.itemIduuidobrigatórioid do item./api/v1/admin/catalog-quality/fix-jobs/{id}/approve-allAdminAprova todas as propostas pendentes de decisão
Aprova de uma vez todos os itens proposed do job. Itens que você já rejeitou não são reaprovados. Sem corpo.
Parâmetros de caminho
iduuidobrigatóriojob_id./api/v1/admin/catalog-quality/fix-jobs/{id}/applyAdminAplica as propostas aprovadas nos produtos
Grava nos produtos o texto dos itens approved, um a um, pelo mesmo caminho do preenchimento de produto por IA (o produto é atualizado, o histórico registra a alteração e a nota de qualidade é recalculada). A chamada é síncrona: só responde depois de tentar todos os itens, então pode demorar em jobs grandes. Um item que falhar fica failed com o motivo e não impede os outros. Ao final o job vira done.
Parâmetros de caminho
iduuidobrigatóriojob_id.Exemplo de requisição
BASE="$BASE_URL/api/v1/admin/catalog-quality/fix-jobs/$JOB"
# rejeitar uma proposta
curl -X POST "$BASE/items/$ITEM_RUIM/reject" -H "Authorization: Bearer $TOKEN"
# aprovar todas as demais
curl -X POST "$BASE/approve-all" -H "Authorization: Bearer $TOKEN"
# gravar nos produtos
curl -X POST "$BASE/apply" -H "Authorization: Bearer $TOKEN"Resposta
{ "status": "approved" }{ "approved": 23 }{ "applied": 21 }Campos da resposta
statusstringapprovedrejectedapprovedintegerproposed passaram a approved.appliedintegerfailed.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou expirado | {"error":"invalid or expired token"} |
| 403 | Falta manage_catalog; ou, no apply, a loja não tem o preenchimento por IA | {"error":"ai fix unavailable","detail":"AI Product Fill is not available"} |
| 422 | Aprovar ou rejeitar um item que não existe, que é de outro job ou que já foi aplicado ou falhou | {"error":"failed","detail":"item not found or not reviewable"} |
| 422 | Falha ao aplicar | {"error":"failed","detail":"..."} |
| 500 | Falha ao aprovar todas | {"error":"failed","detail":"..."} |