Pesquisar neste blog

terça-feira, 1 de dezembro de 2009

Facilidades da WEB I - Webservice de Busca de CEP do Brasil

Precisávamos instalar uma pesquisa de CEP em nossos banco de dados , tanto pelo CEP informado quanto pelo logradouro(rua/avenida/travessa).

O Nosso Correio possui o famoso DNE (Diretório nacional de endereços) , mas parece que é cobrado e é bem cobrado. Ai pesquisando na internet achei o BUSCARCEP. Prático, barato(grátis até 20 pesquisas por minuto) e funcional (fácil fácil de usar no GX EVL). Vejam abaixo..

// Código do Grid de pesquisa do logradouro
Event Grid1.Load
// Se informou o Logradouro(endereço) e a cidade...
If ( Not &NomEndPesquisa.IsEmpty() And Not &CidadeNomePesquisa.IsEmpty())
// Monta a String de pesquisa do logradouro
&vrStringUrl1 = IIF( &vrTipoLogradouroPesquisa = TipoLogradouro.Vazio, '?logradouro=' + &NomEndPesquisa.Trim() , '?tipo_logradouro=' + &vrTipoLogradouroPesquisa.EnumerationDescription() + '&logradouro=' + &NomEndPesquisa.Trim() ) + iif( Not &CidadeNomePesquisa.IsEmpty(), '&cidade=' + &CidadeNomePesquisa.Trim(), '') + iif( Not &NomBairroPesquisa.IsEmpty() , '&bairro=' + &NomBairroPesquisa.Trim(), '' ) + iif( Not &EstadoUfPesquisa.IsEmpty(), '&uf=' + &EstadoUfPesquisa.Trim(), '' )

&vrStringUrl2 = '&formato=xml&chave=minhachave'
&vrStringUrlCompleta = &vrStringUrl1.Trim() + &vrStringUrl2.Trim()
&vrHttpClient.Execute('GET', &vrStringUrlCompleta.Trim())
If (&vrHttpClient.ErrCode = 0) And (&vrHttpClient.StatusCode = 200)
&vrHttpClient.ToFile('xml/buscalogradouro.xml')
&vrArq = Dfwptxt( &vrStringUrlCompleta )
&vrArq = DfwNext()
&vrArq = Dfwclose()
// Abre o xml retornado e joga no XMLREADER, permitindo fácil leitura abaixo
&vrXMLReader.OpenResponse( &vrHttpClient )
&vrQtdEncontrados.SetEmpty()
Do While Not &vrXMLReader.EOF
&vrXMLReader.Read()
If &vrXMLReader.Name = 'resultado'
&vrRetornoXML = &vrXMLReader.Value.ToNumeric()
Endif

...


O código acima é o início da pesquisa do CEP pelo logradouro e joga num grid.(vejam a tela abaixo).



Ou se quiser, é só mudar o código da pesquisa(no site tem os exemplos) e retorna o endereço(logradouro) , bairro , UF e Cidade do cep desejado.



Para usar este webservice(buscarcep) , é só se cadastrar, pegar uma chave(registrar-se) que irá permitir 20 pesquisas por minuto, se precisar de mais, ai é só entrar em contato com eles e pagar via boleto o serviço deles. Acho que quem precisar de mais pesquisas valerá a pena.

Lógico que tem suas desvantagens, por ser um webservice remoto que precisa da internet estar funcionando , mas para pequenos negócios ajuda e bastante estar embutido no aplicativo.

Parabéns ao pessoal do www.buscarcep.com.br , foi mais difícil por o prompt do EVL funcionar corretamente(até agora não consegui) do que integrar o webservice.

Abraço A TODOS ! E que venham mais serviços da WEB deste tipo.


Ricardo


Nenhum comentário: