quarta-feira, setembro 18, 2024
spot_img
InícioRamos da InformáticaPHPPHP - Buscar CEP e rastreamento dos Correios

PHP – Buscar CEP e rastreamento dos Correios

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.

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

  1. Repositórios interessantes para CEP e Correios
  2. Design de Games: O que é preciso para trabalhar na área?
  3. Ferramentas para trabalho remoto e desenvolvimento Front-End
  4. Ferramentas para rastrear baleias cripto e quando comprar o mergulho
  5. Como Aprender e Ensinar programação Python
  6. Extensões do VSCode pra escrever testes unitários com  Cypress

 

Ramos da Informática
Ramos da Informáticahttps://ramosdainformatica.com.br
Ramos da Informática é um hub de comunidade sobre linguagens de programação, banco de dados, DevOps, Internet das Coisas, tecnologia da indústria 4.0, Cyber Segurança e Startups.
ARTIGOS RELACIONADOS
- Advertisment -spot_img

MAIS LIDOS

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

E-Zine Ramos da Informática

Assine o E-Zine e tenha Conteúdo Exclusivo, Concursos para assinantes, descontos exclusivos e uma área de conteúdos exclusivos só do E-zine.