Integrar
Formulário de orçamento
Ponha no seu site a janela de pedido de orçamento que cai direto em Solicitações.
Nesta página
Como funciona
O script https://js.lafra.app/v1/orcamento.js (JavaScript puro, sem dependências e sem cookie) abre, por cima do seu site, uma janela com o formulário da Lafra. A janela é um iframe em https://orcamento.lafra.app/<chave publicável>: os dados digitados vão direto para a Lafra, nunca passam pelo seu site.
A janela fecha no “×”, com a tecla Esc ou com um clique fora dela. Os campos, os serviços e o tema vêm do que a empresa escolheu em Propostas › Integração, nunca do endereço; mudou lá, muda no site na próxima abertura, sem trocar o trecho.
Instalar com HTML
Cole o botão onde quiser e o script antes de </body>. Todo elemento com data-lafra-orcamento abre o formulário ao ser clicado, inclusive os que aparecerem depois na página.
<!-- O botão pode ficar onde você quiser -->
<button data-lafra-orcamento>Solicitar orçamento</button>
<script src="https://js.lafra.app/v1/orcamento.js"
data-chave="pk_live_SUA_CHAVE_PUBLICAVEL" async></script>A chave do data-chave do <script> vale para todos os botões. Um botão pode ter a sua própria chave:
<a href="#" data-lafra-orcamento>Pedir orçamento de SPT</a>
<a href="#" data-lafra-orcamento data-chave="pk_live_OUTRA_CHAVE">Pedir pela filial</a>O trecho pronto, com a chave da empresa e o endereço certo do script, está em Propostas › Integração › Instalação.
Abrir por JavaScript
Para abrir a janela por código, a partir de um botão ou link seu:
<button id="meu-botao">Pedir orçamento</button>
<script src="https://js.lafra.app/v1/orcamento.js" async></script>
<script>
document.querySelector('#meu-botao').addEventListener('click', () => {
Lafra.orcamento.abrir({
chave: 'pk_live_SUA_CHAVE_PUBLICAVEL',
servicos: ['spt', 'trado']
});
});
</script>Com uma chave em formato errado, nada abre e o console do navegador mostra Lafra: chave publicável inválida.
Domínios autorizados
A janela só abre dentro de um site da lista de domínios autorizados da empresa (até 20, a mesma lista nos dois modos). A Lafra confere de três jeitos: o cabeçalho Content-Security-Policy da janela (frame-ancestors com os domínios), o Referer da abertura e o Sec-Fetch-Dest (a janela aberta direto na barra do navegador, fora de um iframe, não funciona).
- Só
https. O domínio é guardado sem ohttps://, sem caminho e sem porta. www.exemplo.com.breexemplo.com.brsão domínios diferentes: autorize os dois se o site abre pelos dois. Não há curinga (*.exemplo.com.br).- No modo Teste, também
localhoste127.0.0.1, em qualquer porta, comhttpouhttps. - A página do botão não pode mandar
Referrer-Policy: no-referrer: sem oReferer, a Lafra não sabe de que site veio a abertura e recusa. O padrão dos navegadores (strict-origin-when-cross-origin) serve.
As recusas por domínio aparecem na Atividade recente da Integração, com o endereço do site que tentou (com limite de registros por hora).
Campos
Nome e “Telefone ou e-mail” são sempre pedidos. Os outros a empresa deixa desligados, opcionais ou obrigatórios. A conferência é feita no servidor da Lafra (e de novo no banco), não só na tela.
A janela tem também uma verificação invisível contra robôs (Cloudflare Turnstile). Aberta, ela vale por 2 horas; depois disso, feche e abra de novo.
Serviços
A lista de serviços do formulário segue Configurações › Serviços e preços até a empresa mudá-la na Integração. Os códigos (usados em servicos do Lafra.orcamento.abrir e na API):
Tema
Claro ou escuro, escolhido na Integração. As cores do formulário são fixas em cada tema (não seguem as cores do seu site), e o topo da janela, desenhado pelo script, acompanha o tema escolhido.
Anexos
- Até 3 arquivos por pedido, de até 20 MB cada.
- Tipos aceitos:
pdf,dwg,dxf,kmz,kml,jpg/jpeg,pngewebp. - Os arquivos vão do navegador direto para um armazenamento privado da Lafra. Só os que chegam inteiros aparecem na solicitação; os outros são apagados depois de 24 horas.
- No modo Teste os arquivos são conferidos, mas não são guardados.
Limites
Passou do limite, o formulário mostra “Muitas tentativas. Tente de novo em alguns minutos.” A empresa sem plano ativo não recebe pedidos (a janela mostra “Este formulário não está disponível.”).
O que cai em Solicitações
Em Produção, cada pedido aceito vira uma solicitação em Propostas › Solicitações (código SL-0001, SL-0002…), com os campos preenchidos, os anexos e a origem:
- o domínio do site;
- o caminho da página onde estava o botão (até 200 letras);
- a campanha:
utm_sourceeutm_mediumda página (ex.:google / cpc); sem eles, “Acesso direto”.
Do seu site, só isso vai para a Lafra. Com o webhook ligado, cada solicitação também gera o evento solicitacao.criada. No modo Teste nada cai em Solicitações nem gera evento: o pedido aparece só na Atividade recente.
Erros comuns
“Este formulário não está disponível.”
- A chave publicável está errada ou é de outro modo (confira o trecho na Integração).
- O domínio do site não está na lista (ou falta a versão com ou sem “www.”).
- O site abre em
http(fora do Teste, sóhttps). - A página manda
Referrer-Policy: no-referrer. - O endereço da janela foi aberto direto no navegador, fora do script.
- A empresa está sem plano ativo.
O botão não faz nada
- Veja o console do navegador: “Lafra: chave publicável inválida.” indica a chave com algum símbolo a mais ou a menos.
- Confira se o script carregou (a política de segurança do seu site precisa permitir
script-src https://js.lafra.appeframe-src https://orcamento.lafra.app).