GETHistórico de preço
Devolve a série de preços recentes de um produto e o selo de menor preço em 30 dias.
Alimenta o gráfico de variação de preço e o selo "menor preço em 30 dias" da página do produto. É um recurso de transparência de preço que o lojista liga na loja: são dois interruptores independentes, o gráfico público e o selo.
Diferente de price e price-tiers, esta resposta pode ser guardada em cache por até 5 minutos (Cache-Control: public, max-age=300, stale-while-revalidate=1800).
/api/v1/storefront/products/{id}/price-historyPúblicaSérie de preços e selo de menor preço em 30 dias
Parâmetros de caminho
iduuidobrigatórioId do produto (UUID completo).
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/storefront/products/5e833a7f-1a77-402c-835a-32594350d7a7/price-history"Resposta
200Série retornada
json
{
"points": [
{"price_cents": 4990, "list_price_cents": null, "recorded_at": "2026-10-11T20:55:08.077696Z"},
{"price_cents": 5290, "list_price_cents": null, "recorded_at": "2026-10-11T20:55:14.632441Z"}
],
"lowest_30d": false,
"enabled": true
}Recurso desligado na loja (200, não 404, para não poluir o console do navegador):
200Recurso desligado
json
{"points":[],"lowest_30d":false,"enabled":false}Campos da resposta
pointsarrayPontos da série dos últimos 90 dias, em ordem cronológica. Vazio quando o gráfico público está desligado.
points[].price_centsintegerPreço vigente naquele momento, em centavos.
points[].list_price_centsintegerPreço "de" (riscado) vigente, em centavos.
null quando não havia.points[].recorded_atstringQuando o preço passou a valer, RFC 3339 em UTC.
lowest_30dbooleantrue quando o preço atual é o menor (ou empata com o menor) dos últimos 30 dias e há histórico de mais de 7 dias. Sempre false com o selo desligado.enabledbooleanfalse quando a loja desligou o gráfico e o selo. Esconda o bloco inteiro, incluindo o botão de alerta de preço.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 500 | O id não é um UUID válido. | {"error":"failed to load price series","detail":"o valor \"abc\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie."} |
Um produto que não existe (UUID válido) devolve 200 com points vazio, não 404.