Calculadora de energia solar para o seu site
O visitante digita o consumo da conta de luz na sua página e vê na hora quanto o sistema gera, quanto custa e em quanto tempo se paga, já com a sua formação de preço. São duas peças: um formulário na página e uma rota no seu servidor que guarda a chave.
Como funciona
Três peças, meia hora de trabalho
1. O formulário na sua página
Consumo em kWh e estado bastam. Ligação e cidade são opcionais e deixam a conta mais fiel.
2. Uma rota no seu servidor
Ela recebe o formulário, acrescenta a chave da API e chama a 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 e economia em 25 anos. 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. O exemplo é o mesmo da documentação, seção "Calculadora no seu site".
<!-- Calculadora no seu site. A chave NUNCA vai no navegador:
o formulario chama o SEU backend, e o seu backend chama a ionluz. -->
<form id="calc">
<input name="consumo" type="number" placeholder="Consumo mensal (kWh)" required>
<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 e uma rota SUA, que injeta a chave e repassa para a ionluz
const r = await fetch("/minha-cotacao", {
method: "POST", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ consumoKwhMes: +f.consumo.value, uf: f.uf.value }),
});
const { orcamento } = await r.json();
document.getElementById("resultado").textContent =
"Sistema de " + orcamento.potenciaKwp + " kWp, economia de R$ " +
orcamento.economiaMes1 + " por mes.";
};
</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 voce usa)
export async function POST(req) {
const { consumoKwhMes, 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, uf, preview: true }),
});
const { orcamento } = await r.json();
// devolve so o que a pagina precisa mostrar
return Response.json({ orcamento });
}
A resposta completa, os códigos de erro e os cabeçalhos de limite estão na documentação da API.
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 o link do PDF público 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 mexer no seu site, a página de captação já entrega isso pronta em um endereço só seu.
Perguntas frequentes
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. O exemplo acima mostra as duas metades.
A calculadora gera lead?
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 o link do PDF público.
Quantas chamadas eu posso fazer?
A cotação aceita 60 chamadas por minuto por conta e a checagem de cobertura, 120. Cada resposta traz os cabeçalhos de limite restante, então o seu backend sabe quando esperar.
O preço que aparece é o meu?
É o seu. A cotação usa a formação de preço configurada na sua conta, faixa de potência ou custo mais margem. Trocou a configuração no painel, a calculadora do site muda junto.
Preciso de qual plano?
A chave de API faz parte do Total + API, R$ 97 por mês. Crie a conta grátis, configure o preço e assine quando for publicar no seu site.
Funciona em WordPress, Wix ou site feito à mão?
Funciona em qualquer lugar onde você consiga 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
Configure a sua formação de preço, teste a cotação e assine o Total + API quando for publicar a calculadora.