| Server IP : 54.94.228.101 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/app/Services/ |
Upload File : |
<?php
namespace App\Services;
use Exception;
class CepService {
public static function buscar($cep){
$retorno = [];
try {
$cep = trim($cep);
$cep = preg_replace("/[^0-9]/", "", $cep);
$curl = curl_init();
// $url = 'http://republicavirtual.com.br/web_cep.php?cep='.$cep.'&formato=jsonp'; realizar buscar ver se tem outras chamadas
$url = 'https://viacep.com.br/ws/'.$cep.'/json/';
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$resultado = curl_exec($curl);
$err = curl_error($curl);
if($err):
$err = json_encode(['error' => $err]);
endif;
curl_close($curl);
$resultado = $err ? $err : $resultado;
$resultado = json_decode($resultado);
if(isset($resultado->bairro)){
$retorno = [
'status' => true,
'bairro' => $resultado->bairro,
'cep' => $resultado->cep,
'cidade' => $resultado->localidade,
'ddd' => $resultado->ddd,
'ibge' => $resultado->ibge,
'logradouro' => $resultado->logradouro,
'complemento' => $resultado->complemento,
'uf' => $resultado->uf,
];
}else{
$retorno['status'] = false;
$retorno['message'] = "CEP {$cep} não localizado!";
}
} catch (Exception $e) {
$retorno['status'] = false;
$retorno['message'] = "Falha ao buscar CEP: {$cep}";
}
return (object)$retorno;
}
}