Calculadora de energia solar para o seu site
O visitante manda a foto da conta de luz, o valor da conta ou o consumo em kWh no seu site e vê na hora quanto o sistema gera e quanto economiza, com o seu preço. Há dois caminhos: colar a sua página no site, com um trecho de código e em qualquer plano, ou montar a sua própria calculadora com a API.
O jeito rápido
A sua página de captação dentro do site
Em Sua página, no painel, copie o código de “Embutir no seu site” e cole onde a calculadora deve aparecer. Ela entra com a sua marca, recebe a foto da conta de luz, o valor da conta ou o consumo em kWh, mostra a economia na hora e grava o contato com consentimento. No plano Grátis, a página vale o teste da máquina, 14 dias ou 20 orçamentos automáticos, o que vier primeiro; no plano Máquina, não tem limite.
<iframe src="https://app.ionluz.com.br/o/sua-empresa?embed=1" width="100%" height="1000" style="border:0;border-radius:12px"></iframe>
O ?embed=1 tira as margens de fora da página, que somariam com as do seu site. Veja num site de exemplo.
O jeito sob medida
A sua calculadora pela API, em três peças
1. O formulário na sua página
Consumo em kWh e estado bastam. Cidade e ligação são opcionais e deixam a conta mais fiel: a cidade muda a irradiação e decide se o pedido está dentro do seu raio de atendimento.
2. Uma rota no seu servidor
Ela recebe o formulário, acrescenta a chave da API e chama o ionluz. A chave fica no servidor, longe do navegador.
3. A cotação volta pronta
Potência em kWp, valor, economia do primeiro mês, payback, economia em 25 anos e quanto do consumo o sistema cobre. Em preview, sem gravar nada. Ver a API.
O formulário e o script da página
Cole no seu site e troque o endereço da rota pelo seu. Pedido fora do seu raio ou em faixa marcada “não atendo” volta com o motivo, e a página pede o contato.
<!-- Calculadora no seu site. A chave nunca vai ao navegador:
o formulário chama o SEU servidor, e o seu servidor chama o ionluz. -->
<form id="calc">
<input name="consumo" type="number" placeholder="Consumo mensal (kWh)" required>
<input name="cidade" placeholder="Cidade">
<select name="uf"><option>SP</option><option>MG</option><option>RJ</option></select>
<button>Simular economia</button>
</form>
<p id="resultado"></p>
<script>
document.getElementById("calc").onsubmit = async (e) => {
e.preventDefault();
const f = e.target;
// /minha-cotacao é uma rota SUA, que injeta a chave e repassa para o ionluz
const r = await fetch("/minha-cotacao", {
method: "POST", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ consumoKwhMes: +f.consumo.value, cidade: f.cidade.value, uf: f.uf.value }),
});
const c = await r.json();
const saida = document.getElementById("resultado");
if (!c.ok) {
saida.textContent = c.error === "fora-da-area"
? "Ainda não atendemos a sua cidade com preço automático. Deixe o seu contato."
: "Para esse pedido, deixe o seu contato que a gente responde.";
return;
}
saida.textContent = "Sistema de " + c.potenciaKwp + " kWp, " + c.preco +
", economia de R$ " + c.economiaMes1 + " no primeiro mês.";
};
</script>
A rota no seu servidor
É aqui que a chave entra. Guarde em variável de ambiente e devolva ao navegador só o que a página vai mostrar.
// /minha-cotacao no SEU servidor (Node, Next, Express, o que você usa)
export async function POST(req) {
const { consumoKwhMes, cidade, uf } = await req.json();
const r = await fetch("https://app.ionluz.com.br/api/v1/quote", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.IONLUZ_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ consumoKwhMes, cidade, uf, preview: true }),
});
const j = await r.json();
// faixa marcada "não atendo" ou cliente acima do seu raio: a conta pede o contato
if (!j.ok) return Response.json({ ok: false, error: j.error }, { status: r.status });
// nas contas com Sua tabela, o preço vem como a conta publica: o valor, uma faixa ou nenhum número
const publicado = j.preco && j.preco.publicado;
const preco = publicado ? publicado.rotulo : "R$ " + Math.round(j.orcamento.valorFinal).toLocaleString("pt-BR");
// devolve só o que a página vai mostrar
return Response.json({
ok: true,
potenciaKwp: j.orcamento.potenciaKwp,
economiaMes1: j.orcamento.economiaMes1,
cobrePct: j.orcamento.cobrePct,
preco,
});
}
A resposta completa, os códigos de erro e os cabeçalhos de limite estão na documentação da API e no contrato OpenAPI.
De cotação a lead
Quando o visitante quiser falar, grave a proposta
A mesma chamada, com preview: false e consent: true, grava a proposta, cria o lead no seu painel com consumo e contato e devolve os links do PDF e da proposta para você mandar no WhatsApp. O consentimento fica registrado com data e versão do texto, como a LGPD pede.
Se você prefere não programar, cole no site o código da sua página: o visitante simula e vira contato do mesmo jeito, em qualquer plano.
Perguntas frequentes
Qual dos dois caminhos escolher?
Sem programar, o jeito rápido: cole o código da sua página de captação e pronto, em qualquer plano. Com alguém que cuide do site, o jeito sob medida: a calculadora com a cara do seu site, pela API em modo preview. Os dois cotam com a sua formação de preço.
Posso colocar a chave direto no JavaScript da página?
A chave fica no seu servidor. Qualquer visitante lê o código que roda no navegador, então o caminho seguro é uma rota sua que injeta a chave e repassa a chamada; vale também para a chave de teste, que gasta a cota diária da conta. O exemplo acima mostra as duas metades. O jeito rápido não usa chave nenhuma.
A calculadora gera lead?
No jeito rápido, sim: a própria página de captação grava o lead, com o consentimento do visitante. Pela API, em preview: true a cotação é calculada e devolvida sem gravar nada. Quando o visitante quiser falar com você, repita a chamada com preview: false e consent: true: aí a proposta é gravada, o lead entra no seu painel e a resposta traz os links do PDF e da proposta.
O preço que aparece é o meu?
É o seu. A cotação usa a formação de preço da sua conta, em um dos três modos: valor por obra + valor por kWp, preço por faixa (R$/kWp) ou custo → venda. Enquanto você não salvar a sua, vale a referência de mercado (pesquisa Greener, set/2026): R$ 3.200 por obra + R$ 1.940 por kWp. Trocou a configuração no painel, a calculadora do site muda junto. Nas contas com Sua tabela, o visitante vê o preço como você escolheu publicar: o valor, uma faixa ou só o pedido de contato.
E se o visitante estiver longe demais?
Se você definiu um raio de atendimento, a API responde fora-da-area (422) com a distância e o raio: mostre uma mensagem pedindo o contato, como o exemplo faz. Faixa marcada “não atendo” responde faixa-nao-atendida. Na página de captação embutida, a própria página pede o contato.
Quantas chamadas eu posso fazer?
A cotação aceita 60 chamadas por minuto por conta e a consulta de cobertura, 120. Com a chave de teste, são 50 por dia. As respostas das chamadas autenticadas trazem os cabeçalhos de limite restante, então o seu servidor sabe quando esperar.
Preciso de qual plano?
Para o jeito rápido, nenhum em especial: a página de captação embutida funciona em qualquer plano. No plano Grátis, a página vale o teste da máquina, 14 dias ou 20 orçamentos automáticos, o que vier primeiro; no plano Máquina, não tem limite. Para a calculadora própria pela API, a chave viva é do plano Máquina, R$ 97 por mês; a chave de teste, de qualquer plano, já deixa você montar e testar em modo preview.
Funciona em WordPress, Wix ou site feito à mão?
Funciona. O código da página de captação entra em qualquer editor que aceite um bloco de HTML. Pela API, basta publicar um formulário e ter uma rota de servidor: em WordPress a rota vira um endpoint da REST API do próprio site; em hospedagem sem backend, uma função serverless resolve.
Comece pela conta grátis
A sua página já cota pela referência de mercado e entra no seu site com um trecho de código. Para a calculadora própria pela API, gere a chave de teste e assine o plano Máquina quando for publicar.