Clipper On Line • Ver Tópico - webservice de cep dos correios

webservice de cep dos correios

Discussão sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

 

webservice de cep dos correios

Mensagempor rgoulart » 01 Fev 2017 00:01

Tive a mesma necessidade e resolvi comprando a base de dados

http://produto.mercadolivre.com.br/MLB- ... e-2016-_JM

Espero ter ajudado!

Abraços
rgoulart
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 31 Jan 2017 23:59
Cidade/Estado: São Paulo - SP
Curtiu: 0 vez
Mens.Curtidas: 0 vez

webservice de cep dos correios

Mensagempor JoséQuintas » 15 Jul 2017 14:52

Atenção
Estou alterando o nome da empresa, e com isso o endereço do meu webservice vai mudar:

Este vai ser desativado:

http://www.jpatecnologia.com.br/cep.asp?cep=03676-080

Agora é este:

http://www.josequintas.com.br/cep.asp?cep=03676-080

Atualizem as rotinas de consultar CEP antes que seja desativado.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor Jairo Maia » 15 Jul 2017 17:43

Olá José,

Como você sabe, uso seu serviço de busca de CEP. Vou atualizar o sistema e atualizar os clientes. Claro que sei que isso é uma cortesia que você ofereceu aos usuários, e vou atualizar todos o quanto antes, mas permita apenas uma pergunta: Você tem a data limite de desativação do endereço antigo?

Obrigado.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 1916
Data de registro: 16 Ago 2010 14:46
Cidade/Estado: Campinas-SP
Curtiu: 212 vezes
Mens.Curtidas: 186 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 16 Jul 2017 11:33

Fui confirmar e não precisa pressa.

No registro.br, o custo é anual, mas já está pago até 06/2021
A hospedagem é uma só pra todos os sites, então não gera custo adicional.
Tem aí 4 anos pra alterar..... rs

registrobr.png
registrobr.png (10.5 KiB) Visualizado 325 vezes
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor Jairo Maia » 16 Jul 2017 15:48

Caramba!!! Tenho que correr... Só 4 anos... Putz... rs.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 1916
Data de registro: 16 Ago 2010 14:46
Cidade/Estado: Campinas-SP
Curtiu: 212 vezes
Mens.Curtidas: 186 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 10 Out 2017 14:21

Má notícia.
Os correios trocaram o webservice.
No momento meu webservice está marcando tudo como excluído, já que não consta na consulta aos correios... rs
Pelo menos continua atendendo, mesmo sem os correios...
Vamos ver se surge alguma alternativa melhor do que ficar comprando o guia postal postal por R$50.00 a cada intervalo de tempo.
(e isso se não bloquearem o banco de dados também).

cepjpa.png


Minha sugestão pra quem conseguir alguma forma de acessar o novo webservice dos correios é NÃO DIVULGAR.
A não ser pra quem faça bom uso disso, por exemplo eu.
É que coloco limites, pra não sobrecarregar os correios, e esse é o motivo deles acabarem bloqueando.
Tem gente que abusa, nem sequer valida o CEP primeiro antes de consultar, consultam "123ABCD", e milhares de consultas simultâneas.
Além de colocar limites, eu atualizo a base local, e não repito a mesma consulta num intervalo de 15 ou 30 dias.
Isso deve significar uma redução de necessidade de consultas aos correios, então de certa forma ajudo aos correios.

No momento a minha base está mais atualizada do que a de muitos sites por aí.
Se eu usar serviço de outros sites, corre o risco de "desatualizar" a minha base.... rs
Agora é pesquisar se já criaram alternativa, pra voltar a ser atualizado on-line, e não marcar tudo como excluído... rs
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor asimoes » 10 Out 2017 15:32

Achei um serviço que diz ser "free" dos correios
Fiz um teste e funcionou, não sei se a base está atualizada, a consulta eu fiz por post, segue exemplo:
Nota: na URL tem um JPA, é teu Quintas ? rs.

  cUrlWS := [https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente]
   
   oWebService := Win_OleCreateObject("MSXML2.ServerXMLHTTP")
   oXMLDoc     := Win_OleCreateObject("MSXML2.DOMDocument")
   cXML        := MontaXML( "20735050" )
   
   WITH OBJECT oWebService
      :Open("POST", cUrlWS, .F.)
      //:SetRequestHeader( "SOAPAction", "" ) /* não tem SOAPAction */
      :SetRequestHeader( "Content-Type", 'text/xml; charset="utf-8"' )
      :SetRequestHeader( "Content-Length", hb_NtoS( hb_BLen( cXML ) ) )
      :Send( cXML )         
      WHILE :readyState != 4
         :WaitForResponse( 500 )
         hwg_DoEvents()
      ENDDO
      WITH OBJECT oXMLDoc
         :async := .F.
         :load( oWebService:responseXML )
         :Save( "RETORNO.XML" )
         cCEP      := :getElementsByTagName( "cep" ):item(0):Text
         cBairro   := :getElementsByTagName( "bairro" ):item(0):Text
         cCidade   := :getElementsByTagName( "cidade" ):item(0):Text
         cEndereco := :getElementsByTagName( "end" ):item(0):Text
         cUF       := :getElementsByTagName( "uf" ):item(0):Text
         cID       := :getElementsByTagName( "id" ):item(0):Text
      END WITH
   END WITH
   
RETURN Nil

STATIC FUNCTION MontaXML( cCEP )
LOCAL cxMLSoap   

   cxMLSoap := [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cli="http://cliente.bean.master.sigep.bsb.correios.com.br/">]
   cxMLSoap += [  <soapenv:Header/>]
   cxMLSoap += [  <soapenv:Body>]
   cxMLSoap += [     <cli:consultaCEP>]
   cxMLSoap += [        <!--Optional:-->]
   cxMLSoap += [        <cep>] + cCEP + [</cep>]
   cxMLSoap += [     </cli:consultaCEP>]
   cxMLSoap += [  </soapenv:Body>]
   cxMLSoap += [</soapenv:Envelope>]

RETURN cxMLSoap

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3311
Data de registro: 26 Abr 2007 17:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 169 vezes
Mens.Curtidas: 133 vezes

webservice de cep dos correios

Mensagempor asimoes » 10 Out 2017 16:06

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3311
Data de registro: 26 Abr 2007 17:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 169 vezes
Mens.Curtidas: 133 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 10 Out 2017 16:08

Se aquele JPA fosse meu, estaria com muito dinheiro... rs
Funciona !
Só uma formatada no fonte.

FUNCTION Main()

   LOCAL cCep, cBairro, cCidade, cEndereco, cUF, cID

   cCep := "20735050"
   ConsultaCep( cCep, @cBairro, @cCidade, @cEndereco, @cUF, @cId )

   ? cCep
   ? cBairro
   ? cCidade
   ? cEndereco
   ? cUF
   ? cId
   Inkey(0)

   RETURN NIL

STATIC FUNCTION ConsultaCep( cCep, cBairro, cCidade, cEndereco, cUF, cId )

   LOCAL cUrlWs := [https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente]
   LOCAL cXml, oMSXML, oDOMDoc

   cXml    := SoapEnvelope( cCep )
   oMSXML  := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
   oDOMDoc := win_OleCreateObject( "MSXML2.DOMDocument" )
   WITH OBJECT oMSXML
      :Open( "POST", cUrlWs, .F. )
      :SetRequestHeader( "Content-Type", 'text/xml; charset="utf-8"' )
      :SetRequestHeader( "Content-Length", hb_NtoS( hb_BLen( cXML ) ) )
      :Send( cXML )
      :WaitForResponse( 500 )
   END WITH
   WITH OBJECT oDOMDoc
      :aSync := .F.
      :Load( oMSXML:responseXML )
      cCEP      := :getElementsByTagName( "cep" ):item(0):Text
      cBairro   := :getElementsByTagName( "bairro" ):item(0):Text
      cCidade   := :getElementsByTagName( "cidade" ):item(0):Text
      cEndereco := :getElementsByTagName( "end" ):item(0):Text
      cUF       := :getElementsByTagName( "uf" ):item(0):Text
      cID       := :getElementsByTagName( "id" ):item(0):Text
   END WITH

   RETURN NIL

STATIC FUNCTION SoapEnvelope( cCEP )

   LOCAL cxMLSoap

   cxMLSoap := [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cli="http://cliente.bean.master.sigep.bsb.correios.com.br/">]
   cxMLSoap +=    [<soapenv:Header/>]
   cxMLSoap +=    [<soapenv:Body>]
   cxMLSoap +=       [<cli:consultaCEP>]
   cxMLSoap +=          [<!--Optional:-->]
   cxMLSoap +=          [<cep>] + cCEP + [</cep>]
   cxMLSoap +=       [</cli:consultaCEP>]
   cxMLSoap +=    [</soapenv:Body>]
   cxMLSoap += [</soapenv:Envelope>]

   RETURN cxMLSoap
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 10 Out 2017 19:21

Uia.... no estilo da SefazClass...
hbmk2 test sefazclass.hbc

FUNCTION Main()

   LOCAL cCep, cBairro, cCidade, cEndereco, cUF, cID, b

   cCep := "20735050"
   ConsultaCep( cCep, @cBairro, @cCidade, @cEndereco, @cUF, @cId )

   ? cCep
   ? cBairro
   ? cCidade
   ? cEndereco
   ? cUF
   ? cId
   Inkey(0)

   RETURN NIL

STATIC FUNCTION ConsultaCep( cCep, cBairro, cCidade, cEndereco, cUF, cId )

   LOCAL cUrlWs := [https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente]
   LOCAL oSefaz

   WITH OBJECT oSefaz := SefazClass():New()
      :cSoapUrl := cUrlWs
      :cXmlSoap := SoapEnvelope( cCep )
      :MicrosoftXmlSoapPost()
      cCep      := XmlNode( :cXmlRetorno, "cep" )
      cBairro   := XmlNode( :cXmlRetorno, "bairro" )
      cCidade   := XmlNode( :cXmlRetorno, "cidade" )
      cEndereco := XmlNode( :cXmlRetorno, "end" )
      cUF       := XmlNode( :cXmlRetorno, "uf" )
      cID       := XmlNode( :cXmlRetorno, "id" )
   END WITH   

   RETURN NIL

STATIC FUNCTION SoapEnvelope( cCEP )

   LOCAL cxMLSoap

   cxMLSoap := [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cli="http://cliente.bean.master.sigep.bsb.correios.com.br/">]
   cxMLSoap +=    [<soapenv:Header/>]
   cxMLSoap +=    [<soapenv:Body>]
   cxMLSoap +=       [<cli:consultaCEP>]
   cxMLSoap +=          [<!--Optional:-->]
   cxMLSoap +=          [<cep>] + cCEP + [</cep>]
   cxMLSoap +=       [</cli:consultaCEP>]
   cxMLSoap +=    [</soapenv:Body>]
   cxMLSoap += [</soapenv:Envelope>]

   RETURN cxMLSoap


Só que precisou uma modificação na SefazClass.... usar SoapAction somente se existir.
Não conferi a parte de codepage.

      IF cSoapAction != NIL .AND. ! Empty( cSoapAction )
         oServer:SetRequestHeader( "SOAPAction", cSoapAction )
      ENDIF
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 10 Out 2017 19:38

Aproveitando....

Pra quem ainda não percebeu, a comunicação com a Fazenda é isso, um webservice.
O mesmo que usamos pra consultar CEP, usamos pra autorizar nota fiscal eletrônica !!!
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 10 Out 2017 20:09

José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor janio » 16 Nov 2017 20:55

Essa consulta nesse webservice ainda esta funcionando?

Aqui pra mim não está
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1579
Data de registro: 06 Jul 2004 08:43
Cidade/Estado: UBAJARA - CE
Curtiu: 6 vezes
Mens.Curtidas: 30 vezes

webservice de cep dos correios

Mensagempor JoséQuintas » 16 Nov 2017 21:16

Testei agora e está funcionando.
Se for XHarbour.... depende de que LIB usa, ele fica doido pra isso.... rs

Se for sobre o fonte, alterei o nome.... rs
Mas continua na pasta drafts, é cepcorreios.prg
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8110
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 475 vezes

webservice de cep dos correios

Mensagempor janio » 16 Nov 2017 21:37

Aqui pra mim não está! Uso Harbour3.2

Testei o seu exemplo que está ai em cima, o que não é pela SefazClass

Da erro: No exported method: TEXT

Ou seja, da erro nas linhas abaixo:
      cCEP      := :getElementsByTagName( "cep" ):item(0):Text
      cBairro   := :getElementsByTagName( "bairro" ):item(0):Text
      cCidade   := :getElementsByTagName( "cidade" ):item(0):Text
      cEndereco := :getElementsByTagName( "end" ):item(0):Text
      cUF       := :getElementsByTagName( "uf" ):item(0):Text
      cID       := :getElementsByTagName( "id" ):item(0):Text


PS: com sefazclass nao consegui compilar pq, ao que parece, ele procura uma lib "-lsefazclass" e nao encontra
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1579
Data de registro: 06 Jul 2004 08:43
Cidade/Estado: UBAJARA - CE
Curtiu: 6 vezes
Mens.Curtidas: 30 vezes

Anterior Próximo



Retornar para Ferramentas de Apoio

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro