Autor Tópico: [RESOLVIDO] - Busca CNPJ - diretamente do site da receita  (Lida 4325 vezes)

Alvaro Alves

  • Novato
  • *
  • Mensagens: 9
[RESOLVIDO] - Busca CNPJ - diretamente do site da receita
« Online: Junho 09, 2016, 04:15:47 pm »
Olá pessoal,
Estou precisando buscar alguns dados diretamente do site da receita pelo cnpj, já busquei em diversos lugares e não encontrei como fazer isso, alguém sabe de alguma forma como posso fazer isso, ou já tenha algo que eu possa utilizar?
« Última modificação: Junho 16, 2016, 04:35:19 pm por Ronyan Alves »


Alvaro Alves

  • Novato
  • *
  • Mensagens: 9
Re:Busca CNPJ - diretamente do site da receita
« Responder #2 Online: Junho 13, 2016, 10:35:29 am »
Ronyan, já tentei estes procedimentos e não tive sucesso com nenhum, tentarei novamente, se eu conseguir posto o resultado aqui.

FredKeyster

  • Expert
  • *****
  • Mensagens: 1725
  • DEWENNINMEN
    • Email
Re:Busca CNPJ - diretamente do site da receita
« Responder #3 Online: Junho 14, 2016, 10:07:26 am »
Olá pessoal,
Estou precisando buscar alguns dados diretamente do site da receita pelo cnpj, já busquei em diversos lugares e não encontrei como fazer isso, alguém sabe de alguma forma como posso fazer isso, ou já tenha algo que eu possa utilizar?

Olá, bom dia!

As dicas do Ronyan não resolve?

Da mais uma olhadinha no fórum, pois um companheiro gravou um vídeo demonstrando tal integração dessa rotina. Salvo me engano fizeram até um seminário sobre isso.

Abraço.
F. A.
Analista de Sistemas

joeltonsilva

  • Expert
  • *****
  • Mensagens: 651
Re:Busca CNPJ - diretamente do site da receita
« Responder #4 Online: Junho 15, 2016, 09:07:14 am »
Olá pessoal,
Estou precisando buscar alguns dados diretamente do site da receita pelo cnpj, já busquei em diversos lugares e não encontrei como fazer isso, alguém sabe de alguma forma como posso fazer isso, ou já tenha algo que eu possa utilizar?

Olá, bom dia!

As dicas do Ronyan não resolve?

Da mais uma olhadinha no fórum, pois um companheiro gravou um vídeo demonstrando tal integração dessa rotina. Salvo me engano fizeram até um seminário sobre isso.

Abraço.

Estranhamente nem o seminário nem os arquivos deste encontram-se mais disponíveis, eu estava usando até a semana passada, do nada parou de funcionar, inclusive estavam em 4 projetos meus..., para não ter mais dor de cabeça acabei abandonando esta integração.

FredKeyster

  • Expert
  • *****
  • Mensagens: 1725
  • DEWENNINMEN
    • Email
Re:Busca CNPJ - diretamente do site da receita
« Responder #5 Online: Junho 15, 2016, 10:08:08 am »
Esse seminário foi feito por um membro do grupo. Por algum motivo o mesmo deletou. Seria interessante ele informar o que houve, acho que o nome do rapaz que fez o seminário se chamava Clarck ou algo parecido.


Salvo me engano ele deve ter usado esse mesmo package https://jansenfelipe.com.br/2015/05/15/cnpjgratis-library-php-buscar-dados-cnpj-receita/



F. A.
Analista de Sistemas

Alvaro Alves

  • Novato
  • *
  • Mensagens: 9
Re:Busca CNPJ - diretamente do site da receita
« Responder #6 Online: Junho 16, 2016, 04:10:40 pm »
Pessoal, achei uma forma de fazer isto, vou compartilhar com todos. Visto que é uma solução que pode ser temporária, pois depende de uma API de terceiros.
lá vai.

crie uma função Curl:

function curlExec($url, $post = NULL, array $header = array()){
 
    //Inicia o cURL
    $ch = curl_init($url);
 
    //Pede o que retorne o resultado como string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
    //Envia cabeçalhos (Caso tenha)
    if(count($header) > 0) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
 
    //Envia post (Caso tenha)
    if($post !== null) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
 
    //Ignora certificado SSL
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
    //Manda executar a requisição
    $data = curl_exec($ch);
 
    //Fecha a conexão para economizar recursos do servidor
    curl_close($ch);
 
    //Retorna o resultado da requisição
 
    return $data;
}


//---------------------Exemplo de utilização --------------------------------------------
$cnpj = "01432667000126";

$teste = curlExec("http://receitaws.com.br/v1/cnpj/".$cnpj);

$obj = json_decode($teste);

//busca a atividade principal
$atividade_principal = $obj->atividade_principal;
foreach ($atividade_principal as $a) {
   echo "atividade: $a->text  -  $a->code </br>";
}

//busca a data da situaçao
$data_situacao = $obj->data_situacao;
echo "Data de situação: $data_situacao </br>";

//busca o tipo = Matriz/filial
$tipo = $obj->tipo;
echo "Tipo: $tipo </br>";

//busca o nome
$nome = $obj->nome;
echo "Nome: $nome </br>";

//busca as atividades secundárias
$atividades_secundarias = $obj->atividades_secundarias;
echo "Atividades secundárias: </br>";

foreach ($atividades_secundarias as $a){
   echo "$a->text : $a->code </br>";
}


//------------------Outros parâmetros que podem ser buscados ----------------------
 $obj->situacao
 $obj->bairro
 $obj->logradouro
 $obj->numero
 $obj->cep
 $obj->municipio
 $obj->uf
 $obj->abertura
 $obj->natureza_juridica
 $obj->fantasia
 $obj->cnpj
 $obj->ultima_atualizacao
 $obj->status
 $obj->complemento
 $obj->email
 $obj->efr
 $obj->motivo_situacao
 $obj->situacao_especial
 $obj->data_situacao_especial

inaciofuhr

  • Novato
  • *
  • Mensagens: 18
    • Email
Re:[RESOLVIDO] - Busca CNPJ - diretamente do site da receita
« Responder #7 Online: Outubro 23, 2017, 08:25:01 pm »
Desulpe a ignorância! Estou aprendendo!
com o exemplo eu crio uma aplicação tipo formulário?
a função eu devo inserir nos eventos?
att

Joni Morais

  • Avançado
  • ****
  • Mensagens: 302
    • Email
Re:[RESOLVIDO] - Busca CNPJ - diretamente do site da receita
« Responder #8 Online: Outubro 24, 2017, 04:33:40 pm »

Amigo sei que estas começando, mas sugiro estudar o básico do SC. Assista aos videos percorra os exemplos e treine. Verás que não é dificil essa parte básica. Em relação ao solicitado deverá cria uma aplicação blank da seguinte maneira:


====


No evento onExecute coloque o código:


$cnpj = "01432667000126";
$teste = curlExec("https://receitaws.com.br/v1/cnpj/".$cnpj);
$obj = json_decode($teste);


//busca a atividade principal
$atividade_principal = $obj->atividade_principal;
foreach ($atividade_principal as $a) {
   echo "atividade: $a->text  -  $a->code </br>";
}


//busca a data da situaçao
$data_situacao = $obj->data_situacao;
echo "Data de situação: $data_situacao </br>";


//busca o tipo = Matriz/filial
$tipo = $obj->tipo;
echo "Tipo: $tipo </br>";




//busca o nome
$nome = $obj->nome;
echo "Nome: $nome </br>";


//busca as atividades secundárias
$atividades_secundarias = $obj->atividades_secundarias;
echo "Atividades secundárias: </br>";


foreach ($atividades_secundarias as $a){
   echo "$a->text : $a->code </br>";
}




=====


criar uma função da seguinte forma:
Metodos PHP (em programação) coloque o código:


    //Inicia o cURL
    $ch = curl_init($url);
 
    //Pede o que retorne o resultado como string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
    //Envia cabeçalhos (Caso tenha)
    if(count($header) > 0) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
 
    //Envia post (Caso tenha)
    if($post !== null) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
 
    //Ignora certificado SSL
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
    //Manda executar a requisição
    $data = curl_exec($ch);
 
    //Fecha a conexão para economizar recursos do servidor
    curl_close($ch);
 
    //Retorna o resultado da requisição
 
    return $data;


Lembre-se de criar os parâmetros da função (use o botão PARÂMETROS para criá-los) use o lapizinho para editar. Veja a figura abaixo:



O cabeçalho da função deverá conter as variáveis como na figura abaixo:





Claro que dá para ficar bem melhor que isso. O ideal seria criar um controle com um campo virtual para digitar o CNPJ e processar a requisição na API. Mas para aprender acredito já ser um caminho!


Veja o documentação da API em https://www.receitaws.com.br/api e verás mais detalhes.


Espero ter ajudado!

« Última modificação: Outubro 24, 2017, 04:42:00 pm por Joni Morais »
Shared Host Linux;
10.1.28-MariaDB;
SC 8.1.067
SC 9.0.21

joeltonsilva

  • Expert
  • *****
  • Mensagens: 651
Re:[RESOLVIDO] - Busca CNPJ - diretamente do site da receita
« Responder #9 Online: Outubro 24, 2017, 06:57:52 pm »

inaciofuhr

  • Novato
  • *
  • Mensagens: 18
    • Email
Re:[RESOLVIDO] - Busca CNPJ - diretamente do site da receita
« Responder #10 Online: Outubro 24, 2017, 09:59:09 pm »

Amigo sei que estas começando, mas sugiro estudar o básico do SC. Assista aos videos percorra os exemplos e treine. Verás que não é dificil essa parte básica. Em relação ao solicitado deverá cria uma aplicação blank da seguinte maneira:


====


No evento onExecute coloque o código:


$cnpj = "01432667000126";
$teste = curlExec("https://receitaws.com.br/v1/cnpj/".$cnpj);
$obj = json_decode($teste);


//busca a atividade principal
$atividade_principal = $obj->atividade_principal;
foreach ($atividade_principal as $a) {
   echo "atividade: $a->text  -  $a->code </br>";
}


//busca a data da situaçao
$data_situacao = $obj->data_situacao;
echo "Data de situação: $data_situacao </br>";


//busca o tipo = Matriz/filial
$tipo = $obj->tipo;
echo "Tipo: $tipo </br>";




//busca o nome
$nome = $obj->nome;
echo "Nome: $nome </br>";


//busca as atividades secundárias
$atividades_secundarias = $obj->atividades_secundarias;
echo "Atividades secundárias: </br>";


foreach ($atividades_secundarias as $a){
   echo "$a->text : $a->code </br>";
}




=====


criar uma função da seguinte forma:
Metodos PHP (em programação) coloque o código:


    //Inicia o cURL
    $ch = curl_init($url);
 
    //Pede o que retorne o resultado como string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
    //Envia cabeçalhos (Caso tenha)
    if(count($header) > 0) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
 
    //Envia post (Caso tenha)
    if($post !== null) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
 
    //Ignora certificado SSL
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
    //Manda executar a requisição
    $data = curl_exec($ch);
 
    //Fecha a conexão para economizar recursos do servidor
    curl_close($ch);
 
    //Retorna o resultado da requisição
 
    return $data;


Lembre-se de criar os parâmetros da função (use o botão PARÂMETROS para criá-los) use o lapizinho para editar. Veja a figura abaixo:



O cabeçalho da função deverá conter as variáveis como na figura abaixo:





Claro que dá para ficar bem melhor que isso. O ideal seria criar um controle com um campo virtual para digitar o CNPJ e processar a requisição na API. Mas para aprender acredito já ser um caminho!


Veja o documentação da API em https://www.receitaws.com.br/api e verás mais detalhes.


Espero ter ajudado!



Joni Morais
Obrigado pela ajuda!
Criei, com suas orientações, uma aplicação de controle com o campo virtual para digitar o cnpj e um insert para inserir os dados no banco de dados, preliminarmente está funcionando, falta eu adaptar para gravar a array da atividade principal e secundária.
Grande abraço!