PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - Republica Virtual CEP - Webservice para consulta de CEP - Código de Endereço Postal do Brasil
WX - Republica Virtual CEP - Webservice para consulta de CEP - Código de Endereço Postal do Brasil
Iniciado por Boller, fev., 12 2022 11:20 PM - 3 respostas
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em fevereiro, 12 2022 - 11:20 PM
https://www.republicavirtual.com.br/cep/index.php

https://www.republicavirtual.com.br/cep/exemplos.php

https://www.republicavirtual.com.br/cep/codigos.php

https://www.republicavirtual.com.br/cep/contribuir.php

// Summary: <specify the procedure action>
// Syntax:
//BuscaEnderecoRepulicaCEP (<cep>)
//
// Parameters:
// cep:
// Example:
// <Specify a usage example>
//
Procedure BuscaEnderecoRepulicaCEP(cep)

cepbusca is string = NoSpace(cep)

cepbusca = Replace(cepbusca," ","")
cepbusca = Replace(cepbusca,".","")
cepbusca = Replace(cepbusca,"-","")
cepbusca = Replace(cepbusca,"/","")

ArrRetorno is array of string

Rua, Bairro, Cidade, Uf is string

IF IsNumeric(Val(cepbusca)) = True

url is string = "http://cep.republicavirtual.com.br/web_cep.php?cep="+cepbusca+"&formato=json"

HTTPRequest(url)

JsonResultadocep is JSON = HTTPGetResult()

IF JsonResultadocep <> "" THEN

//{"resultado":"1","resultado_txt":"sucesso - cep completo","uf":"PR","cidade":"Curitiba","bairro":"Tarum\u00e3","tipo_logradouro":"Rua","logradouro":"Doutor Ren\u00ea Dinorah da Silveira"}

IF JsonResultadocep.resultado_txt = "sucesso - cep completo"

Rua = JsonResultadocep.tipo_logradouro + " " + JsonResultadocep.logradouro
Bairro = JsonResultadocep.bairro
Cidade = JsonResultadocep.cidade
Uf = JsonResultadocep.uf

EDT_Endereco = Rua
EDT_Bairro = Bairro
EDT_Cidade = Cidade
EDT_UF = Uf
EDT_Pais = "BRASIL"

SetFocus(EDT_Numero)

Add(ArrRetorno,Rua) //1
Add(ArrRetorno,Bairro) //2
Add(ArrRetorno,Cidade) //3
Add(ArrRetorno,Uf) //4
Add(ArrRetorno,cep) //5

END

END

ELSE
Info("O cep deve ser formado por numeros")
END

RESULT ArrRetorno


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em fevereiro, 16 2022 - 1:38 PM
// Summary: <specify the procedure action>
// Syntax:
//[ <Result> = ] BuscaEnderecoRepublicaCEP (<cep>)
//
// Parameters:
// cep: <specify the role of cep>
// Example:
// <Specify a usage example>
//
// Return value:
Procedure BuscaEnderecoRepublicaCEP(cep)

cepbusca is string = NoSpace(cep)

cepbusca = Replace(cepbusca," ","")
cepbusca = Replace(cepbusca,"." ,"")
cepbusca = Replace(cepbusca,"-","")
cepbusca = Replace(cepbusca,"/","")

ArrRetorno is array of string

Rua, Bairro, Cidade, Uf is string

IF IsNumeric(Val(cepbusca)) = True

url is string = "http://cep.republicavirtual.com.br/web_cep.php?cep="+cepbusca+"&formato=json"

HTTPRequest(url)

JsonResultadocep is JSON = HTTPGetResult()

IF JsonResultadocep <> "" THEN

//{"resultado":"1","resultado_txt":"sucesso - cep completo","uf":"PR","cidade":"Curitiba","bairro":"Tarum\u00e3","tipo_logradouro":"Rua","logradouro":"Doutor Ren\u00ea Dinorah da Silveira"}

IF JsonResultadocep.resultado_txt = "sucesso - cep completo"

Rua = JsonResultadocep.tipo_logradouro + " " + JsonResultadocep.logradouro
Bairro = JsonResultadocep.bairro
Cidade = JsonResultadocep.cidade
Uf = JsonResultadocep.uf

Add( ArrRetorno,Rua) //1
Add(ArrRetorno,Bairro) //2
Add(ArrRetorno,Cidade) //3
Add(ArrRetorno,Uf) //4
Add(ArrRetorno,cep) //5

END

END

ELSE
Info("O cep deve ser formado por numeros")
END

RESULT ArrRetorno


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
2 mensagems
Publicado em setembro, 12 2022 - 8:19 PM
Nesse exemplo observei que o retorno quando existe acentos fica com caracteres invalidos devido ao JSon, como isso pode ser resolvido?

--
L3T Serviços
Lino Almeida
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em outubro, 21 2022 - 5:56 PM
// Summary: <specify the procedure action>
// Syntax:
//[ <Result> = ] Evento_Consulta_CEP (<cep>)
//
// Parameters:
// cep:
// Example:
// <Specify a usage example>
//
PROCEDURE Evento_Consulta_CEP(cep)

cepbusca is string=NoSpace(cep)

cepbusca = Replace(cepbusca," ","")
cepbusca = Replace(cepbusca,".","")
cepbusca = Replace(cepbusca,"-","")
cepbusca = Replace(cepbusca,"/","")

ArrRetorno is array of string

Rua,Bairro,Cidade,Uf is string

IF IsNumeric(Val(cepbusca)) =True

url is string="http://cep.republicavirtual.com.br/web_cep.php?cep="+cepbusca+"&formato=json"

HTTPRequest(url)

JsonResultadocep is JSON=HTTPGetResult()

IF JsonResultadocep<>""THEN

//{"resultado":"1","resultado_txt":"sucesso - cep completo","uf":"PR","cidade":"Curitiba","bairro":"Tarum\u00e3","tipo_logradouro":"Rua","logradouro":"Doutor Ren\u00ea Dinorah da Silveira"}

IF JsonResultadocep.resultado_txt="sucesso - cep completo"

Rua = JsonResultadocep.tipo_logradouro+" "+JsonResultadocep.logradouro
Bairro = JsonResultadocep.bairro
Cidade = JsonResultadocep.cidade
Uf = JsonResultadocep.uf

EDT_App01_endereco = Rua
EDT_App01_bairro = Bairro
EDT_App01_cidade = Cidade
EDT_App01_uf = Uf

Add(ArrRetorno,Rua)//1
Add(ArrRetorno,Bairro)//2
Add(ArrRetorno,Cidade)//3
Add(ArrRetorno,Uf)//4
Add(ArrRetorno,cep)//5

END

END

ELSE

Info("O cep deve ser formado por numeros")
EDT_App01_endereco = ""
EDT_App01_bairro = ""
EDT_App01_cidade = ""
EDT_App01_uf = ""

END

RESULT ArrRetorno



PARA RESOLVER ACENTOS INVALIDOS COLOCAR O RESULTADO NUMA STRING UNICODE
E USAR O COMANDO NOACCENT(VALOR) E REATRIBUIR AO SEU CAMPO
DEVE VERIFICAR SE SEU PROJETO É UNICODE OU ANSI GLOBAL DAS PROPRIEDADES DO PROJETO

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/