Download the PHP package azumamagus/get-cnpj without Composer

On this page you can find all versions of the php package azumamagus/get-cnpj. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package get-cnpj

GetCNPJ

GetCNPJ para PHP

Consulte dados públicos de empresas brasileiras com resposta padronizada,
validação de CNPJ e fallback automático entre múltiplos provedores.

Versão no Packagist Downloads Testes Versões do PHP

PHP puro · Laravel · CodeIgniter 4


Instalação

Comece em 30 segundos

O CNPJ pode ser informado com ou sem máscara. A biblioteca valida os dígitos verificadores antes de realizar qualquer chamada HTTP.

Por que usar?

Compatibilidade

Ambiente Versão Forma de uso
PHP puro PHP 8.1+ new CnpjClient()
Laravel 10, 11, 12 e 13 Injeção, singleton e Facade
CodeIgniter 4.x service('getCnpj')
HTTP PSR-18 Guzzle incluído ou cliente customizado

O núcleo é testado em PHP 8.1. As integrações com as versões atuais de Laravel e CodeIgniter 4 são testadas em PHP 8.2, 8.3 e 8.4.

Provedores e fallback

Os provedores são consultados nesta ordem:

Prioridade Provedor Inscrição estadual Endereço QSA Simples Nacional
1 CNPJ.WS
2 ReceitaWS
3 BrasilAPI
4 CNPJA

Quando um provedor falha, a exceção é registrada em $result->errors e a consulta segue para o próximo. Se todos falharem, o resultado contém os detalhes de cada tentativa.

Sumário

PHP puro

Laravel

O Laravel encontra automaticamente o Service Provider e a Facade declarados no pacote. Não é necessário editar bootstrap/providers.php ou config/app.php.

Injeção de dependência

O cliente é registrado como singleton e também pode ser resolvido diretamente:

Facade

Configuração do Laravel

Publique o arquivo config/getcnpj.php:

Configure pelo .env:

Se houver uma implementação de Psr\Http\Client\ClientInterface registrada no container, ela será utilizada automaticamente. Caso contrário, o pacote usa o Guzzle incluído.

CodeIgniter 4

Com o Service Discovery padrão habilitado, o CodeIgniter encontra automaticamente GetCNPJ\Config\Services:

service('getCnpj') retorna uma instância compartilhada. Para criar uma nova instância:

Também é possível acessar o serviço diretamente:

Configure pelo .env do CodeIgniter:

Se discoverInComposer estiver desabilitado em app/Config/Modules.php, use \GetCNPJ\Config\Services::getCnpj() ou permita azumamagus/get-cnpj na descoberta de pacotes.

Provedor específico

Use o enum para evitar erros de digitação:

Também são aceitas as strings CNPJWS, ReceitaWS, BrasilAPI e CNPJA, sem diferenciação entre maiúsculas e minúsculas.

Configuração avançada

Cliente HTTP customizado

Qualquer cliente PSR-18 pode ser injetado:

Isso também facilita testes, observabilidade, proxies e políticas HTTP próprias da aplicação.

Modelo retornado

Uma consulta sempre retorna GetCNPJ\Models\CnpjResult:

Em caso de sucesso, CnpjData oferece:

Grupo Propriedades
Identificação cnpj, razaoSocial, nomeFantasia
Cadastro dataAbertura, situacao, dataSituacao, tipo, porte
Jurídico naturezaJuridica, capitalSocial
Localização endereco
Atividades atividadePrincipal, atividadesSecundarias
Pessoas quadroSocietario
Contato telefones, email
Fiscal inscricoesEstaduais, simples
Origem ultimaAtualizacao, provedor

Datas são instâncias de DateTimeImmutable. Todos os modelos implementam JsonSerializable:

Exemplo resumido:

Tratamento de erros

CNPJ inválido

Um CNPJ com tamanho ou dígitos verificadores inválidos lança InvalidCnpjException antes da consulta:

Falha dos provedores

Erros de rede ou respostas inválidas não interrompem o fallback. Se todos os provedores falharem:

Rate limiting

O Sliding Window mantém um contador separado para cada provedor. Por padrão são permitidas três requisições por minuto para cada serviço. Quando o limite é atingido, a chamada aguarda até a requisição mais antiga sair da janela.

O controle permanece em memória durante a vida da instância de CnpjClient. Em aplicações distribuídas, configure limites também na infraestrutura ou implemente RateLimiterInterface com armazenamento compartilhado.

Uso responsável

Este pacote consulta APIs públicas de terceiros. Portanto:

Desenvolvimento e testes

A suíte usa respostas HTTP simuladas para validar CNPJ, mapeamento, fallback e rate limiting. Também inicializa ambientes reais dos frameworks para testar container e Facade do Laravel e serviços do CodeIgniter 4.

O GitHub Actions executa:

Publicação de versões

O pacote está disponível em packagist.org/packages/azumamagus/get-cnpj.

Novas versões são publicadas automaticamente ao enviar uma tag semântica:

O workflow valida a tag, o Composer e os testes antes de notificar a API oficial do Packagist. Pré-lançamentos como v1.1.0-beta.1 também são aceitos.

Uma versão estável publicada no Packagist é imutável. Para corrigir uma versão, crie uma nova tag; nunca mova ou recrie uma tag existente.

Contribuindo

Issues e pull requests são bem-vindos. Ao contribuir:

  1. crie uma branch para a alteração;
  2. adicione ou atualize os testes;
  3. execute composer test;
  4. abra um pull request descrevendo o comportamento alterado.

Licença

Distribuído sob a licença MIT. Consulte LICENSE.


Feito para tornar consultas de CNPJ simples, resilientes e independentes de framework.


All versions of get-cnpj with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-json Version *
guzzlehttp/guzzle Version ^7.8
psr/http-client Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package azumamagus/get-cnpj contains the following files

Loading the files please wait ...