Ir para conteúdo
  • Cadastre-se

dev botao

ACBRConsultaCNPJ


Ver Solução Respondido por Sandro Felipe Adad,

Recommended Posts

3 minutos atrás, edsonvieira disse:

Sandro Felipe, primeiramente obrigado por compartilhar sua abordagem... 
baixei os arquivos e tentei executar, porém não abriu o link no componente TEdgeBrowser, tentei com outros links e tbem não abriu, será que é algo na versão do Delphi (11) que estou utilizando ou tem alguma liberação/configuração que tenho que fazer para este componente facionar?

Funciona na sua máquina acessar por algum browser o endereço abaixo?

https://solucoes.receita.fazenda.gov.br/Servicos/cnpjreva/Cnpjreva_Solicitacao.asp

O projeto foi construido no delphi 10.4.1

image.thumb.png.d780ab064209f8a7612e6730c1a89e58.png

Link para o comentário
Compartilhar em outros sites

52 minutos atrás, Sandro Felipe Adad disse:

Até que seja confirmada ou não a inviabilidade de uso da api pública pelo componente do ACBR, o que pode ser feito é usar usarmos a consulta pública como foi sugerido aqui no forum. Ou seja, um projeto que contenha um navegador (edge), possibilitando que o próprio usuário clique no botão (Sou Humano) e efetue a consulta manualmente. Após a consulta manual é possível extrair os dados do próprio html resultante. Fiz um protótipo funcional que efetua isso a quem interessar.

 

ConsultaCNPJ.dpr 254 B · 12 downloads ConsultaCNPJ.dproj 48.64 kB · 12 downloads uConsultaCNPJ.dfm 2.3 kB · 12 downloads uConsultaCNPJ.pas 3.7 kB · 13 downloads

 

 

Muito obrigado, Sandro! Irei testar. No momento é o que está ao nosso alcance. Gratidão por ter compartilhado.

Link para o comentário
Compartilhar em outros sites

18 minutes ago, Sandro Felipe Adad said:

Funciona na sua máquina acessar por algum browser o endereço abaixo?

https://solucoes.receita.fazenda.gov.br/Servicos/cnpjreva/Cnpjreva_Solicitacao.asp

O projeto foi construido no delphi 10.4.1

image.thumb.png.d780ab064209f8a7612e6730c1a89e58.png

realmente deve ser algo aqui na minha instalação, nao consigo navegar...

mas estou com uma dúvida, as vezes vc sabe me responder:  este serviço que estávamos utilizando do TACBrConsultaCNPJ é o mesmo que eles estão utilizando no "Nuvem Fiscal"? 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Sandro Felipe Adad disse:

Até que seja confirmada ou não a inviabilidade de uso da api pública pelo componente do ACBR, o que pode ser feito é usar usarmos a consulta pública como foi sugerido aqui no forum. Ou seja, um projeto que contenha um navegador (edge), possibilitando que o próprio usuário clique no botão (Sou Humano) e efetue a consulta manualmente. Após a consulta manual é possível extrair os dados do próprio html resultante. Fiz um protótipo funcional que efetua isso a quem interessar.

 

ConsultaCNPJ.dpr 254 B · 23 downloads ConsultaCNPJ.dproj 48.64 kB · 23 downloads uConsultaCNPJ.dfm 2.3 kB · 25 downloads uConsultaCNPJ.pas 3.7 kB · 26 downloads

no dpr, quem nao abrir, so trocar:

//  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TfrmConsulta, frmConsulta);
 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

23 minutos atrás, Antonio Gomes disse:

@Victor H. Gonzales - Panda pensa comigo agora, se criarmos um evento, no acbr cnpj, para poder cada um repassar a telinha ali para retonar o mesmo html que o componente usa? que vc acha?

Tipo, OnSolicitarCaptcha, dai, repassa para o acbrcnpj o mHTML.text 

Link para o comentário
Compartilhar em outros sites

  • Consultores
39 minutos atrás, Antonio Gomes disse:

@Victor H. Gonzales - Panda pensa comigo agora, se criarmos um evento, no acbr cnpj, para poder cada um repassar a telinha ali para retonar o mesmo html que o componente usa? que vc acha?

Tipo, OnSolicitarCaptcha, dai, repassa para o acbrcnpj o mHTML.text 

o componente só fazer o parser do html e devolver nas propriedades que ele já tem?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

17 minutos atrás, Victor H. Gonzales - Panda disse:

o componente só fazer o parser do html e devolver nas propriedades que ele já tem?

Sim, estou fazendo uma treta aqui, ja vou mandar para vc olhar

Agora, Antonio Gomes disse:

Sim, estou fazendo uma treta aqui, ja vou mandar para vc olhar

tipo isso..

ACBrConsultaCNPJ.pas

Link para o comentário
Compartilhar em outros sites

16 horas atrás, Antonio Gomes disse:

Achei interessante sua idéia de usar o componente do ACBR na solução do workaround, só teriamos de ver com algum membro do ACBR se incorporariam esta nossa solução.

Ah, na minha contribuição de exemplo eu não capturei todos os campos do html, apenas os que utilizo em minhas aplicações, teria de completar pra ficar de acordo com a classe do componente.

Só alteraria a propriedade do zoom no seu exemplo para: 

EdgeBrowser1.ZoomFactor := 0.7;

 

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Sandro Felipe Adad disse:

Achei interessante sua idéia de usar o componente do ACBR na solução do workaround, só teriamos de ver com algum membro do ACBR se incorporariam esta nossa solução.

Ah, na minha contribuição de exemplo eu não capturei todos os campos do html, apenas os que utilizo em minhas aplicações, teria de completar pra ficar de acordo com a classe do componente.

Só alteraria a propriedade do zoom no seu exemplo para: 

EdgeBrowser1.ZoomFactor := 0.7;

 

Sim, o html de saida, é o mesmo que tem hoje, e nada mudaria, apenas se usar o evento, estou catalogando, como criar essa tela, pq o acbr nao pode depender de objetos, devido ser lazarus e delphi, logo, eu iria mandar uma tela demo, para ser adaptado, repassando a ele, o resultado depois daquela confirmacao da consulta do "sou humano".  Aquela tela onde aparece o logo da receita federal, que o componente pega os dados, tipo voce fez no seu exemplo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Consultores
20 horas atrás, Antonio Gomes disse:

image.thumb.png.1d24bf9ba5a1d2d8dca103e4418713a2.png

DLL WebView2Loader.dll na pasta do sistema, importante, comigo, so abriu, com a primeira versao ali

1.0.1549.0

eu usei a 1.0.1938.49

image.png

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Consultores
2 horas atrás, Antonio Gomes disse:

Sim, o html de saida, é o mesmo que tem hoje, e nada mudaria, apenas se usar o evento, estou catalogando, como criar essa tela, pq o acbr nao pode depender de objetos, devido ser lazarus e delphi, logo, eu iria mandar uma tela demo, para ser adaptado, repassando a ele, o resultado depois daquela confirmacao da consulta do "sou humano".  Aquela tela onde aparece o logo da receita federal, que o componente pega os dados, tipo voce fez no seu exemplo.

esse loop pode ser prejudicial, tem que alterar isso para alguma forma de notificar, tu pode congelar a aplicação toda.

mas a ideia em si parece válida, mas cada empresa irá ter que implementar sua tela, o componente só irá fazer o parser.

 

precisamos ver como será a resposta em lazarus.

talvez no lugar de Evento, fazer Método, para conseguir reaproveitação do parser na Lib / Monitor.

  • Curtir 2
Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

Boa tarde,

Não sou muito bom em implementação de componentes, mas peguei o arquivo ACBrConsultaCNPJ.pas mudei o nome dele para ACBrConsultaCNPJws.pas e fiz algumas alterações pra fazer a busca utilizando a api do site https://www.receitaws.com.br/ que no gratuito permite 3 consultas por minutos, para os clientes que tenho atendeu bem.

Na minha tela de consulta chamei ele da seguinte forma 

if ACBrConsultaCNPJ.Consulta(EditCNPJ.Text, 'https://receitaws.com.br/v1/cnpj/') then

 

Lembrando que fiz apenas o básico pra funcionar e meus clientes parar de reclamar rsrsrsr.

Coloquei as dll do OpenSSL versão 1.1.1.10 na pasta do executável, senão não funciona.

 

 

 

ACBrConsultaCNPJws.pas

  • Curtir 4
Link para o comentário
Compartilhar em outros sites

2 horas atrás, Victor H. Gonzales - Panda disse:

esse loop pode ser prejudicial, tem que alterar isso para alguma forma de notificar, tu pode congelar a aplicação toda.

mas a ideia em si parece válida, mas cada empresa irá ter que implementar sua tela, o componente só irá fazer o parser.

 

precisamos ver como será a resposta em lazarus.

talvez no lugar de Evento, fazer Método, para conseguir reaproveitação do parser na Lib / Monitor.

o loop tem que ficar no evento, na tela que tem que esperar a confirmacao, para depois, mandar o html retornado, estou mexendo aqui, na ancia de criar separado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

24 minutos atrás, aslsoftwareltda disse:

Boa tarde,

Não sou muito bom em implementação de componentes, mas peguei o arquivo ACBrConsultaCNPJ.pas mudei o nome dele para ACBrConsultaCNPJws.pas e fiz algumas alterações pra fazer a busca utilizando a api do site https://www.receitaws.com.br/ que no gratuito permite 3 consultas por minutos, para os clientes que tenho atendeu bem.

Na minha tela de consulta chamei ele da seguinte forma 

if ACBrConsultaCNPJ.Consulta(EditCNPJ.Text, 'https://receitaws.com.br/v1/cnpj/') then

 

Lembrando que fiz apenas o básico pra funcionar e meus clientes parar de reclamar rsrsrsr.

Coloquei as dll do OpenSSL versão 1.1.1.10 na pasta do executável, senão não funciona.

 

 

 

ACBrConsultaCNPJws.pas 13.44 kB · 4 downloads

Esqueci e mencionar, segue detalhado a forma que chamo a classe em tempo de execução.

Var
  ACBrConsultaCNPJ :TACBrConsultaCNPJws;

begin

  ACBrConsultaCNPJ := TACBrConsultaCNPJws.Create(Self);

  if ACBrConsultaCNPJ.Consulta(EditCNPJ.Text, 'https://receitaws.com.br/v1/cnpj/') then

begin

...

end;

ACBrConsultaCNPJ.Free;

end;

  • Curtir 7
Link para o comentário
Compartilhar em outros sites

20 horas atrás, aslsoftwareltda disse:

Esqueci e mencionar, segue detalhado a forma que chamo a classe em tempo de execução.

Var
  ACBrConsultaCNPJ :TACBrConsultaCNPJws;

begin

  ACBrConsultaCNPJ := TACBrConsultaCNPJws.Create(Self);

  if ACBrConsultaCNPJ.Consulta(EditCNPJ.Text, 'https://receitaws.com.br/v1/cnpj/') then

begin

...

end;

ACBrConsultaCNPJ.Free;

end;

Teste aqui, funciona 100% para o que meus clientes querem...

Obrigado

  • Curtir 1

VANDERLEI MATTE

INFOMATTE Sistemas e Consultoria

Distrito de Castelo de Sonhos - Altamira / PA

Whattzap: (66) 99695-4979

email: vanderleim[email protected]

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.