Preços
Preço base, preço promocional com vigência e preço por grupo de cliente — com consistência de índice para promoções e countdown.
Visão geral
Os fluxos de preço foram endurecidos para maior consistência em preço base, preço especial e preço por grupo. Alterações de special_price disparam reprocessamento seletivo para manter o índice Countdown coerente.
Além dos endpoints de atualização, a rota /api2/price passou a atender também a consulta somente leitura do preço de um produto, com contexto explícito de store e grupo de cliente.
Consultar preço do produto Novo
Operação somente leitura: não altera preço, não cria fila e não executa reindexação.
Consultar o preço de um produto por SKU ou por ID, no contexto informado.
GET /api2/price?id=3291&type=sku
Authorization: Bearer {access_token}
GET /api2/price?id=2074&type=id
Authorization: Bearer {access_token}
GET /api2/price?id=3291&type=sku&store_id=1&customer_group_id=0
Authorization: Bearer {access_token}
Parâmetros
type.id é interpretado: id ou sku.0.Exemplo de resposta
{
"success": true,
"product_id": 2074,
"sku": "3291",
"type": "simple",
"context": {
"store_id": 1,
"website_id": 1,
"customer_group_id": 0,
"store": {"id": 1, "code": "default", "name": "Português (Brasil)"},
"website": {"id": 1, "code": "cafe", "name": "Website Principal"},
"customer_group": {"id": 0, "name": "Visitante"}
},
"pricing": {
"price": "28.9000",
"special_price": "25.9000",
"final_price": "25.9000",
"currency": "BRL",
"special_from_date": "2025-12-01",
"special_to_date": null,
"group_prices": [],
"tier_prices": [],
"tax_class_id": 0,
"tax_class": {"id": 0, "name": "Nenhum"},
"msrp_enabled": "use_config",
"msrp_display_actual_price_type": "use_config",
"msrp": null,
"desconto_boleto": null
}
}
Conceitos de preço
special_to_date
YYYY-MM-DD. Retornam null quando não houver valor.tax_class
{"id": 0, "name": "Nenhum"}.yes, no e use_config.final_price.Leitura sem reindexação
A consulta é somente leitura e não força reindexação. Portanto, o final_price reflete o último estado válido dos índices da plataforma.
Preços por grupo e por faixa
Os registros de group_prices preservam os identificadores originais e acrescentam as entidades legíveis quando aplicáveis.
{
"website_id": 1,
"website": {"id": 1, "code": "cafe", "name": "Website Principal"},
"customer_group_id": 3,
"customer_group": {"id": 3, "name": "Nome do grupo"},
"all_groups": false,
"price": "25.0000"
}
website_id=0 ou o preço se aplicar a todos os grupos, o objeto correspondente pode ser null, pois não existe uma entidade concreta a representar.Já tier_prices traz as faixas baseadas em quantidade e/ou grupo. Os itens podem conter website_id, website, customer_group_id, customer_group, all_groups, qty e price.
Produtos configuráveis
Produtos do tipo configurable podem incluir a faixa disponível no índice de preço para o contexto consultado.
{
"min_final_price": "489.9000",
"max_final_price": "489.9000"
}
Respostas HTTP
| Situação | Status |
|---|---|
| Sucesso | 200 |
| Parâmetros inválidos | 400 |
| Sem autenticação ou token inválido | 401 |
| Sem permissão | 403 |
| Produto não encontrado | 404 |
| Falha interna | 500 |
Atualizar preço base do produto.
{
"type": "sku",
"sku": "novo_produto",
"price": 250.00
}
Atualizar preço promocional com vigência.
{
"type": "sku",
"sku": "novo_produto",
"special_price": 23233.99,
"special_from_date": "2025-09-10",
"special_to_date": "2025-10-01"
}
Atualizar preços por grupo de cliente.
{
"type": "sku",
"sku": "novo_produto",
"group_prices": [
{"cust_group": 2, "price": 533},
{"cust_group": 1, "price": 350}
]
}
Observação operacional
Quando o lote envolve alteração de special_price e datas especiais relacionadas, a rotina de preço executa também o reprocessamento seletivo necessário para manter a consistência do índice Countdown.