Integrações · O teu formulário

O autocomplete de moradas no teu formulário, em três ficheiros.

Nenhum plugin, nenhuma plataforma: um ficheiro JavaScript que se liga aos campos que já tens, um proxy pronto para o teu servidor que mantém o token em segurança, três linhas para os ligar. O visitante escreve, a rua completa-se, código postal, cidade e distrito preenchem-se sozinhos; uma morada escrita à mão é verificada quando sai do campo. Sugestões a partir dos registos de 26 países.

O widget da RadarAddress em qualquer formulário: a rua completa-se enquanto escreves

O que há no kit

  • ra-suggerisci.js·o widget: sem dependências, o mesmo ficheiro dos plugins WooCommerce e PrestaShop; sugere enquanto escreves e, na seleção, distribui a morada verificada pelos campos
  • ra-proxy.php·o proxy: mantém o token no servidor, aceita apenas o teu domínio, trava por visitante, reencaminha para a RadarAddress; se o token faltar ou o crédito tiver acabado, responde com uma lista vazia e o formulário continua
  • esempio.html·um formulário completo — país, morada, código postal, cidade, distrito — que funciona assim que o token está no proxy: copia-se e adapta-se
  • README·as opções do widget, o contrato do proxy para quem não usa PHP, o que consome

Como se faz, em três passos

1

Cria a conta e o token

A conta é gratuita, não pede cartão e todos os meses inclui uma quota de operações: o token cria-se num clique e os passos estão explicados lá.

2

Põe o proxy no servidor

Copia ra-proxy.php para o mesmo domínio do formulário e escreve o token na linha indicada (melhor ainda: num ficheiro fora da pasta web, lido a partir daí). Nada mais a configurar.

3

Liga o widget aos campos

Inclui ra-suggerisci.js na página e indica os seletores dos teus campos: morada, código postal, cidade, distrito e, se existir, o país. O resto faz o widget.

<script src="ra-suggerisci.js"></script>
<script>
RASuggerisci.attacca({
  url: '/ra-proxy.php',                       // o proxy no teu servidor, nunca a API
  campi: { indirizzo: '#indirizzo', cap: '#cap', localita: '#citta',
           provincia: '#provincia', nazione_iso2: '#nazione' },   // o país é facultativo
  lingua: 'pt'
});
</script>

campi aceita qualquer seletor CSS. As opções extra: onSeleziona recebe o registo verificado (morada normalizada, resultado, coordenadas quando existem), scriviCampo para os formulários React e Vue, correggiAlBlur para decidir se também se verificam as moradas escritas à mão, headers para um token CSRF em direção ao proxy. Tudo no README do kit; o contrato da API está na documentação.

Requisitos: qualquer página web e, para o proxy do kit, PHP 8.0 ou posterior com cURL; caso contrário, sessenta linhas na tua linguagem. O widget é publicado com a licença Academic Free License 3.0.

O que acontece no formulário

  • Enquanto escreve·depois de duas letras o widget propõe as ruas, com o nome completo e o município; as letras seguintes filtram o que já recebeu, sem chamar o servidor a cada tecla; código postal e cidade já preenchidos estreitam a pesquisa
  • Na seleção·a morada verificada entra nos campos na forma correta — rua por extenso, número de porta, código postal certo mesmo nas grandes cidades com código postal zonado, cidade e distrito — e conta-se uma verifica contatto; os números da rua completam-se sem outros custos
  • Escrita à mão·quem ignora a lista e escreve tudo por si é verificado quando sai do campo: se a morada é reconhecida, os campos arrumam-se; senão, fica como está. Nada bloqueia o envio
  • No estrangeiro·com o país indicado, as sugestões vêm do registo desse país e o visitante escreve como se escreve lá, mesmo tudo num único campo; a atribuição do registo está no fundo da lista

Perguntas frequentes

Porque é preciso um proxy? Não posso chamar a API a partir da página?

O token da API dá acesso ao teu crédito: na página, qualquer um o poderia ler. O widget só fala com um endereço do teu próprio site; aí, um ficheiro de sessenta linhas acrescenta o token e reencaminha. O proxy PHP do kit está pronto: copia-se, escreve-se o token, e está feito.

O meu site não é em PHP.

O proxy é a referência, não uma obrigação: recebe o JSON do browser, acrescenta o cabeçalho Authorization com o token, reencaminha para /api/v1/suggest e devolve a resposta. Reescreve-se em qualquer linguagem em poucos minutos; o README descreve o contrato.

Funciona com React, Vue, Angular?

Sim: o widget liga-se aos campos com qualquer seletor CSS. Os formulários controlados exigem que o valor seja escrito com o setter nativo: a opção scriviCampo serve para isso, e é a que o plugin WooCommerce usa no checkout de blocos.

O que consome?

Escrever é grátis. Conta-se uma verifica contatto quando o visitante seleciona uma morada da lista (ou quando uma morada escrita à mão é verificada ao sair do campo, se deixares ativo correggiAlBlur): uma por morada, não por tecla. Todos os meses as primeiras 50 são gratuitas; a partir daí, os pacotes e as subscrições da página de preços.

E se o crédito acabar, ou a RadarAddress não responder?

O widget cala-se e o formulário funciona como sempre: nenhuma mensagem ao visitante, nenhum envio bloqueado. O proxy devolve uma lista vazia nos casos 401, 402 e em qualquer erro de rede.

Também funciona no estrangeiro?

Para todos os países em serviço: basta um campo com o código ISO do país (uma select com IT, DE, FR… ou um campo oculto) indicado em nazione_iso2. O visitante escreve como se escreve no seu país, mesmo tudo num único campo; o popup mostra a atribuição do registo.

Posso mudar o aspeto do popup?

O widget traz os seus próprios estilos, sem ficheiro CSS: as variáveis --ra-sugg-bg, --ra-sugg-bordo e --ra-sugg-hover na tua página mudam as cores; a classe é .ra-sugg-pop para o resto.

Versões

  • 1.0.0 — primeira versão do kit: widget, proxy PHP com limites e controlo da origem, formulário de exemplo, README.

As outras integrações: WooCommerce, PrestaShop, AcyMailing, Convert Forms e Community Builder. A lista.