Muitos sistemas PHP, a maioria, precisam buscar o endereço via CEP dos correios e até mesmo buscar o rastreamento do itens enviados.
Esta dica mostra exemplo de como realizar este procedimento utilizando o PHP e no final alguns repositórios sobre o mesmo procedimento para o PHP.
Primeiro é preciso utilizar no PHP o SoapClient para carregar o WSDL (Web Service) e utilizar suas funcionalidades.
VAI GOSTAR:
No código logo abaixo mostra como recuperar as informações mediante o número do CEP.
Conta Exclusiva ChatGPT: Acesso Ilimitado
Desbloqueie o poder do ChatGPT com recursos premium. Aproveite 80,5% de desconto e garantia de 100% de satisfação. Junte-se hoje e viva a melhor experiência de chat com IA!
Cypress, do Zero à Nuvem: domine a automação de testes com confiabilidade e eficiência
Aprimore suas habilidades de automação de testes com Cypress, desde o início até a integração contínua.
Saiba Mais💻 Torne-se um Desenvolvedor Fullstack!
Domine as tecnologias mais requisitadas do mercado e conquiste sua carreira dos sonhos como Desenvolvedor Fullstack. Inscreva-se hoje!
Inscreva-se<?php
$config = array(
"trace" => 1,
"exception" => 0,
"cache_wsdl" => WSDL_CACHE_MEMORY
);
$address = 'https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl';
$client = new SoapClient($address, $config);
$cep = $client->consultaCEP(['cep' =>'01415000']);
Resultado
object(stdClass)#2 (1) { ["return"]=> object(stdClass)#3 (8)
{ ["bairro"]=> string(12) "Consolação" ["cep"]=> string(8) "01415000"
["cidade"]=> string(10) "São Paulo" ["complemento"]=> string(0) ""
["complemento2"]=> string(21) "- até 586 - lado par"
["end"]=> string(15) "Rua Bela Cintra" ["id"]=> int(0)
["uf"]=> string(2) "SP" }
}
Sequencia:
$config: configurações do serviço
$address: endereço do WSDL
$client: instância da classe SoapClient com as configurações e endereço
$cliente->consultaCEP: é a função que recupera as informações do CEP informado
Observações:
1) No consultaCEP para funciona é um Array no formato [cep => 'numero do cep']
2) Esse WebService é muito lento!
CEP inválido e ErrosUse assim:
try
{
$cep = $client->consultaCEP(['cep' =>'11111111']);
var_dump($cep);
}
catch(Exception $e)
{
var_dump($e);
}
object(SoapFault)#3 (10) { [“message”:protected]=> string(18) “CEP NAO ENCONTRADO” [“string”:”Exception”:private]=> string(0) “” [“code”:protected]=> int(0) [“file”:protected]=> string(26) “C:\inetpub\wwwroot\cep.php” [“line”:protected]=> int(16) [“trace”:”Exception”:private]=> array(1) { [0]=> array(6) { [“file”]=> string(26) “C:\inetpub\wwwroot\cep.php” [“line”]=> int(16) [“function”]=> string(6) “__call” [“class”]=> string(10) “SoapClient” [“type”]=> string(2) “->” [“args”]=> array(2) { [0]=> string(11) “consultaCEP” 1=> array(1) { [0]=> array(1) { [“cep”]=> string(8) “11111111” } } } } } [“previous”:”Exception”:private]=> NULL [“faultstring”]=> string(18) “CEP NAO ENCONTRADO” [“faultcode”]=> string(11) “soap:Server” [“detail”]=> object(stdClass)#2 (1) { [“SigepClienteException”]=> string(18) “CEP NAO ENCONTRADO” } }
Você pode então verificar se não retornou nada!
Alternativas prontas de pacotes em PHP no Site PackagistThe PHP Package Repository
1 – zizaco/cep-consult Através do próprio site dos correios
2 – canducci/cep através do site viacep.com.br
3 – cagartner/correios-consulta Um Git mais completo com, inclusive, 0 cálculo de frete
LEIA TAMBÉM:
- Coleção de E-Books sobre programação PHP
- Repositórios interessantes para CEP e Correios
- Design de Games: O que é preciso para trabalhar na área?
- Ferramentas para trabalho remoto e desenvolvimento Front-End
- Ferramentas para rastrear baleias cripto e quando comprar o mergulho
- Como Aprender e Ensinar programação Python
- Extensões do VSCode pra escrever testes unitários com Cypress
Gostou deste conteúdo?
Assine o E-Zine Ramos da Informática e receba semanalmente conteúdos exclusivos focados em desenvolvimento frontend, backend e bancos de dados para turbinar sua carreira tech.
📘 Conteúdo Exclusivo
Dicas, insights e guias práticos para alavancar suas habilidades em desenvolvimento e bancos de dados.
🚀 Hacks de Carreira
Ferramentas, atalhos e estratégias para se destacar e crescer rapidamente no mercado de tecnologia.
🌟 Tendências Tech
As novidades mais relevantes sobre desenvolvimento web, mobile e bancos de dados para você se manter atualizado.
Já somos mais de 5.000 assinantes! Junte-se a uma comunidade de profissionais que compartilham conhecimento e crescem juntos no universo tech.