VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Conteúdo da vitrine

Voto de utilidade em avaliação

Registra que uma avaliação de produto foi útil, um voto por cliente ou por sessão de visitante.

Nas páginas de produto, cada avaliação tem o botão "Esta avaliação foi útil?". Esta rota soma o voto. Cada pessoa vota uma vez por avaliação, e votar de novo não faz nada: a resposta devolve a avaliação como está.

Pontos principais
  • Depende do módulo product-reviews.
  • Quem vota é identificado pelo token (cliente logado) ou, se não houver, pelo cabeçalho X-Session-ID (visitante). Sem nenhum dos dois, 400.
  • O cliente logado vence a sessão: se o mesmo cliente votar depois de entrar, o voto conta pela conta, e um voto anterior como visitante é outro voto.
  • Não há como retirar o voto.
  • A resposta é a avaliação inteira, com helpful_count atualizado.
POST/api/v1/storefront/reviews/{id}/helpfulPública

Votar que uma avaliação foi útil

Parâmetros de caminho

iduuidobrigatório
Id da avaliação (reviews[].id da listagem de avaliações do produto).

Cabeçalhos

Authorizationstring
Bearer <access_token> do cliente. Opcional quando houver X-Session-ID.
X-Session-IDstring
Identificador da sessão do visitante (um UUID que o seu front-end gera e guarda). Obrigatório se não houver token.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/storefront/reviews/$REVIEW_ID/helpful" \
  -H "X-Session-ID: $SESSION_ID"

Resposta

200Voto registrado
json
{
  "id": "7d6c5b4a-3928-4170-8695-a4b3c2d1e0f9",
  "product_id": "0f6c3b0a-6a52-4c53-8d2c-0e1a1d7a9b21",
  "user_id": "f12f30a9-cbec-40ba-98f1-b7fa8f2e8e10",
  "rating": 5,
  "title": "Excelente",
  "body": "Chegou rápido e o café é muito bom.",
  "pros": "Sabor",
  "cons": "",
  "images": [],
  "status": "approved",
  "helpful_count": 4,
  "created_at": "2026-10-05T10:00:00Z"
}

Campos da resposta

iduuid
Id da avaliação.
product_iduuid
Produto avaliado.
user_iduuid
Cliente que avaliou. Ausente em avaliação de visitante.
guest_namestring
Nome informado pelo visitante que avaliou. Ausente quando não há.
guest_emailstring
E-mail informado pelo visitante que avaliou. É dado pessoal: não exiba. Ausente quando não há.
ratinginteger
Nota, de 1 a 5.
titlestring
Título da avaliação. Ausente quando não há.
bodystring
Texto da avaliação. Ausente quando não há.
prosstring
Pontos positivos. Pode ser vazio.
consstring
Pontos negativos. Pode ser vazio.
imagesarray
Fotos da avaliação: objetos com url, thumbnail_url (opcional) e position.
statusstring
approvedpendingrejectedspamdisabledhidden
Estado de moderação.
helpful_countinteger
Total de votos "útil", já contando o seu.
created_atstring
Quando foi publicada (RFC 3339).

Erros

StatusQuandoCorpo
400Sem token e sem X-Session-ID.{"error":"session_id or authentication required"}
400id não é UUID.{"error":"invalid id","detail":"id must be a valid UUID"}
403Módulo product-reviews desligado.{"error":"module_disabled","module":"product-reviews"}
404A avaliação não existe.{"error":"review not found","detail":"review not found"}
500Falha ao gravar.{"error":"failed to mark helpful","detail":"..."}
Não depende do estado da avaliação

A rota aceita o voto em qualquer avaliação que exista, mesmo as ainda pending ou rejected, e devolve a avaliação inteira. Só ofereça o botão para avaliações que você listou na vitrine.

Veja também

  • Páginas
  • Sessão do cliente
Anterior
Anúncios patrocinados
Próxima
Configurações públicas da loja
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também