Webservice – Consulta de CEP diretamente ao site dos correios via ASP.



A integração de pesquisa entre seu site e o correio deverá ser feita via WebService (Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Leia mais )

Para realizar uma chamada, e também verificar o funcionamento do método POST diretamente no site dos correios você deverá acessar o endereço: 


Para entender e ficar mais claro, acesse o endereço acima pelo seu navegador e faça uma consulta, nosso web service fará o mesmo, mas através do nosso servidor "Provedor de Hospedagem".

Faça contato com o seu provedor e verifique se eles possuem algum serviço de WebService de consulta ao correio, normalmente essas consultas são feitas dentro de um monitoramento e você precisará de um código de autenticação que os provedores disponibilizam para seus clientes, abaixo segue alguns exemplos:

Exemplo em ASP:

<%

function fixAcento(sDec) 

  dim objRE
  set objRE = new RegExp
  
  sDec = Replace(sDec, "+", " ")
  objRE.Pattern = "%([0-9a-fA-F]{2})"
  objRE.Global = True
  fixAcento = objRE.Replace(sDec, GetRef("fixAcentoHex")) 
end Function

function fixAcentoHex(sMatch, lhex_digits, lpos, ssource)

  fixAcentoHex = chr("&H" & lhex_digits)
end Function

  dim webservice_query(2)

  Dim Parsed(9,9)

  webservice_url = "ENDEREÇO DO WEBSERVICE PROVEDOR"


  webservice_query(0) = "CHAVE DE AUTENTICAÇÃO DO WEBSERVICE"

  webservice_query(1) = "query_string" ' VALORES POSSÍVEIS: XML, QUERY_STRING OU JAVASCRIPT
  webservice_query(2) = "25963-027" ' CEP QUE SERÁ PESQUISADO


  webservice_url = webservice_url &"?"&_ 

    "auth="&_
  webservice_query(0)&_
    "&formato="&_
  webservice_query(1)&_
    "&cep="&_
  webservice_query(2)

  ' EFETUAR REQUISIÇÃO AO WEBSERVICE

  set Xml = Server.CreateObject("Microsoft.XMLHTTP")
  
  Xml.open "GET", webservice_url, false
  Xml.send()
  Resultado = Xml.responseText
  Resultado = split( Resultado, "&")

  ' MONTANDO PARÂMETROS

  for e = 1 To ubound( Resultado)
    temporario = split( Resultado(e), "=")
    Parsed(e,0) = temporario(0)
    Parsed(e,1) = replace( temporario(1), "+", " ")
  next

  ' MONTANDO RESPOSTA

  select Case Parsed(1,1)

  case "2"

    texto = " "&_
    "Cidade com logradouro único "&_
    "Cidade: "&Parsed(4,1)&" "&_
    "UF: "&Parsed(3,1)

  case "1"

     texto = " "&_
     "Cidade com logradouro completo "&_
     "Tipo de Logradouro: "&Parsed(6,1)&" "&_ 
     "Logradouro: "&Parsed(7,1)&" "&_
     "Bairro: "&Parsed(5,1)&" "&_
     "Cidade: "&Parsed(4,1)&" "&_ 
     "UF: "&Parsed(3,1)
  end select

  ' PRINTANDO O RESULTADO NA TELA

  Response.Write fixAcento( texto )

  set Xml = nothing

  

%>

Outras opções:

No CEPFACIL "http://cepfacil.com.br/", você encontrará formas de consulta via webservice com exemplos em: Texto, XML, JSON.

Uma outra opção é baixar o exemplo em Delphi desenvolvido pelo Walfrido, baseado no webservice do REPÚBLICA VIRTUAL.


Postagens mais visitadas deste blog

Como registrar e desregistrar uma DLL no Windows

Função que retorna o nome do executável sem a extensão em delphi.

Exercício Corel Draw 001 - Desenho de objetos determinando seus tamanhos através da Barra de Propriedades.