O novo pacote Postcodes for Laravel, desenvolvido por Joshua Dovey, oferece uma camada cliente para a GB Postcodes API voltada ao ecossistema Laravel. A partir de chamadas simples, o desenvolvedor obtém objetos tipados que representam o código postal, suas coordenadas geográficas e informações administrativas, como autoridade local, distrito e área policial.
Além da simples consulta, o pacote fornece recursos avançados: autocomplete() devolve sugestões de códigos parciais; search() permite resolver lotes de até 100 postcodes por requisição; e radius() ou within() possibilitam buscas por proximidade ou dentro de polígonos GeoJSON, incluindo cálculo de distâncias e geração de matrizes de distância. As respostas trazem ainda dados de limites territoriais, população estimada e censitária.
Para validação de formulários, o Laravel pode usar a regra ValidPostcode, que verifica não apenas o formato, mas a existência real do código via API. A validação pode ser estrita (strict()) ou configurada globalmente em postcodes.validation.strict. Em ambientes de teste, o método Postcodes::fake() substitui o cliente por respostas simuladas, facilitando a cobertura de unidades sem depender de chamadas externas.
“Postcodes for Laravel is Joshua Dovey's client for the GB Postcodes API.” – Yannick Lyn Fatt, Laravel News
Instala‑se o pacote com composer require joshdovey/postcodes, define‑se a chave da API (POSTCODES_API_KEY) e garante‑se
- PHP 8.2 ou superior
- Laravel 12 ou 13
Fonte: Laravel News