Moderar avaliações
Aprova, rejeita ou apaga avaliações, uma a uma ou em lote.
Aprovar avaliação
Muda a avaliação para approved. Ela passa a aparecer na página do produto e entra na média de notas do produto, que é recalculada na hora. A plataforma também emite o evento review.approved, que a loja pode usar para premiar o cliente. Não precisa de corpo.
/api/v1/admin/reviews/{id}/approveAdminAprova uma avaliação e a publica na vitrine
Rota ligada ao módulo product-reviews: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_reviews ou manage_content.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição (Aprovar)
Resposta (Aprovar)
Campos da resposta
iduuidproduct_iduuiduser_iduuidguest_namestringguest_emailstringratingintegertitlestringbodystringprosstringconsstringimagesarraystatusstringhelpful_countintegercreated_atstringErros (Aprovar)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_reviews","manage_content"]} |
| 500 | Avaliação inexistente, ou id que não é UUID. A plataforma responde 500, não 404. | {"error":"failed to approve review","detail":"review not found"} |
Rejeitar avaliação
Muda a avaliação para rejected: ela sai da vitrine e da média do produto, mas continua guardada (dá para aprovar depois). Não precisa de corpo. A resposta tem o mesmo formato de approve.
/api/v1/admin/reviews/{id}/rejectAdminRejeita uma avaliação
Rota ligada ao módulo product-reviews: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_reviews ou manage_content.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição (Rejeitar)
Resposta (Rejeitar)
Erros (Rejeitar)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_reviews","manage_content"]} |
| 500 | Avaliação inexistente, ou id que não é UUID. | {"error":"failed to reject review","detail":"review not found"} |
Apagar avaliação
Remove a avaliação de vez. Para só escondê-la, prefira reject.
/api/v1/admin/reviews/{id}AdminApaga uma avaliação
Rota ligada ao módulo product-reviews: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_reviews ou manage_content.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição (Apagar)
Resposta (Apagar)
Erros (Apagar)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_reviews","manage_content"]} |
| 500 | Avaliação inexistente, ou id que não é UUID. | {"error":"failed to delete review","detail":"review not found"} |
Moderar várias avaliações
Aplica a mesma ação a uma lista de avaliações numa transação só e recalcula a nota média de cada produto envolvido. A resposta mostra quantas foram pedidas e quantas realmente mudaram.
/api/v1/admin/reviews/bulkAdminAprova, rejeita ou apaga várias avaliações de uma vez
Rota ligada ao módulo product-reviews: com o módulo desligado a resposta é 403. Leitura exige manage_content ou view_content; escrita exige manage_reviews ou manage_content.
Corpo da requisição
actionstringobrigatórioapproverejectdeleteidsarrayobrigatóriosimulatebooleantrue, não aplica: devolve a contagem e uma amostra, mais um confirm_token. Recurso avançado de operação em lote.confirm_tokenstringExemplo de requisição (Ação em lote)
Resposta (Ação em lote)
Campos da resposta
requestedintegeraffectedintegerrequested quando algum id não existe.idsarrayErros (Ação em lote)
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O administrador não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["manage_reviews","manage_content"]} |
| 400 | ids vazio ou com mais de 200; id que não é UUID (o valor aparece em detail); ação desconhecida. | {"error":"unknown action","detail":"must be one of approve|reject|delete"} |
| 500 | Falha de banco. | {"error":"bulk action failed","detail":"..."} |