Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Jefferson Lupinacci

Consulta Ficha Cadastral Sintegra

Recommended Posts

Pessoal a partir do conhecimento adquirido no AcbrConsultaCNPJ estou codificando um componente para Consulta do Sintegra, se tiverem interesse compartilho com vocês. o código esta padronizado no formato do Consulta CNPJ.

abaixo alguns prints do "feito"

Sintegra - ES - Não possui captcha
es.jpg


Sintegra - BA - Não possui captcha

ba.jpg

Sintegra - SP - Possui Captcha do proprio site

sp.jpg

Sintegra de MG - Possui Recaptcha - Google

mg.jpg

Sintegra de RJ - Possui Recaptcha - Google 

rj.jpg

 

ACBrConsultaSintegra.pas

Edited by Jefferson Lupinacci
Adicionado Rio de Janeiro
  • Like 2

Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites

vou terminar de codificar minas gerais e libero o componente

 


Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites

A ideia é ter opção para consulta do Sintegra de todos os estados ?

Você está implementando usando Herança de classes ?


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites
Agora, Daniel Simoes disse:

A ideia é ter opção para consulta do Sintegra de todos os estados ?

Você está implementando usando Herança de classes ?

não necessito de herança de classes veja que a consulta é muito simples o fonte atual esta anexado

 

 


Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites

Acho que separar em classes e usar herança, seria uma boa ideia.. afinal são mais de 20 estados... e notei que já existem implementações específicas, como no caso o método "GetCaptchaURL"... será complicado mantê-lo para muitos estados...


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites
Em 29/04/2016 at 12:59, Daniel Simoes disse:

Acho que separar em classes e usar herança, seria uma boa ideia.. afinal são mais de 20 estados... e notei que já existem implementações específicas, como no caso o método "GetCaptchaURL"... será complicado mantê-lo para muitos estados...

Fiquei ausente o fim de semana por isso não dei continuidade no post

O Fonte agora se encontra disponível para a comunidade se alguém se dispor a alterá-lo e gerar as interfaces ficarei muito grato, vendo que tenho que terminar este cadastro em 15 dias e os 5 estados que me foram pedidos estão prontos.

Agora se alguém precisar de alguma ajuda para decifrar os captchas do google estarei a disposição para o auxilio da tarefa.


Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites
Em 14/05/2016 at 14:30, sidnei_alves1 disse:

Oi, Comecei hoje a dar uma olhada, mais nao consegui fazer funciona, poderia me dar uma ajuda?

 

Claro Sidnei_alves1 me passe a sua dúvida que lhe ajudo a resolver


Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites
4 horas atrás, Fernando Rodrigo disse:

bom dia pessoal, alguem deu continuidade ao componente ?


 

Citar

 

bom dia jefferson, peguei a sua unit para consulta do sintegra e estou tentando fazer para o estado de goias, so que não estou entendendo bem como ele faz.

poderia me dar uma ajuda

o site para consulta em goias é

http://appasp.sefaz.go.gov.br/Sintegra/Consulta/default.asp

vc poderá utilizar o cnpj 37.304.771/0001-82 

 

 


Primeiras Considerações: teremos que analisar o metodo de comunicação que esta sendo empregado entre o cliente e o servidor, e como isso é feito
utlizando um analizador de trafego http  eu uso o Telerik Fiddler

Acessando o Site da Sefaz de Goias

 

Postando os dados e vendo o seu comportamento

Acessando o Site

site acessado. cookie salvo.jpg


Postando o Formulário e Analisando o comportamento

postado com sucesso e html recebido.jpg


Para onde a solicitação foi encaminhada
pra onde foi postado.jpg

 


O Que queremos para o ACBr

 

o que queremos.jpg


Passo a Passo:

Abra o Fiddler, e o Browser de sua preferencia
no Fiddler Aperte Ctrl+X para limpar todo o log de histórico e acesse o url
PASSO1.jpg

sua tela deverá ser similar a tela acima
PASSO2.jpg

Na Aba TextView estão os parametros que foram passados de um url para o outro, repare que vc deverá alterar o &CNPJ= para o cnpj que vc quer postar
e o &Doc= Tambem

PASSO3.jpg

Cada Post.WriteString() equivale a um parametro que gostariamos de postar ao servidor

PASSO4.jpg

  • Like 1

Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites

nao sei o que estou fazendo de errado, mas não retorna nada, ja olhei os anexos e não consigo achar o problema. 

ja mudei os parametros, voltei o que era antes, olhei no retorno, coloquei os parametros novamente e retorna zerado.

 

 

    Post.WriteString('CNPJ='+OnlyNumber(ACNPJ)+'&');
    Post.WriteString('TipoDoc=2');
    Post.WriteString('Doc='+OnlyNumber(ACNPJ)+'&');
    Post.WriteString('CCE='+OnlyNumber(AInscricaoEstadual)+'&');
//    Post.WriteString('btCGC=consultarSintegra()');
    Post.WriteString('btCGC=Consultar');


    Post.Position:= 0;

    HttpSend.Clear;
    HttpSend.Document.Position:= 0;
    HttpSend.Document.CopyFrom(Post, Post.Size);
    HTTPSend.MimeType := 'application/x-www-form-urlencoded';
    HTTPPost('http://appasp.sefaz.go.gov.br/Sintegra/Consulta/default.asp');

Share this post


Link to post
Share on other sites

Posta a Unit alterada que vejo pra você amanha cedo quando chegar no escritório


Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites

abri o programa que vc me passou e segui os passos so que não esta funcionando

 

    Post.WriteString('tCNPJ='+OnlyNumber(ACNPJ)+'&');
    Post.WriteString('rTipoDoc=2');
    Post.WriteString('tDoc='+OnlyNumber(ACNPJ)+'&');
    Post.WriteString('tCCE='+OnlyNumber(AInscricaoEstadual)+'&');
    Post.WriteString('tCPF='+OnlyNumber(AInscricaoEstadual)+'&');
    Post.WriteString('btCGC=consultarSintegra');
    Post.Position:= 0;

    HttpSend.Clear;
    HttpSend.Document.Position:= 0;
    HttpSend.Document.CopyFrom(Post, Post.Size);
    HTTPSend.MimeType := 'application/x-www-form-urlencoded';
    HTTPPost('http://appasp.sefaz.go.gov.br/Sintegra/Consulta/default.asp');

 

precido que me ajude somente nesse primeiro para saber os passos de onde posso pegar as informações
 

Edited by Fernando Rodrigo

Share this post


Link to post
Share on other sites

Desculpe a Demora pra Responder mas esta aqui o Seu Retorno. "Vou tirar ferias no fim do mês - AUMENTO DE CARGA DE TRABALHO"

Primeiramente vc precisa acessar a página principal do site utilizando o protocolo HTTP 1.1 pois o site usa Cookies e precisamos dele para ser passado para o url seguinte.
quando um site usa o captcha pegamos o cookie no captcha neste caso vou pegar diretamente na solicitação de 'GO'

Ficando Assim o Procedimento

procedure Consulta_GO();
  begin

    HttpSend.ProxyHost := 'localhost'; // Interceptando por Dentro do PROXY do Feedler para o Delphi ser identificado como um Browser
    HTTPSend.ProxyPort := '8888';

    { Protocolo do Canal HTTP Versão 1.1 }
    HTTPSend.KeepAlive := true;
    HTTPSend.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1';
    HTTPSend.Headers.Add('Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3');
    HTTPSend.Clear;
    HTTPSend.Protocol  := '1.1';
    HTTPSend.Cookies.Clear;
    HTTPGet('http://appasp.sefaz.go.gov.br/Sintegra/Consulta/default.asp');

    Post.WriteString('rTipoDoc=2&');
    Post.WriteString('tDoc='+ OnlyNumber(ACNPJ)+'&');
    Post.WriteString('tCCE=&');
    Post.WriteString('tCNPJ='+ OnlyNumber(ACNPJ)+'&');
    Post.WriteString('tCPF=&');
    Post.WriteString('btCGC=Consulta=&');
    Post.WriteString('zion.SystemAction=consultaSintegra()&');
    Post.WriteString('zion.OnSubmited&');
    Post.WriteString('zion.FormElementPosted=zionFormID_1&');
    Post.WriteString('zionPostMethod=&');
    Post.WriteString('zionRichValidator=true&');
    Post.Position:= 0;

    HttpSend.Clear;
    HttpSend.Document.Position:= 0;
    HttpSend.Document.CopyFrom(Post, Post.Size);
    HTTPSend.MimeType := 'application/x-www-form-urlencoded';
    HTTPPost('http://appasp.sefaz.go.gov.br/Sintegra/Consulta/consultar.asp');

    Erro := VerificarErros(RespHTTP.Text, AUF);
    if Erro = '' then
    begin
      Result:= True;
      Resposta := TStringList.Create;
      try
        Resposta.Text := StripHTML(RespHTTP.Text);
        RemoveEmptyLines( Resposta );
        Resposta.Text := StringReplace(Resposta.Text, ' ', '', [rfReplaceAll]);
        FCNPJ                := LerCampo(Resposta,'CNPJ:');
        FInscricaoEstadual   := LerCampo(Resposta,'Inscrição Estadual - CCE :');
        FRazaoSocial         := LerCampo(Resposta,'Nome Empresarial:');
        FEndereco            := LerCampo(Resposta,'LOGRADOURO:');
        FNumero              := LerCampo(Resposta,'Número:');
        FComplemento         := LerCampo(Resposta,'Complemento:');
        FBairro              := LerCampo(Resposta,'Bairro:');
        FCidade              := LerCampo(Resposta,'Município:');
        FUF                  := LerCampo(Resposta,'UF:');
        FCEP                 := OnlyNumber( LerCampo(Resposta,'CEP:') ) ;
        if FCEP <> '' then
          FCEP               := copy(FCEP,1,5)+'-'+copy(FCEP,6,3) ;
        FTelefone            := LerCampo(Resposta, 'Telefone:');
        FAtividadeEconomica  := LerCampo(Resposta, 'Atividade Econômica:');
        FDataInicioAtividade := StringToDateTimeDef(LerCampo(Resposta,'Data de Inicio de Atividade:'),0);
        FSituacao            := LerCampo(Resposta, 'Situação Cadastral Vigente:');
        FDataSituacao        := StringToDateTimeDef(LerCampo(Resposta,'Data desta Situação Cadastral:'),0);
        FRegimeApuracao      := LerCampo(Resposta, 'Regime de Apura&ccedil;&atilde;o:');
        FDataEmitenteNFe     := StringToDateTimeDef(LerCampo(Resposta,'Emitente de NFe desde:'),0);
      finally
        Resposta.Free;
      end ;
    end
    else
    begin
      Result:= False;
      raise EACBrConsultaSintegra.Create(Erro);
    end;
  end;



Fiddler.jpg


 

a.html

Edited by Jefferson Lupinacci

Jefferson Lupinacci
Analista Desenvolvedor Java Sr. em Zara.com - Inditex - Departamento de Logística e Transporte Global - A Coruña / Espanha

[email protected] / [email protected]
Linkedin; https://www.linkedin.com/in/jeffersonlupinacci/

 

Share this post


Link to post
Share on other sites

Bom dia.
Já esta como componente esta busca no Sintegra? alguém pode me passar o fonte atualizado e se possível demo utilização

Obrigado

Share this post


Link to post
Share on other sites

Não pretendo incluir esses fontes no ACBr... sugiro criar um novo projeto no GitHub ou SourceForge


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...