Pular para o conteúdo

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.

HTML
<!-- 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:

HTML
<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:

HTML
<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>
FunçãoO que faz
Lafra.orcamento.abrir(opcoes)Abre a janela. opcoes.chave: a chave publicável (sem ela, vale a do data-chave do script). opcoes.servicos: lista de códigos de serviço que já vêm marcados (até 10; só os que o formulário oferece). Com outra janela aberta, ela fecha antes.
Lafra.orcamento.fechar()Fecha a janela aberta.

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 o https://, sem caminho e sem porta.
  • www.exemplo.com.br e exemplo.com.br sã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 localhost e 127.0.0.1, em qualquer porta, com http ou https.
  • A página do botão não pode mandar Referrer-Policy: no-referrer: sem o Referer, 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.

CampoPadrãoRegras
Nomesempre2 a 120 letras
Telefone ou e-mailsempreCom “@”, um e-mail válido; senão, telefone com DDD (10 ou 11 dígitos)
EmpresaopcionalAté 120 letras
CPF ou CNPJdesligadoCPF ou CNPJ válido (o CNPJ alfanumérico também)
Endereço da obraobrigatórioAté 240 letras
Tipo de obraopcionalUma das opções da lista (residencial, comercial, galpão…)
Serviços desejadosobrigatórioOs serviços que o formulário oferece; ao menos um quando obrigatório
Área de projeção (m²)opcionalDe 1 a 1.000.000
PavimentosopcionalDe 1 a 200
Prazo desejadoopcionalAté 60 letras
Planta ou projetoopcionalArquivos (ver Anexos)
MensagemopcionalAté 2.000 letras

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):

CódigoServiçoFamília
sptSondagem SPTPerfuração
tradoTrado manualPerfuração
rotativaRotativa mistaPerfuração
percolacaoEnsaio de percolaçãoEnsaios de campo
ambientalAmostragem de soloAmbiental
pocoPoço de monitoramentoAmbiental
coletaColeta de água subterrâneaAmbiental
piezometroPiezômetroInstrumentação
cptEnsaio de piezocone (CPTu)Ensaios de campo
palhetaEnsaio de palhetaEnsaios de campo

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, png e webp.
  • 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

LimiteValor
Pedidos por pessoa (mesmo IP)5 por hora
Pedidos por empresa em Produção300 por dia
Pedidos por empresa em Teste100 por dia
Domínios autorizados20

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_source e utm_medium da 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.app e frame-src https://orcamento.lafra.app).
O pedido de Teste aparece só na Atividade recente, nunca em Solicitações. Isso é de propósito: para ver em Solicitações, use a chave de Produção num domínio autorizado.