GETListar avaliações
Devolve as avaliações aprovadas de um produto, com média, paginação e ordenação.
Use para montar a seção "Avaliações dos clientes" da página do produto. A lista traz só avaliações aprovadas de produtos ativos; avaliações pendentes ou rejeitadas nunca aparecem, e a loja pode esconder as de nota abaixo de um mínimo configurado. Se o lojista respondeu uma avaliação, a resposta vem em vendor_reply.
A resposta pode ser guardada em cache por até 5 minutos. O módulo de avaliações precisa estar ligado na loja.
/api/v1/storefront/products/{id}/reviewsPúblicaLista as avaliações aprovadas de um produto
Parâmetros de caminho
idstringobrigatórioUUID ou slug do produto.
Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1.
per_pageintegerpadrão: 20Itens por página, de 1 a 100. Fora disso volta a 20.
sort_bystringpadrão: recentrecentcreated_athighestratinghelpfulhelpful_countOrdenação, sempre do maior para o menor: mais recentes, melhor nota ou mais úteis. Valor desconhecido vale
recent.Exemplo de requisição
bash
curl "$BASE_URL/api/v1/storefront/products/5e833a7f-1a77-402c-835a-32594350d7a7/reviews?page=1&per_page=20&sort_by=helpful"Resposta
200Avaliações retornadas
json
{
"reviews": [
{
"id": "3f8a2d10-6a54-4a0e-9c0d-5f1d7a2b9e44",
"product_id": "5e833a7f-1a77-402c-835a-32594350d7a7",
"user_id": "f12f30a9-cbec-40ba-98f1-b7fa8f2e8e10",
"rating": 5,
"title": "Chegou rápido",
"body": "Caneca bonita e bem embalada.",
"status": "A",
"helpful_count": 3,
"created_at": "2026-10-02T14:20:11Z",
"images": [],
"user_name": "Maria S.",
"vendor_reply": {"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36", "vendor_name": "Loja Seller Teste", "reply_text": "Obrigado pela avaliação!", "replied_at": "2026-10-03T09:00:00Z"}
}
],
"total": 1,
"page": 1,
"per_page": 20,
"total_pages": 1,
"avg_rating": 5
}Produto sem avaliações (resposta real da loja de teste):
200Sem avaliações
json
{"reviews":null,"total":0,"page":1,"per_page":20,"total_pages":0,"avg_rating":0}Campos da resposta
reviewsarrayAvaliações da página. Pode vir
null em vez de [] quando não há nenhuma.reviews[].iduuidId da avaliação.
reviews[].product_iduuidId do produto.
reviews[].user_iduuidId do cliente autor, quando há.
reviews[].ratingintegerNota de 1 a 5.
reviews[].titlestringTítulo. Ausente quando não informado.
reviews[].bodystringTexto da avaliação. Ausente quando não informado.
reviews[].prosstringPontos positivos informados pelo autor. Ausente quando vazio.
reviews[].consstringPontos negativos informados pelo autor. Ausente quando vazio.
reviews[].imagesarrayFotos anexadas:
url, thumbnail_url e position.reviews[].statusstringLetra do estado. Na vitrine é sempre
A (aprovada).reviews[].helpful_countintegerQuantas pessoas marcaram a avaliação como útil.
reviews[].created_atstringData da avaliação, RFC 3339 em UTC.
reviews[].user_namestringNome de exibição do autor.
reviews[].vendor_replyobjectResposta pública do lojista:
vendor_id, vendor_name, reply_text e replied_at. Ausente sem resposta.totalintegerTotal de avaliações que atendem ao filtro, em todas as páginas.
pageintegerPágina devolvida.
per_pageintegerItens por página usados.
total_pagesintegerTotal de páginas.
avg_ratingnumberMédia das avaliações aprovadas.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 403 | O módulo de avaliações está desligado na loja. | {"error":"module_disabled","module":"product-reviews"} |
| 401 | A loja exige login para navegar. | {"error":"shopping_requires_login","message":"this storefront requires login to browse"} |
Produto inexistente, desativado ou oculto devolve 200 com lista vazia, não 404.