GETPreço por estado
Mostra o preço do produto para um estado de entrega, quando a loja tem regras de preço por UF.
Algumas lojas cobram preços diferentes por estado (por exemplo, por causa de imposto ou logística). Esta rota deixa a página do produto mostrar o mesmo preço que o carrinho vai cobrar assim que o CEP do comprador é resolvido para uma UF. Sem regra para o estado, vale o preço padrão do produto.
A resposta não é guardada em cache.
/api/v1/storefront/products/{id}/state-pricePúblicaPreço do produto para um estado
Parâmetros de caminho
iduuidobrigatórioId do produto (UUID completo).
Parâmetros de consulta
statestringobrigatórioSigla da UF, por exemplo
SP.quantityintegerpadrão: 1Quantidade, para regras com quantidade mínima. Valor inválido vale 1.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/storefront/products/5e833a7f-1a77-402c-835a-32594350d7a7/state-price?state=SP&quantity=2"Resposta
200Sem regra, preço padrão
json
{"price_centavos":5290,"source":"default","rule_id":0,"state_code":"SP"}Com uma regra para o estado:
200Regra do estado aplicada
json
{"price_centavos":4990,"source":"state_rule","rule_id":12,"state_code":"AM"}Campos da resposta
price_centavosintegerPreço unitário no estado, em centavos. Zero quando o preço está escondido.
sourcestringstate_ruledefaultstate_rule quando uma regra do estado definiu o preço; default quando vale o preço padrão.rule_idintegerId da regra aplicada.
0 com o preço padrão.state_codestringUF consultada.
price_redactedbooleantrue para visitante em loja que esconde preços.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | O parâmetro state não foi enviado. | {"error":"state is required"} |
| 404 | O produto não existe, ou a loja não tem preço por estado. | {"error":"product 00000000-0000-0000-0000-000000000000 not found"} |
| 500 | O id não é um UUID válido. | {"error":"failed to get effective price","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."} |