Corrida entre provedores
ViaCEP, BrasilAPI, APICep e OpenCEP disparam em paralelo com escalonamento. A primeira resposta válida vence; as demais são descartadas.
Ver provedores
Corrida entre provedores, circuit breaker, cache persistente e fallback offline - sem mudar uma linha da sua aplicação.
npm install @eusilvio/cep-lookupimport { CepLookup } from "@eusilvio/cep-lookup";
import { viaCepProvider, brasilApiProvider, apicepProvider } from "@eusilvio/cep-lookup/providers";
const cep = new CepLookup({
providers: [viaCepProvider, brasilApiProvider, apicepProvider],
circuitBreaker: { enabled: true, failureThreshold: 3, cooldownMs: 30_000 },
retries: 1,
});
const address = await cep.lookup("01001-000");
// {
// cep: '01001000',
// street: 'Praça da Sé',
// neighborhood: 'Sé',
// city: 'São Paulo',
// state: 'SP',
// service: 'ViaCEP'
// }Se o ViaCEP cair, a BrasilAPI assume. Se ela também abrir o circuito, o APICep responde. Sua aplicação continua funcionando.
| Recurso | cep-promise | wrappers de ViaCEP | cep-lookup |
|---|---|---|---|
| Múltiplos provedores | ✅ | ❌ | ✅ |
| Circuit breaker por provedor | ❌ | ❌ | ✅ |
| Health score do provedor | ❌ | ❌ | ✅ |
| Métricas em runtime | ❌ | ❌ | ✅ |
| Observabilidade por eventos | ❌ | ❌ | ✅ |
| Retry com backoff exponencial | ❌ | ❌ | ✅ |
| Rate limiting | ❌ | ❌ | ✅ |
| Fallback offline (zero rede) | ❌ | ❌ | ✅ |
| Verificação de endereço com correção de CEP | ❌ | ❌ | ✅ |
| Provedores customizados | ❌ | ❌ | ✅ |
| Integração React / Vue | ❌ | ❌ | ✅ |
Produtos que resolvem CEP com a biblioteca todos os dias.