Resposta do seller
Cria, edita e remove a resposta pública do seller a uma avaliação.
Responder uma avaliação
Cria a resposta pública do seller a uma avaliação, em nome do seller dono do produto. Se a avaliação já tem resposta, o texto é substituído (o seller original é mantido). O produto precisa ter um seller; produtos da própria loja, sem seller, não aceitam resposta.
/api/v1/admin/reviews/{id}/vendor-replyAdminEscreve a resposta do seller a 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órioCorpo da requisição
reply_textstringobrigatórioExemplo de requisição (Responder)
curl -X POST "$BASE_URL/api/v1/admin/reviews/9a6b0b5e-3d3c-4d0f-b6ad-0e9c4f6f2a71/vendor-reply" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reply_text": "Obrigado pela avaliação!"
}'Resposta (Responder)
{
"id": "b1c7d5e2-7a31-4f1b-a0f0-0a3e0a2c9d11",
"review_id": "9a6b0b5e-3d3c-4d0f-b6ad-0e9c4f6f2a71",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Seller Teste",
"reply_text": "Obrigado pela avaliação!",
"replied_at": "2026-10-11T12:00:00Z"
}Campos da resposta
iduuidreview_iduuidvendor_iduuidvendor_namestringreply_textstringreplied_atstringErros (Responder)
| 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 | reply_text ausente ou vazio, ou o produto da avaliação não tem seller. | {"error":"reply_text is required"} |
| 404 | Avaliação inexistente. | {"error":"review not found"} |
Editar a resposta do seller
Edita o texto da resposta do seller, por exemplo para moderar um conteúdo impróprio. Falha se a avaliação ainda não tem resposta.
/api/v1/admin/reviews/{id}/vendor-replyAdminAltera o texto de uma resposta existente
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órioCorpo da requisição
reply_textstringobrigatórioExemplo de requisição (Editar resposta)
curl -X PATCH "$BASE_URL/api/v1/admin/reviews/9a6b0b5e-3d3c-4d0f-b6ad-0e9c4f6f2a71/vendor-reply" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reply_text": "Obrigado pelo carinho!"
}'Resposta (Editar resposta)
{
"id": "b1c7d5e2-7a31-4f1b-a0f0-0a3e0a2c9d11",
"review_id": "9a6b0b5e-3d3c-4d0f-b6ad-0e9c4f6f2a71",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Seller Teste",
"reply_text": "Obrigado pelo carinho!",
"replied_at": "2026-10-11T12:00:00Z"
}Campos da resposta
iduuidreview_iduuidvendor_iduuidvendor_namestringreply_textstringreplied_atstringErros (Editar resposta)
| 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 | reply_text ausente ou vazio. | {"error":"reply_text is required"} |
| 404 | A avaliação não tem resposta. | {"error":"vendor reply not found"} |
Apagar a resposta do seller
Remove a resposta pública do seller à avaliação. É idempotente: responde 204 haja ou não resposta.
/api/v1/admin/reviews/{id}/vendor-replyAdminRemove a resposta do seller
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)
curl -X DELETE "$BASE_URL/api/v1/admin/reviews/9a6b0b5e-3d3c-4d0f-b6ad-0e9c4f6f2a71/vendor-reply" \
-H "Authorization: Bearer $TOKEN"Resposta (Apagar resposta)
Corpo vazio.
Erros (Apagar resposta)
| 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 | id que não é UUID, ou falha de banco. | {"error":"failed to delete vendor reply","detail":"..."} |