[PHP] Package CnpjGratis para realizar consulta no site da Receita

Depois do preenchimento automático dos dados do endereço a partir do CEP, uma outra funcionalidade interessante é auto-completar no formulário os dados de uma empresa.

Com o package jansenfelipe/cnpj-gratis

1º) Acesse o diretório do seu projeto e adicione o package utilizando o composer. Segue o comando:

composer require jansenfelipe/cnpj-gratis

2) Adicione o autoload.php  do composer no .php

require_once 'vendor/autoload.php';

3) Primeiro chame o método getParams()  para retornar os dados necessários para enviar no método consulta()

$params = CnpjGratis::getParams();

4) Agora chame o método consulta()

O código acima está no meu Github:

http://github.com/jansenfelipe/cadastro-empresa

Você pode conferir o funcionamento em:

http://supliu.com.br/cadastro-empresa

 

  • Londe Morato

    testei aqui não funcionou

  • Londe Morato

    o link do funcionamento nao funcionou, nem testei o restante.

  • welton

    Olá,
    na consulta pela receita federal tem uma área de Consulta Quadro de Socios e Administradores. É possível obter essas informações pela biblioteca de consulta de Cnpj?

  • Cristhofer Alencar

    Olá
    Estou com o seguinte problema, já procurei em todo canto para tentar entender o porque aparece isso, mas até agora nada
    Fatal error: Class ‘GoutteClient’ not found in C:xampphtdocscnpjTestevendorjansenfelipecnpj-gratissrcJansenFelipeCnpjGratisCnpjGratis.php on line 21

    • Boa tarde Cristhofer!

      Parece que as dependências não foram instaladas corretamente. No diretorio vendor/ tem a pasta fabpot/goutte ?

      • Cristhofer Alencar

        Boa Tarde Jansen!

        Não tem não, no entanto no download das dependencias não foi apresentado nenhum erro

      • Cristhofer Alencar

        Olá Jansen

        Cara queria saber como faço pra usar as Exceptions que você criou, vi que tem Exception pra Captcha e CNPJ errado, mas quando coloco qualquer um dos dois inválidos a única coisa que aparece é “undefined”. Fiz o teste também no link que você deixou com o componente funcionando e ele não retornar nada também.

        Vlw Cara, desde já agradeço a atenção

  • Claudio Cunha

    Boa Tarde irmão, como eu faço para que toda vez que eu clicar em consultar ele carregue um novo captcha, pois se eu digitar um novo cnpj na pagina e mandar consultar ele nao faz nada, exemplo, se a pessoa digirar o cnpj da filial e consultar, mas viu que era da matriz, a consulta nao vai retornar, pois vai estar usando o captcha da primeira consulta.

  • Alex

    Parabéns pelo projeto cara.
    Há alguma forma de portar esse código em JSF?
    Estou fazendo um sistema que gerencia os estágios, onde a empresa poderá fazer o seu cadastro Online, e uma das pré-validação seria a consulta do CNPJ.

  • Cara, muito bom o projeto… Enquanto a RFB não disponibiliza uma api pública decente, podemos contar com a dedicação de feras como você… Valeu!

  • Douglas Silva

    Olá Jansen! Primeiramente gostaria de agradecer pelo empenho! A biblioteca funciona muito bem!

    Meu único porém é que eu a estou utilizando e sempre depois de uma quantidade de consultas, o ajax que eu chamo não consegue obter resposta da requisição. O tempo limite de execução é atingido e não consigo as informações de receita.
    Contudo, de um dia para o outro, o mesmo código funciona.

    Já testei isso tanto no meu localhost quanto no servidor de produção e acontece a mesma coisa.

    Alguém já relatou esse problema para você antes?

    Desde já agradeço pela atenção!

    Grande abraço!

    • Olá @disqus_HiuAySWSdI:disqus !

      Bem, dependendo da quantidade de requisições feitas lá no site da RF, pode acontecer esse bloqueios.

      já me relataram, porém não vi saída (a não ser usar com moderação rs)

      Um abraço!!

  • thiago de sousa

    Jansen Muito bom o projeto,Mas de alguns dias pra cá a requisição ajax com a pagina da receita federal vem falhando e não retorna nenhum dado.

    Você sabe o porque disso vir acontecendo?

    Grande abraço!

  • Fagner Araujo

    Jansen, me ajuda a rodar o seu modelo http://supliu.com.br/cadastro-empresa , pois nao estou conseguindo. Baixei o composer na ultima versão e com todos os arquivos da pasta, baixei os primeiros, misturei…rs e nada!
    o teste simples retorna a array, mas eu to penando para separar a array e retornar com ela no input, como no seu modelo vc ja montou isso, fica mais fácil aprender com o modelo rodando.

  • Jansen, quando eu faço a consulta retorna sempre vazio. Fiz usando o Laravel 5.3 e o angular 1.5.x

    Qual versão do dom-crawler e css-selector está usando? Sei lá, estou chutando que possa ser algo com estas bibliotecas.

    // esta função funciona, retorna o captcha e o cookie corretamente
    public function getCnpjCaptcha() {
    $params = CnpjGratis::getParams();
    return $params;
    }

    // está retornando array:1 [“code” => 0]
    public function postCnpjCaptcha(Request $request){
    $input = $request->all();
    try {
    if (!isset($input[‘cnpj’]) || !isset($input[‘captcha’]) || !isset($input[‘cookie’]))
    throw new Exception(‘Informe todos os campos’, 99);
    $return = CnpjGratis::consulta($input[‘cnpj’], $input[‘captcha’], $input[‘cookie’]);
    $return[‘code’] = 0;
    } catch (Exception $e) {
    $return = array(‘code’ => $e->getCode(), ‘message’ => $e->getMessage());
    }

    dd($return);
    }

  • Rafael Acácio

    Boa tarde Jansen. Muito bom esse seu código de consulta. Você poderia me dizer se é possível adaptar esse código de consulta de CNPJ para consulta de NFE nesse site http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8= ???

  • Ricardo Zto

    Boa Tarde Jansen, no retorno a receita federal fornece o nome da cidade, correto. Por acaso ela informa também o código da cidade? Eu já tenho um cadastro de cidade feito, e não sei como conciliar essas informações… alguma ideia ? Valeu.