https://github.com/claudsonm/cep-promise-php
Busca por CEP utilizando Promises nos serviços dos Correios, ViaCEP, CepAberto e outros.
https://github.com/claudsonm/cep-promise-php
cep cepaberto codeigniter composer composer-package correios laravel packagist php promise symfony viacep zend-framework
Last synced: 26 days ago
JSON representation
Busca por CEP utilizando Promises nos serviços dos Correios, ViaCEP, CepAberto e outros.
- Host: GitHub
- URL: https://github.com/claudsonm/cep-promise-php
- Owner: claudsonm
- Created: 2019-03-24T15:57:21.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-07T13:06:45.000Z (about 1 year ago)
- Last Synced: 2025-09-22T02:22:50.713Z (about 1 month ago)
- Topics: cep, cepaberto, codeigniter, composer, composer-package, correios, laravel, packagist, php, promise, symfony, viacep, zend-framework
- Language: PHP
- Homepage:
- Size: 516 KB
- Stars: 30
- Watchers: 3
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CEP Promise PHP
[](https://github.com/claudsonm/cep-promise-php/actions/workflows/run-tests.yml)
[](https://github.com/claudsonm/cep-promise-php/actions/workflows/php-cs-fixer.yml)

[](#contributors)
Um pacote agnóstico para PHP 7.4 e 8.0+ que efetua a busca de CEPs em diversos serviços utilizando [Promises/A+](https://promisesaplus.com/).
Inspirado no pacote [CEP Promise](https://github.com/filipedeschamps/cep-promise)
para Node.js e web browsers.
## Features
- Realiza requests de forma concorrente, retornando sempre a resposta mais rápida;
- Possui alta disponibilidade por utilizar diversos provedores de serviço diferentes;
- Base de CEPs sempre atualizada, já que conecta-se com diversos serviços, dentre eles os Correios;
- Sem limites de requisições (*rate limits*) conhecidas;
- Feito utilizando a implementação para PHP de promises do pacote [guzzle/promises](https://github.com/guzzle/promises);
## Instalação
A maneira recomendada de instalar o pacote é via [Composer](https://getcomposer.org/download/).
Com a ferramenta instalada, execute o comando abaixo:
```bash
composer require claudsonm/cep-promise-php
```
Após instalar, você precisará requerer o autoloader do Composer por meio da
instrução:
```php
require 'vendor/autoload.php';
```
## Exemplos de Uso
### Exemplo 1
Busca utilizando valores inteiros e resposta em forma de objeto.
```php
Aracaju
[district] => Inácio Barbosa
[state] => SE
[street] => Rua Universo
[zipCode] => 49040610
)
*/
```
### Exemplo 2
Busca utilizando uma string numérica e resposta em forma de array.
```php
toArray();
/*
Array
(
[city] => Rondonópolis
[district] => Vila Marinópolis
[state] => MT
[street] => Rua Pirajuí
[zipCode] => 78710857
)
*/
```
### Exemplo 3
Busca utilizando uma string com formatação.
```php
zipCode;
echo $address->street;
echo $address->district;
echo $address->city;
echo $address->state;
/*
'59067540'
'Rua Figueira'
'Pitimbu'
'Natal'
'RN'
*/
```
### Exemplo 4
Captura e tratamento de erros.
```php
toArray();
}
/*
Array
(
[message] => Todos os serviços de CEP retornaram erro.
[code] => 2
[errors] => Array
(
[0] => Array
(
[provider] => via_cep
[message] => CEP não encontrado na base do ViaCEP.
)
[1] => Array
(
[provider] => cep_aberto
[message] => Erro ao se conectar com o serviço CEP Aberto.
)
[2] => Array
(
[provider] => correios
[message] => CEP INVÁLIDO
)
)
)
*/
```
## Contribuidores
Um muito obrigado a todos os serumaninhos que contribuiram com este repositório:
Este projeto segue a especificação do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer natureza são bem vindas!