Jump to content
Fivewin Brasil

Problema na Busca do Cnpj site da receita


Marca

Recommended Posts

  • 1 month later...

Prezado colega zekasan

Achei a ideia de buscar neste site (  "https://www.receitaws.com.br/v1/cnpj/"+PROC_CNPJ )    mas interessante que na receita, pois nao pede captcha

Mas devido a minha falta de inteligencia não consegui fazer funcionar.

 

 

Link to comment
Share on other sites

 

Prezado colega zekasan

Achei a ideia de buscar neste site (  "https://www.receitaws.com.br/v1/cnpj/"+PROC_CNPJ )    mas interessante que na receita, pois nao pede captcha

Mas devido a minha falta de inteligencia não consegui fazer funcionar.

 

 

teste isso:

Function GetCNPJ(cCnpj)
    Local oServerWS, cUrl, aArray, x1, erro

    cUrl := "https://www.receitaws.com.br/v1/cnpj/"+cCnpj

    Try
        oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.6.0' )
    Catch erro
        ? erro:Description
        return nil
    End

    oServerWS:open('GET', cUrl, .f.)
    oServerWS:setRequestHeader("Content-Type", "text/xml; charset=utf-8")
    oServerWS:send()

    If oServerWS:Status != 200
       MsgStop(Alltrim(STR(oServerWS:Status))+" - "+oServerWS:StatusText , "Erro")
       Return nil
    Endif

    While oServerWS:readyState != 4
       oServerWS:WaitForResponse(1000)
    End

    x1 := hb_jsondecode( oServerWS:responseText, @aArray )

    If aArray == nil
        MsgStop("Erro ao retornar os dados. Tente novamente.")
        Return nil
    Endif

    If aArray['status'] != 'OK'
       MsgStop(aArray['message'], "Erro")
       Return nil
    Endif

    MsgInfo("NOME:  "+Alltrim(aArray['nome'])+CRLF+;
            "FANTASIA:  "+Alltrim(aArray['fantasia'])+CRLF+;
            "ENDEREÇO:  "+Alltrim(aArray['logradouro'])+", "+Alltrim(aArray['numero'])+" "+Alltrim(aArray['complemento'])+CRLF+;
            "BAIRRO:  "+Alltrim(aArray['bairro'])+" CEP: "+Alltrim(aArray['cep'])+CRLF+;
            "CIDADE:  "+Alltrim(aArray['municipio'])+"-"+Alltrim(aArray['uf'])+CRLF+;
            "TELEFONE:  "+Alltrim(aArray['telefone'])+CRLF+CRLF+;
            "NATUREZA JURÍDICA:  "+Alltrim(aArray['natureza_juridica'])+CRLF+;
            "TIPO:  "+Alltrim(aArray['tipo'])+CRLF+;
            "SITUAÇÃO:  "+Alltrim(aArray['situacao'])+CRLF+;
            "DATA SITUAÇÃO:  "+Alltrim(aArray['data_situacao'])+CRLF+;
            "ULTIMA ATUALIZAÇÃO:  "+Alltrim(aArray['ultima_atualizacao']), "CNPJ CONSULTA")

Return nil

 

Link to comment
Share on other sites

 

Você sabe se o site vai disponibilizar o número da Inscrição Estadual

Só falta esse número para a consulta ficar completa.

 

Infelizmente esta informação não tem la, somente o sintegra mesmo para trazer tudo, só que empresas sem inscrição(isento de icms) não tem no sintegra, dai só na receita mesmo, o bom é ter as duas opções dentro do sistema

Abs

Luiz Fernando

Link to comment
Share on other sites

Essa pergunta do oRibeiro é muito pertinente, eu particularmente fico receoso de oferecer uma funcionalidade q possa parar de funcionar em curto espaço de tempo, não to dizendo q seja o caso do ReceitaWS mas se não tiver uma certa segurança q vai funcionar pelo menos 1 ano pra mais as vezes é tempo perdido e o pior é q se o usuário acostuma e depois não conseguirmos oferecer algo semelhante teríamos problemas.

Uma outra opção é usar o próprio Webservices q as SEFAZ disponibilizam para consulta de cadastro, quem já trabalha com NFe etc já tem isso e as vezes não usa, eu por exemplo uso o ACBrMonitor e lá tem um comando NFe.ConsultaCadastro("UF", "CNPJ ou CPF") q traz os dados, q na prática é uma consulta ao webservice da SEFAZ.

Link to comment
Share on other sites

 

As informações desse site receitaws são confiáveis? Quem mantém esse banco atualizado? 

tem essas informações no site:

FAQ

Como funciona a API?

Para entender como o sistema funciona, é necessario entender seus componentes. O sistema é composto pelos seguintes componentes:

  • um banco de dados;
  • uma fila;
  • processos que recuperam informações da Receita Federal.

Ao realizar a consulta de um CNPJ através da API, é primeiro verificado se este existe no banco de dados. Em caso positivo, estes dados são retornados. Em caso negativo, a requisição é encaminhada para uma fila de onde alguns processos recuperam sua requisição e realizam a consulta no site da Receita Federal. Assim que a consulta é realizada com sucesso os dados são atualizados no banco de dados local e sua requisição é respondida.

De onde os dados são obtidos?

Os dados são obtidos diretamente da Receita Federal de acordo com as consultas realizadas através da API. Um banco de dados é mantido para responder as consultas rapidamente.

Os dados da API são recentes?

Para cada consulta é possível verificar há quanto tempo atrás os dados foram recuperados da Receita Federal através do campo "ultima_autualizacao". Mesmo sem nenhuma requisição para a API, os CNPJs que estão na base de dados são atualizados constantementes, dos mais antigos para os mais novos. Assim, a base de dados se mantem relativamente atualizada: atualmente os CNPJs mais antigos foram consultados até 60 dias atrás. Vale lembrar que dados de empresas não mudam constantemente.

Ao consultar um CNPJ junto à Receita Federal cuja resposta indica que o cadastro é inexistente, esta informação também estará na base de dados. Para estes casos, o CNPJ ficará no banco de dados por até 90 dias e não será consultado novamente de acordo com o processo indicado anteriormente. Qualquer requisição para o estes CNPJs irá retornar que o CNPJ foi rejeitado pela Receita Federal.

Se você tem a informação sobre alguma mudança nos dados de um CNPJ e gostaria que esta informação estivesse refletida nos dados de retorno da API, é preciso fazer uma requisição utilizando a API Comercial, informando a defasagem máxima dos dados. O mesmo vale para os CNPJs rejeitados pela Receita Federal citados acima.

Link to comment
Share on other sites

 

Essa pergunta do oRibeiro é muito pertinente, eu particularmente fico receoso de oferecer uma funcionalidade q possa parar de funcionar em curto espaço de tempo, não to dizendo q seja o caso do ReceitaWS mas se não tiver uma certa segurança q vai funcionar pelo menos 1 ano pra mais as vezes é tempo perdido e o pior é q se o usuário acostuma e depois não conseguirmos oferecer algo semelhante teríamos problemas.

Uma outra opção é usar o próprio Webservices q as SEFAZ disponibilizam para consulta de cadastro, quem já trabalha com NFe etc já tem isso e as vezes não usa, eu por exemplo uso o ACBrMonitor e lá tem um comando NFe.ConsultaCadastro("UF", "CNPJ ou CPF") q traz os dados, q na prática é uma consulta ao webservice da SEFAZ.

Fladimir, na consultado ACBR tem algo que no sintegra é mais especifico, quando existe algum problema no cadastro do contribuinte, ele avisa que há ocorrências, mas não é especifico. Exemplo: IE baixada, IE suspensa e etc... 

Link to comment
Share on other sites

  • 11 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...