Autocomplete de moradas no Jumpseller
Depende da versão do checkout: no Checkout Classic (versão 1) o widget liga-se com um script no editor de tema; no Checkout Standard (versão 2) a Jumpseller não permite scripts nos passos do checkout.
Funciona no checkout: Sim no Checkout Classic (v1) · Não no Checkout Standard (v2)
Por defeito as lojas usam o Checkout Standard (versão 2), que não permite alterar o HTML dos passos do checkout para acrescentar scripts; a única exceção é a página de sucesso, e só através do Google Tag Manager. O Checkout Classic (versão 1) aceita alterações por JavaScript, mas não recebe atualizações nem suporta levantamento em loja.
Para que serve o widget no Jumpseller: no Checkout Classic, a morada de envio; em qualquer versão, formulários próprios nas páginas do tema.
Não testado numa loja real: os ids dos campos vêm do exemplo do centro de ajuda da Jumpseller (2 de outubro de 2026); confirme-os no HTML do seu checkout.
Qual é a versão da sua loja?
Em Settings › Checkout, a opção Checkout Version indica «Standard» (versão 2) ou «Classic» (versão 1). Mudar para Classic ganha a possibilidade de scripts, mas perde funcionalidades do Standard; pese isso antes de mudar só pelo autocomplete.
Checkout Classic (v1): script no editor de tema
O caminho é o mesmo que a Jumpseller documenta para o Google Places: no editor de tema, abra Payment › Checkout e cole o código no fim. Os ids abaixo são os do exemplo oficial (morada, código postal e cidade de envio):
<script src="https://moradas.dev/widget.js"></script>
<script>
(function () {
var input = document.getElementById('order_shipping_address_address');
if (!input) return;
PTAddress.attach(input, {
fill: {
postal: '#order_shipping_address_postal',
city: '#order_shipping_address_city'
}
});
})();
</script>
- As sugestões são só de moradas portuguesas: numa loja que envia para vários países, o campo continua a aceitar qualquer texto quando o cliente escolhe outro país.
- Se o checkout tiver campos de faturação separados, repita o
attachpara esses campos; confirme os ids no HTML da sua loja (botão direito › Inspecionar). - Com o Google Places também ativo, o cliente veria duas listas; use só um dos dois.
Checkout Standard (v2): sem scripts; as JavaScript Apps não são garantia
A Jumpseller tem JavaScript Apps — scripts instalados pela API de uma app (POST /v1/jsapps) com o template checkout, descrito como «All checkout pages». A documentação do checkout, porém, diz que o Standard não aceita scripts em nenhum passo além da página de sucesso, e a página das JavaScript Apps não esclarece se o template checkout corre no Standard. Pergunte ao suporte da Jumpseller antes de contar com isso. Não existe, hoje, uma app Moradas na galeria da Jumpseller.
Páginas do tema
Formulários próprios nas páginas do tema (contacto, pedido de orçamento) aceitam o widget em qualquer versão do checkout: carregue o script e ligue-o ao campo da morada, com os ids dos seus campos, depois de os campos existirem na página:
<script src="https://moradas.dev/widget.js"></script>
<script>
PTAddress.attach(document.querySelector('#morada'), {
fill: { postal: '#cp7', city: '#localidade' }
});
</script>
O que o widget faz
O widget.js carrega-se com uma linha e liga-se ao campo da morada com PTAddress.attach. Enquanto o cliente escreve aparecem sugestões de ruas e localidades portuguesas; ao escolher, os campos indicados em fill recebem o código postal, a localidade, o concelho e o distrito. Numa rua com vários códigos postais, o CP7 exato chega com o número de porta. Se o serviço não responder, o formulário continua a funcionar como antes. Todas as opções — endpoint, fill, onSelect, onResolve, lang, beacon — estão na documentação do widget.
Porque é que o CP7 exato importa
Em Portugal uma rua pode ter vários códigos postais, por troços e pela paridade dos números. Na Avenida da Liberdade, em Lisboa, o n.º 196 tem o código 1250-147, e os números ímpares de 1 a 57 têm o 1250-139. Uma gralha no código postal pode mandar a encomenda para a morada errada.
E os dados dos clientes?
O Moradas não usa cookies e não guarda o texto pesquisado — só contagens agregadas de utilização e, se o beacon ficar ligado, um relatório mínimo quando o serviço falha. Pode remeter para a página de privacidade na política da sua loja.