Pegar dados de uma empresa na NET pelo CNPJ

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por lucimauro »

https://www.cnpja.com/
Tem esse com uma quantidade razoável grátis de créditos para baixar por dia, ou assinando para baixar quantos quiser, a vantagem que puxa o CGF(inscrição estadual) também.

Editado p/ colocar tag URL by Itamar M. Lins Jr.
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por Linguagemclipper »

lucimauro escreveu:https://www.cnpja.com/
Tem esse com uma quantidade razoável grátis de créditos para baixar por dia, ou assinando para baixar quantos quiser, a vantagem que puxa o CGF(inscrição estadual) também.

Editado p/ colocar tag URL by Itamar M. Lins Jr.
Achei bom! 30/dia, mas só dados do CNPJ (come 1 crédito). Se pegar uma Inscrição Estadual come 5 créditos... :(
Mas, não sei como puxar os dados... Você tem algum exemplo de como trabalhar com esse CNPJá! ?
Aquele lá eu já avancei para puxar até os telefones e email... tive um trabalhão, que droga! rs

Eles passaram pra mim um exemplo para Harbour com o CNPJá!: https://github.com/cnpja/example-harbour

Código: Selecionar todos

PROCEDURE Main()

  // Coloque aqui sua Chave de API
  CHAVEAPI="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

  // Escolha o CNPJ a ser pesquisado
  CNPJ="33000167000101"

  // Cria um objeto para requisicao HTTP
  ? "Buscando CNPJ " + CNPJ + "..."
  http := CreateObject("MSXML2.ServerXMLHTTP")
  http:Open("GET", "https://api.cnpja.com/office/" + CNPJ, .F.)

  // Adiciona sua Chave de API nos headers
  http:SetRequestHeader("Authorization", CHAVEAPI)

  // Envia e imprime a resposta
  http:send()
  response := http:responseText
  ? response

  WAIT
RETURN
Vou ter que rodar pra ver o resultado desse "response" aí...
A resposta é em JSON, ele não tem algum método pra fazer parsing desse format?
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por lucimauro »

Faça o cadastrado para receber a chave de acesso ao webservice.
Depois com essa chave voce consulta e recebe um JSON com os dados
Qualquer coisa posta aqui como ficou.
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por Linguagemclipper »

Vou fazer.
A questão é que é uma chave por cliente... então, o cara tem que colocar um campo no sistema para cadastrar essa chave. Daí, o próprio cliente faz o cadastro lá e informa a chave no sistema. 30/dia para um cliente é bom, mas se a gente colocar a nossa vai embora rapidinho. Depois, depende do cliente se precisar e quiser pagar para liberar mais.
Achei interessante essa pegada.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por Linguagemclipper »

Olha o JSON que dá:

Código: Selecionar todos

{"updated":"2022-04-13T13:55:05Z","taxId":"33000167000101","alias":"PETROBRAS - EDISE","founded":"1966-09-28","head":true,"company":{"id":33000167,"name":"PETROLEO BRASILEIRO S A PETROBRAS","jurisdiction":"Uniao","equity":205431960490.52,"nature":{"id":2038,"text":"Sociedade de Economia Mista"},"size":{"id":5,"acronym":"DEMAIS","text":"Demais"},"members":[{"since":"2021-04-22","person":{"id":"15401349-187c-4277-b58f-80582031ea89","name":"Salvador Dahan","type":"NATURAL","taxId":"***672828**","age":"41-50"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-05-10","person":{"id":"202833c8-2b47-4da5-89c6-04d46b4f84e9","name":"Claudio Rogerio Linassi Mastella","type":"NATURAL","taxId":"***834870**","age":"51-60"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-05-10","person":{"id":"47c730b0-0328-4f7e-b313-86a91246cc68","name":"Fernando Assumpcao Borges","type":"NATURAL","taxId":"***382706**","age":"61-70"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-05-10","person":{"id":"87cde6b6-d09f-49dc-886d-018ac2d2bca7","name":"Joao Henrique Rittershaussen","type":"NATURAL","taxId":"***522316**","age":"51-60"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-05-10","person":{"id":"8d842fd9-9621-46db-ba91-9d4d30075784","name":"Rodrigo Costa Lima e Silva","type":"NATURAL","taxId":"***807425**","age":"41-50"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-12-14","person":{"id":"a0b8db2b-3f3a-45e8-90fe-3e288608f6e9","name":"Rafael Chaves Santos","type":"NATURAL","taxId":"***445330**","age":"41-50"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-05-10","person":{"id":"ad4ce3e1-3372-4e58-a7a0-ebde5f087566","name":"Rodrigo Araujo Alves","type":"NATURAL","taxId":"***100396**","age":"31-40"},"role":{"id":10,"text":"Diretor"}},{"since":"2021-05-13","person":{"id":"b9ec6bf7-9220-4dcb-81b8-629bc50c8b63","name":"Joaquim Silva e Luna","type":"NATURAL","taxId":"***864767**","age":"71-80"},"role":{"id":16,"text":"Presidente"}},{"since":"2019-10-23","person":{"id":"e105ed7c-4563-4989-bb9c-c4bd6c8be0c8","name":"Nicolas Simone","type":"NATURAL","taxId":"***136328**","age":"41-50"},"role":{"id":10,"text":"Diretor"}}]},"statusDate":"2005-11-03","status":{"id":2,"text":"Ativa"},"address":{"municipality":3304557,"street":"Avenida Republica do Chile","number":"65","details":null,"district":"Centro","city":"Rio de Janeiro","state":"RJ","zip":"20031170","country":{"id":76,"name":"Brasil"}},"phones":[{"area":"21","number":"32248091"},{"area":"21","number":"32244477"}],"emails":[{"address":"atendimentofiscossco@petrobras.com.br","domain":"petrobras.com.br"}],"mainActivity":{"id":1921700,"text":"Fabricação de produtos do refino de petróleo"},"sideActivities":[{"id":600001,"text":"Extração de petróleo e gás natural"},{"id":3520401,"text":"Produção de gás; processamento de gás natural"},{"id":4681801,"text":"Comércio atacadista de álcool carburante, biodiesel, gasolina e demais derivados de petróleo, exceto lubrificantes, não realizado por transportador re"}]}
PS.: Tive que dar um

Código: Selecionar todos

response := HB_AnsiToOem(http:responseText)
Para poder retornar com a acentuação gráfica portuguesa.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por JoséQuintas »

Linguagemclipper escreveu:PS.: Tive que dar um
response := HB_AnsiToOem(http:responseText)
Para poder retornar com a acentuação gráfica portuguesa.
Não.
Já veio pronto pra portugues-Brasil, mas seu aplicativo usa codepage americana, e por isso teve que converter.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por Linguagemclipper »

Galera, matei a charada! Perdi muito tempo atrás dessa lib hb_jsondecode... um colega postou no forum um exemplo de como tornar uma string JSON em HASH e pronto!
Fiz até um fork e compartilhei no github: https://github.com/Numerabilis/example- ... /cnpja.prg
Muito mais fácil de trabalhar!!!
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por JoséQuintas »

Linguagemclipper escreveu:Galera, matei a charada! Perdi muito tempo atrás dessa lib hb_jsondecode...
https://github.com/JoseQuintas/sefazcla ... omjson.prg

Muito interessante essa outra rotina, faz tudo de forma simples, transformando em macro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
cleitonLC
Usuário Nível 1
Usuário Nível 1
Mensagens: 44
Registrado em: 17 Ago 2021 14:38
Localização: Cariacica/ES

Pegar dados de uma empresa na NET pelo CNPJ

Mensagem por cleitonLC »

lucimauro escreveu:https://www.cnpja.com/
Tem esse com uma quantidade razoável grátis de créditos para baixar por dia, ou assinando para baixar quantos quiser, a vantagem que puxa o CGF(inscrição estadual) também.

Editado p/ colocar tag URL by Itamar M. Lins Jr.
Quero deixar aqui minha contribuição kkkk, se me permitem...
Bom, já conhecia esse site de algum tempo quando tive a necessidade de obter a inscrição estadual de um cnpj.
Após algumas buscas pela internet encontrei esse site e fiz um script em python que faz o consumo dessa api trial deles, usando os 30 créditos...
O que descobri é que dá pra criar uma rotina para usar várias contas, aqui uso 10, e assim ter 300 créditos para usar...como eles não cobram por consultas já feitas apenas por consultas de novos cnpjs isso se torna viável, o esquema se resume em cadastrar no site deles o mesmo e-mail 10 vezes, mas na hora de efetuar o cadastro usar um esquema explorando uma falha do sistema deles que é a verificação de e-mail.
Exemplo:
cadastro o e-mail "user@gmail.com" , ativo a conta e obtenho a chave da api ...
ai vou lá e cadastro o segundo e-mail "user+1@gmail.com", observem que o segundo e-mail não precisa existir de fato, eu só acrescento +1, +2, ... e assim consecutivamente até +10, esses e-mails não precisam ser criados no google, apenas cadastrados lá no site https://www.cnpja.com/ .
Quando o cadastro é efetuado usando esse esquema vc recebe a mensagem no e-mail principal, esse sim deve existir os demais que usam "+" não precisam.
Depois é só criar um range de 1 a 10 e usar, criando uma rotina que a cada vez que uma conta esgotar seus créditos e obter uma response com erro ele passe a usar a próxima conta...fiz esse esquema em python segue o link do repositório no github https://github.com/cleitonleonel/cnpja
Responder