Avaliações de módulos
Lê as avaliações de um módulo e registra a avaliação da loja, uma por módulo.
Cada módulo recebe notas de 1 a 5 e um comentário das lojas que o usam. A média (avg_rating) e a contagem (review_count) aparecem no catálogo. A avaliação é por loja: uma mesma loja só tem uma avaliação por módulo, e enviar outra substitui a anterior.
Ler as avaliações
/api/v1/admin/marketplace/modules/{slug}/reviewsAdminLista as avaliações de um módulo
Parâmetros de caminho
slugstringobrigatórioSlug do módulo.
Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1.
per_pageintegerpadrão: 10Itens por página, de 1 a 50. Fora disso volta a 10.
200Avaliações
json
{
"reviews": [
{
"id": "9a7b6c5d-4e3f-4a21-b0c9-8d7e6f5a4b3c",
"module_slug": "vendor-kyc",
"user_id": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc",
"tenant_id": "dfe2555e-bfd0-41a8-9fa1-9586999f3798",
"rating": 5,
"title": "Resolveu nosso onboarding",
"body": "Os documentos ficam organizados e a análise é rápida.",
"created_at": "2026-10-09T14:20:00Z"
}
],
"total": 1,
"page": 1,
"per_page": 10
}Campos da resposta
reviewsarrayAvaliações da página (lista vazia se não há nenhuma).
reviews[].iduuidId da avaliação.
reviews[].module_slugstringMódulo avaliado.
reviews[].user_iduuidQuem avaliou.
reviews[].tenant_iduuidLoja que avaliou.
reviews[].ratingintegerNota de 1 a 5.
reviews[].titlestringTítulo.
reviews[].bodystringComentário.
reviews[].user_namestringNome de quem avaliou, quando disponível.
reviews[].created_atstringQuando foi enviada ou atualizada (RFC 3339).
totalintegerTotal de avaliações do módulo.
pageintegerPágina devolvida.
per_pageintegerItens por página aplicados.
A avaliação mostrada acima é um exemplo ilustrativo: na loja de teste nenhum módulo tinha avaliações.
Avaliar um módulo
/api/v1/admin/marketplace/modules/{slug}/reviewAdminRegistra a avaliação da loja para um módulo
Parâmetros de caminho
slugstringobrigatórioSlug do módulo.
Corpo da requisição
ratingintegerobrigatórioNota de 1 a 5.
titlestringTítulo curto.
bodystringComentário.
bash
curl -X POST "$BASE_URL/api/v1/admin/marketplace/modules/vendor-kyc/review" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"rating": 5, "title": "Resolveu nosso onboarding", "body": "Os documentos ficam organizados e a análise é rápida."}'201Avaliação registrada
json
{
"id": "9a7b6c5d-4e3f-4a21-b0c9-8d7e6f5a4b3c",
"module_slug": "vendor-kyc",
"user_id": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc",
"tenant_id": "dfe2555e-bfd0-41a8-9fa1-9586999f3798",
"rating": 5,
"title": "Resolveu nosso onboarding",
"body": "Os documentos ficam organizados e a análise é rápida.",
"created_at": "2026-10-11T21:45:00Z"
}Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo não é JSON. | {"error":"invalid request body","detail":"..."} |
| 400 | rating fora de 1 a 5. | {"error":"failed to submit review","detail":"rating must be between 1 and 5"} |
| 401 | Id do usuário não encontrado no contexto (comportamento atual). | {"error":"user ID not found in context"} |
| 404 | Slug não existe (na leitura). | {"error":"module not found"} |