Propostas: aprovar e aplicar
Lista as propostas da IA, compara atual contra proposto, aprova ou rejeita e grava as aprovadas nos produtos.
Quando o trabalho chega a review, cada produto tem uma proposta. Decida uma a uma, ou aprove tudo de uma vez e rejeite só as que não servem. Nada muda nos produtos até o apply.
Listar propostas
/api/v1/vendor/catalog-quality/fix-jobs/{id}/itemsSellerListar as propostas
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do trabalho de revisão (
job_id).Exemplo de requisição (listar)
bash
curl "$BASE_URL/api/v1/vendor/catalog-quality/fix-jobs/$JOB_ID/items" \
-H "Authorization: Bearer $TOKEN"Resposta (listar)
200Propostas
json
{
"items": [
{
"id": "11a22b33-0001-4c4d-8e5f-6a7b8c9d0e1f",
"job_id": "8c7b6a50-0001-4d2e-9f3a-4b5c6d7e8f90",
"product_id": "7bc1d5e9-a9a4-457b-866f-bbb3879d258d",
"name": "Camiseta Básica Algodão Preta",
"proposed": {
"description": "<p>Camiseta 100% algodão penteado, macia e durável.</p>",
"seo_title": "Camiseta Básica Algodão Preta | Loja Seller"
},
"current": {
"description": "<p>Camiseta 100% algodão.</p>",
"short_desc": "Camiseta 100% algodão",
"seo_title": "",
"seo_description": ""
},
"status": "proposed"
}
],
"total": 1
}Campos da resposta
itemsarrayUma proposta por produto do trabalho.
idstring (uuid)Id da proposta.
job_idstring (uuid)Trabalho.
product_idstring (uuid)Produto.
namestringNome do produto.
proposedobjectValores propostos, por campo (
description, short_desc, seo_title, seo_description).currentobjectValores atuais dos mesmos quatro campos, para comparar.
statusstringpendingproposedapprovedrejectedappliedfailedEstado da proposta.
errorstringMotivo da falha, quando
failed.totalintegerQuantidade.
Erros (listar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 404 | O trabalho não existe ou é de outro seller. | {"error":"not found"} |
Aprovar uma
/api/v1/vendor/catalog-quality/fix-jobs/{id}/items/{itemId}/approveSellerAprovar uma proposta
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do trabalho de revisão (
job_id).itemIdstring (uuid)obrigatórioId da proposta (
id na lista).Exemplo de requisição (aprovar)
bash
curl -X POST "$BASE_URL/api/v1/vendor/catalog-quality/fix-jobs/$JOB_ID/items/$ITEM_ID/approve" \
-H "Authorization: Bearer $TOKEN"Resposta (aprovar)
200Aprovada
json
{
"status": "approved"
}Campos da resposta
statusstringapproved.Erros (aprovar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 404 | O trabalho não existe ou é de outro seller. | {"error":"not found"} |
| 422 | A proposta não existe no trabalho ou já foi aplicada/falhou. | {"error":"failed","detail":"item not found or not reviewable"} |
Rejeitar uma
/api/v1/vendor/catalog-quality/fix-jobs/{id}/items/{itemId}/rejectSellerRejeitar uma proposta
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do trabalho de revisão (
job_id).itemIdstring (uuid)obrigatórioId da proposta (
id na lista).Exemplo de requisição (rejeitar)
bash
curl -X POST "$BASE_URL/api/v1/vendor/catalog-quality/fix-jobs/$JOB_ID/items/$ITEM_ID/reject" \
-H "Authorization: Bearer $TOKEN"Resposta (rejeitar)
200Rejeitada
json
{
"status": "rejected"
}Campos da resposta
statusstringrejected.Erros (rejeitar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 404 | O trabalho não existe ou é de outro seller. | {"error":"not found"} |
| 422 | A proposta não existe no trabalho ou já foi aplicada/falhou. | {"error":"failed","detail":"item not found or not reviewable"} |
Aprovar todas
/api/v1/vendor/catalog-quality/fix-jobs/{id}/approve-allSellerAprovar todas as propostas
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do trabalho de revisão (
job_id).Exemplo de requisição (aprovar todas)
bash
curl -X POST "$BASE_URL/api/v1/vendor/catalog-quality/fix-jobs/$JOB_ID/approve-all" \
-H "Authorization: Bearer $TOKEN"Resposta (aprovar todas)
200Aprovadas
json
{
"approved": 2
}Campos da resposta
approvedintegerQuantas propostas passaram de
proposed para approved.Erros (aprovar todas)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 404 | O trabalho não existe ou é de outro seller. | {"error":"not found"} |
Aplicar
Grava nos produtos as propostas aprovadas. É a única chamada deste fluxo que altera os produtos. Propostas que falham ao gravar ficam failed e as demais seguem.
/api/v1/vendor/catalog-quality/fix-jobs/{id}/applySellerAplicar as propostas aprovadas
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de caminho
idstring (uuid)obrigatórioId do trabalho de revisão (
job_id).Exemplo de requisição (aplicar)
bash
curl -X POST "$BASE_URL/api/v1/vendor/catalog-quality/fix-jobs/$JOB_ID/apply" \
-H "Authorization: Bearer $TOKEN"Resposta (aplicar)
200Aplicadas
json
{
"applied": 2
}Campos da resposta
appliedintegerQuantas propostas foram gravadas.
Erros (aplicar)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | Token que não é de seller, ou usuário sem o privilégio exigido pela rota. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_catalog"]} |
| 403 | O recurso de preenchimento por IA não está disponível na loja. | {"error":"ai fix unavailable","detail":"AI Product Fill is not available"} |
| 404 | O trabalho não existe ou é de outro seller. | {"error":"not found"} |