canducci / cep
CEP do Brasil Web Service ViaCep (https://viacep.com.br)
Installs: 130 762
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: >=8.3.2
Requires (Dev)
- illuminate/support: 8.83.2
- phpspec/phpspec: 7.5.0
- phpunit/phpunit: 8.5.41
README
CEP do Brazil - Web Service https://www.viacep.com.br
Versão de configuração V2 - clique aqui
Instalação do Pacote
composer require canducci/cep
Configuração
1) Laravel
Se você utiliza o Framework
Laravel segue logo abaixo as confgurações após a instalação.
-
Entre na pasta
app/config
no arquivoapp.php
. -
No arquivo procure o
array
providers
-
Entre com o
provider
no final da lista como exemplo:'providers' => [ ... Canducci\Cep\Providers\CepServiceProvider::class ]
-
Dentro do mesmo arquivo (
app.php
) configure os apelidos (Facades
) como exemplo:'aliases' => [ ... 'Cep' => Canducci\Cep\Facades\Cep::class, 'Endereco' => Canducci\Cep\Facades\Endereco::class ]
-
Como utilizar?
5.1 Com Injeção de Dependencia:
Route::get('/cep', function(\Canducci\Cep\Cep $cep){ $cepResponse = $cep->find('01010000'); $data = $cepResponse->getCepModel(); return response()->json($data); }); Route::get('/endereco', function(\Canducci\Cep\Endereco $endereco){ $enderecoResponse = $endereco->find('sp','são paulo', 'ave'); $data = $enderecoResponse->getCepModels(); return response()->json($data); });
5.2 Com Facade Laravel:
Route::get('/cep', function(){ $cepResponse = \Canducci\Cep\Facades\Cep::find('01010000'); $data = $cepResponse->getCepModel(); return response()->json($data); }); Route::get('/endereco', function(){ $enderecoResponse = \Canducci\Cep\Facades\Endereco::find('sp','são paulo', 'ave'); $data = $enderecoResponse->getCepModels(); return response()->json($data); });
5.3 Com
function
(função)Route::get('/cep', function(){ $cepResponse = cep('01010000'); $data = $cepResponse->getCepModel(); return response()->json($data); }); Route::get('/endereco', function(){ $enderecoResponse = endereco('sp','são paulo','ave'); $data = $enderecoResponse->getCepModels(); return response()->json($data); });
-
Resposta satisfatória:
6.1 - Utilize o método
isOk()
para verificar se realmente os dados foram recebidos:$cepResponse = cep('01010000'); if ($cepResponse->isOk()) { $data = $cepResponse->getCepModel(); return response()->json($data); }
e os dados são recuperados pelos metodos ou propriedades, exemplo:
$model->getCep() ou $model->cep $model->getLogradouro() ou $model->logradouro $model->getComplemento() ou $model->c omplemento $model->getBairro() ou $model->bairro $model->getLocalidade() ou $m odel->localidade $model->getUf() ou $model->uf $model->getDdd() ou $model->ddd $model->getSiafi() ou $model->siafi $model->getIbge() ou $model->ibge $model->getGia() ou $model->gia $model->getUnidade() ou $model->unidade $model->getEstado() ou $model->estado $model->getRegiao() ou $model->regiao
6.2 - Dados informados errados
6.2.1 - No
Cep
o valor informado deve possuir um desses formatos:- 01010000, ou
- 01010-000
para uma resposta satisfatória, se não um exceção será lançada.
6.2.2 - No
Endereco
os valores informados segue essas regras- Uf com 2 letras
- Cidade com no minimo 3 letras
- Logradouro com no minimo 3 letras
se não uma exceção será lançada.
2) Qualquer código que usa o composer.phar:
λ php composer.phar require canducci/cep
logo após isso, inclua no seu código o autoload.php
que está dentro da pasta vendor
, exemplo:
<?php require_once 'vendor/autoload.php'; $cepResponse = cep('01010000'); $data = $cepResponse->getCepModel(); echo json_encode($data);