Calculadora de preço efetivo leve e pague
Uma promoção leve um e ganhe outro ou leve X e ganhe Y pode parecer vantajosa sem revelar quanto cada item realmente custa no carrinho que você pretende comprar.
Executar grátis
Esta calculadora aplica a oferta a uma quantidade específica, separa itens pagos e gratuitos e informa total normal, total promocional, economia total e preço efetivo por item. Ela atende tanto ao modelo clássico leve um e ganhe um quanto a ofertas como leve dois e ganhe um, usando o mesmo preço normal para todos os produtos. Assim, você pode comparar promoções com preços de liquidação e descontos percentuais.
Informe a promoção exatamente como anunciada
Comece pelo preço unitário normal antes da promoção e informe a quantidade total que você pretende levar. A quantidade é importante porque uma oferta BOGO nem sempre se distribui igualmente pelo carrinho. Seis itens podem formar três grupos de leve um e ganhe um; cinco formam dois grupos e deixam um item pelo preço integral. Use a quantidade de compra como X em leve X e ganhe Y grátis e a quantidade gratuita como Y. A promoção clássica usa 1 nos dois campos; leve dois e ganhe um usa 2 e 1. Todos os campos de quantidade representam itens inteiros e exigem números inteiros positivos. O preço unitário pode ser zero, mas não pode ser negativo nem infinito. A ferramenta pressupõe que todos os itens têm o mesmo preço normal e que a oferta concede as unidades gratuitas quando a exigência paga é cumprida. Informe o total realmente comprado, e não o número de grupos, para que as sobras sejam tratadas corretamente.
Entenda o preço efetivo e a economia
A calculadora define cada grupo promocional como a quantidade comprada mais a quantidade gratuita. Ela conta os grupos completos e depois verifica os itens restantes. Em um grupo parcial, os primeiros X itens são pagos; os seguintes ficam gratuitos até o limite do grupo. Itens pagos são o total comprado menos os gratuitos. O total normal multiplica o preço unitário por todos os itens, enquanto o total promocional considera apenas os pagos. A economia total é a diferença. Por fim, o preço efetivo por item divide o total promocional por tudo o que foi recebido, inclusive os brindes. Essa costuma ser a melhor medida para comparação. Um segundo item anunciado como grátis só reduz o custo unitário quando o carrinho forma um par válido; uma unidade avulsa continua integral e aumenta a média. Os resultados são arredondados de modo consistente para doze casas decimais. Impostos, frete, cupons, mensalidades e conversão cambial não são incluídos.
Compare a promoção com alternativas reais
Coloque o resultado efetivo por item ao lado do preço unitário real de outras ofertas. Isso evita comparar um anúncio chamativo com um desconto menor que talvez custe menos na quantidade escolhida. Uma oferta BOGO pode ser ótima quando você precisa de todas as unidades, mas comprar produtos extras apenas para liberar brindes pode aumentar o gasto e o desperdício. Confira o total promocional e o preço efetivo: a média pode parecer boa mesmo quando o valor final ultrapassa seu orçamento. Varejistas podem revisar etiquetas e testes de checkout; educadores e compradores podem explicar ou comparar grupos incompletos. O cálculo é determinístico e não usa rede, data atual, aleatoriedade nem fonte externa, portanto entradas iguais sempre geram resultados iguais. As chamadas de API usam o preço-base publicado de US$ 0,002. A ferramenta considera itens idênticos. Regras do item misto mais barato, limites de resgate, descontos parciais ou promoções acumuladas exigem cálculos separados.
Casos de uso
Comparar promoções de supermercado
Converta uma oferta BOGO no custo efetivo de cada item para a quantidade exata da sua lista de compras.
Conferir um carrinho online
Confirme quantos produtos devem ser gratuitos e compare o total promocional esperado com o checkout.
Avaliar ofertas de fornecedores
Transforme ofertas de caixas leve X e ganhe Y em um valor unitário consistente para comparar compras.
Perguntas frequentes
O que é o preço efetivo por item?
É o total promocional dividido por todos os itens recebidos, inclusive aqueles tornados gratuitos pela oferta.
A calculadora aceita leve dois e ganhe um?
Sim. Defina buy_quantity como 2 e free_quantity como 1 e informe a quantidade total comprada.
O que ocorre com um grupo promocional incompleto?
A exigência paga é preenchida primeiro. Somente os itens restantes além dela podem ser gratuitos no grupo parcial.
Os itens podem ter preços diferentes?
Não. O cálculo pressupõe itens idênticos com um único preço normal e não aplica a regra do item mais barato grátis.
Quanto custa um cálculo pela API?
Cada solicitação à API usa o preço-base publicado de US$ 0,002.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/life/bogo-effective-price \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"unit_price":12.5,"quantity":7,"buy_quantity":2,"free_quantity":1}'const res = await fetch("https://api.kit.forhosting.com/life/bogo-effective-price", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"unit_price": 12.5,
"quantity": 7,
"buy_quantity": 2,
"free_quantity": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/bogo-effective-price",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"unit_price": 12.5,
"quantity": 7,
"buy_quantity": 2,
"free_quantity": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/bogo-effective-price", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"unit_price":12.5,"quantity":7,"buy_quantity":2,"free_quantity":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"unit_price":12.5,"quantity":7,"buy_quantity":2,"free_quantity":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/bogo-effective-price", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"unit_price": 12.5,
"quantity": 7,
"buy_quantity": 2,
"free_quantity": 1
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.bogo_effective_price",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |