VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Recomendações e compartilhamento

Registrar visualizações

Avisa a plataforma que um produto foi visto, para alimentar o "quem viu também viu" e os segmentos de clientes que viram e não compraram.

Chame uma destas rotas toda vez que a página de um produto abrir. Elas não devolvem dados úteis; o valor está em alimentar duas funções da loja:

  • POST /products/{id}/view guarda a visualização por sessão de navegação, anônima, e alimenta o carrossel Quem viu também viu.
  • POST /product-views guarda a visualização do cliente logado, e alimenta os segmentos do CRM da loja (por exemplo "viu e não comprou").

Uma vitrine completa chama a primeira sempre, e a segunda só quando há cliente logado.

POST/api/v1/storefront/products/{id}/viewPública

Registrar visualização por sessão

Parâmetros de caminho

iduuidobrigatório
Id do produto visto. Slug não é aceito aqui.

Corpo da requisição

session_idstringobrigatório
Identificador da sessão de navegação do visitante, escolhido por você (por exemplo um UUID guardado em localStorage). Se o corpo não o traz, a rota usa o cookie session_id. Sem nenhum dos dois, a resposta é 400.
POST/api/v1/storefront/product-viewsCliente

Registrar visualização do cliente logado

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN de um cliente logado. Veja Tokens.

Corpo da requisição

product_iduuidobrigatório
Id do produto visto.
session_idstring
Identificador da sessão de navegação, o mesmo usado em /view. Opcional.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/storefront/products/db033935-75ea-4b6f-abbb-13d0fcd6386d/view" \
  -H "Content-Type: application/json" \
  -d '{"session_id":"sess-8f3a2c"}'

curl -X POST "$BASE_URL/api/v1/storefront/product-views" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"db033935-75ea-4b6f-abbb-13d0fcd6386d","session_id":"sess-8f3a2c"}'

Resposta

200Visualização por sessão registrada
json
{ "message": "View recorded" }
200Visualização do cliente registrada
json
{ "message": "view recorded" }

Campos da resposta

messagestring
Confirmação em inglês. Não use o texto para decidir nada; basta o status 200.

Erros

StatusQuandoCorpo
400/view sem session_id no corpo e sem cookie session_id{"error":"session_id is required"}
400/product-views sem product_id, ou corpo que não é JSON{"error":"product_id is required"}
401/product-views sem token{"error":"missing authorization header"}
401A loja exige login para navegar e /view não tem token{"error":"shopping_requires_login","message":"this storefront requires login to browse"}
500/view com id que não é um UUID válido (inclui slug), ou falha ao gravar{"error":"failed to record product view","detail":"..."}
Repetições

/product-views ignora a mesma visualização do mesmo cliente e produto dentro de 30 minutos, então você pode chamá-la a cada abertura da página sem se preocupar. /view grava todas as chamadas: evite repetir a chamada ao recarregar a mesma página.

Não bloqueie a página

Dispare as duas chamadas em segundo plano (keepalive: true) e ignore falhas: elas só alimentam recomendações e relatórios.

Veja também

  • Quem viu também viu
  • Quem comprou também levou
Anterior
Quem viu também viu
Próxima
Compre junto
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também