Mostrando postagens com marcador _curso_webservice. Mostrar todas as postagens
Mostrando postagens com marcador _curso_webservice. Mostrar todas as postagens

terça-feira, 6 de agosto de 2024

VIDEO 4084 - Webservice - uninfe -dll - Adicionando Token segurança busca cnpj webservice - Windev29 webdev mobile -

VIDEO 4084 - Webservice - uninfe -dll - Adicionando Token segurança busca cnpj webservice - Windev29 webdev mobile -  



bom dia
VIDEO 4084 - Webservice - uninfe -dll - Adicionando Token segurança busca cnpj webservice - Windev29 webdev mobile -  

00:00:00 Introdução
00:00:10 Criando procedure de autenticação
00:00:34 Explicando o codigo autenticação 
00:01:13 Vamos no rest consulta cadastro e adicionar a autenticação
00:02:08 Vamos chamar a consulta sem a autenticação e mostrar o erro
00:02:18 No consumo vamos adicionar a autenticação 
00:02:53 Consideração final 
00:03:05 Propaganda Windev Webde Mobile com Adriano boller
00:03:06 Erpmatos 
00:03:22 Representantes ErpMatos
00:03:32 Video Encerramento


=======================================


PROCEDURE autenticacao()

sToken is string = WebserviceReadHTTPHeader("senhaautenticacao")
//Authorization
IF sToken ="1234"  THEN
    RESULT True 
ELSE
  RESULT False
END


==========================================

sEDT_Url_string is string = "http://www.amarildomatos.com.br/uninfe_consulta_cadastro"
oRequest is httpRequest
oResponse is httpResponse
oRequest.URL = sEDT_Url_string 
oRequest.Method = httpPost
oRequest..Header["s_recebe_cnpj_emitente"] = s_cnpj_emitente
oRequest..Header["s_recebe_senha"] = s_certificado_senha
oRequest..Header["s_recebe_UF"]     = s_uf
oRequest..Header["s_recebe_cnpj_cadastro"] = s_cnpj_consultar

oRequest..Header["senhaautenticacao"]     = "1234"

oRequest..Header["local_salvar"]         = "E:"
oRequest.Content = ""
oRequest.ContentType = typeMimeJSON
oResponse = RESTSend(oRequest)
sRetorno_webservice is string = oResponse.Content
edt_Resposta = sRetorno_webservice

============================================

bom dia
VIDEO 4084 - Webservice - uninfe -dll - Adicionando Token segurança busca cnpj webservice - Windev29 webdev mobile -  

00:00:00 Introdução
00:00:10 Criando procedure de autenticação
00:00:34 Explicando o codigo autenticação 
00:01:13 Vamos no rest consulta cadastro e adicionar a autenticação
00:02:08 Vamos chamar a consulta sem a autenticação e mostrar o erro
00:02:18 No consumo vamos adicionar a autenticação 
00:02:53 Consideração final 
00:03:05 Propaganda Windev Webde Mobile com Adriano boller
00:03:06 Erpmatos 
00:03:22 Representantes ErpMatos
00:03:32 Video Encerramento

============================================





segunda-feira, 5 de agosto de 2024

VIDEO 4083 - Webservice - uninfe -dll - Melhorando Codigo busca Cnpj - top - Windev29 webdev mobile -

VIDEO 4083 - Webservice - uninfe -dll - Melhorando Codigo busca Cnpj - top - Windev29 webdev mobile -  









00:00:00 Introdução
00:01:12 Mostrando webservice consulta cadastro
00:01:25 Variaveis iniciais e parametros do webservice 
00:02:56 Primeiras configuracoes sefaz uninfe dll e pesquisa estado
00:05:11 caso nao encontre , pesquisar na receita 
00:06:08 Buscando dados da receita 
00:07:03 vou unificar o retorno do xml fazendo um somente 
00:07:11 Criando xml padrao 
00:07:40 Colocando dados do json no xml 
00:08:18 Colocando dados do xml do sefaz no xml 
00:08:49 Fazendo codigo do consumo 
00:10:04 Vamos testar 
00:10:35 Onde eu encontro o código 
00:10:53 Propaganda Windev Webde Mobile com Adriano boller
00:11:01 Erpmatos 
00:11:10 Representantes ErpMatos
00:11:21 Video Encerramento



Objetivo Aula:
Temos a consulta do cnpj pela busca do sefaz.. Normalmente sempre consulto
o cnpj, com o estado do emitente. mas caso nao seja do mesmo estado, ai teriamos
de pedir para o cliente digitar a Uf. Mas podemos simplificar isso automaticamente.
o que farei. caso o cnpj nao for do estado do emitente, entao , vou fazer uma
pesquisa pelo site receitaws.com para saber o estado, e ai, sim. na segunta busca,
já leva o estado. 
Outra coisa que faremos é caso , nao tiver inscrição estadual, ai ele vai
trazer as informações do site da receitaws.com.
Top demais. vamos a aula, e aproveite.



Resultado Json


{ "status": "OK", "ultima_atualizacao": "2019-08-24T14:15:22Z", "cnpj": "string", "tipo": "MATRIZ", "porte": "string", "nome": "string", "fantasia": "string", "abertura": "string", "atividade_principal": [ { "code": "string", "text": "string" } ], "atividades_secundarias": [ { "code": "string", "text": "string" } ], "natureza_juridica": "string", "logradouro": "string", "numero": "string", "complemento": "string", "cep": "string", "bairro": "string", "municipio": "string", "uf": "string", "email": "string", "telefone": "string", "efr": "string", "situacao": "string", "data_situacao": "string", "motivo_situacao": "string", "situacao_especial": "string", "data_situacao_especial": "string", "capital_social": "string", "qsa": [ { "nome": "string", "qual": "string", "pais_origem": "string", "nome_rep_legal": "string", "qual_rep_legal": "string" } ], "billing": { "free": true, "database": true } }

============================

//=========== CONSUMO // criar as variaveis s_cnpj_emitente is string = "" s_certificado_senha is string = "" s_cnpj_consultar is string = "" s_uf is string = "" sEDT_Url_string is string = "http://www.amarildomatos.com.br/uninfe_consulta_cadastro" oRequest is httpRequest oResponse is httpResponse oRequest.URL = sEDT_Url_string oRequest.Method = httpPost oRequest..Header["s_recebe_cnpj_emitente"] = s_cnpj_emitente oRequest..Header["s_recebe_senha"] = s_certificado_senha oRequest..Header["s_recebe_UF"] = s_uf oRequest..Header["s_recebe_cnpj_cadastro"] = s_cnpj_consultar oRequest..Header["local_salvar"] = "E:" oRequest.Content = "" oRequest.ContentType = typeMimeJSON oResponse = RESTSend(oRequest) sRetorno_webservice is string = oResponse.Content edt_Resposta = sRetorno_webservice //======== WEBSERVICE PROCEDURE uninfe_consulta_cadastro() retorno_json is JSON cstat is string="" xmotivo is string="" s_auditoria is string = "" retorno_xml is string = "" razao_social is string="" s_recebe_cnpj_emitente is string = WebserviceReadHTTPHeader("s_recebe_cnpj_emitente") // cnpj do emitente-> certificado s_recebe_senha is string = WebserviceReadHTTPHeader("s_recebe_senha") // senha certificado s_recebe_UF is string = WebserviceReadHTTPHeader("s_recebe_UF") s_recebe_cnpj_cadastro is string = WebserviceReadHTTPHeader("s_recebe_cnpj_cadastro") s_local_salvar is string = WebserviceReadHTTPHeader("local_salvar") diretorio_salvar is string=fCurrentDir() // escolhendo onde salvar as informacoes IF s_local_salvar="" THEN ELSE diretorio_salvar=s_local_salvar // "e:" END s_arquivo_certificado is string = fCurrentDir()+"\erpmatos\"+s_recebe_cnpj_emitente+".pfx" s_diretorio is string = s_local_salvar+"\erpmatos\xml_"+s_recebe_cnpj_emitente+"\retorno" IF fMakeDir(s_diretorio)=False THEN END s_diretorio_log is string=s_local_salvar+"\erpmatos\xml_"+s_recebe_cnpj_emitente+"\retorno" IF fMakeDir(s_diretorio_log)=False THEN END s_busca_cnpj is string="" busca_cnpj_sefaz: o_configuracao is Unimake.Business.DFe.Servicos.Configuracao // configurações minimas o_configuracao.TipoDFe = TipoDFe.NFe //1 // nfe o_configuracao.CertificadoArquivo = s_arquivo_certificado o_configuracao.CertificadoSenha = s_recebe_senha oConsCad is Unimake.Business.DFe.XML.NFe.ConsCad() // criar xml oConsCad.VERSAO = "2.00" oInfCons is Unimake.Business.DFe.XML.NFe.InfCons() oInfCons.CNPJ = s_recebe_cnpj_cadastro oInfCons.uf = UFBrasil.RS IF s_recebe_UF<>"" THEN pesquisa_estado() END IF s_busca_cnpj="receita_busca" THEN busca_receita_cnpj() END oConsCad.InfCons = oInfCons WHEN EXCEPTION IN oConsultaCadastro is Unimake.Business.DFe.Servicos.NFe.ConsultaCadastro() oConsultaCadastro.Executar(oConsCad,o_configuracao) oRetConsCad is Unimake.Business.DFe.XML.NFe.RetConsCad <- oConsultaCadastro.Result cstat = oRetConsCad.InfCons.CStat xmotivo = oRetConsCad.InfCons.XMotivo IF cstat="259" THEN // cnpj da consulta não cadastrado como contribuinte na UF // na primeira vez, vai pesquizar o estado do emitente, ou da informacao fornecida pelo usuario // na segunda vez, vai pegar o resultado pela receita ws, pois nao tem inscrição ELSE razao_social = oRetConsCad.InfCons.InfCad.XNome retorno_xml = oConsultaCadastro.RetornoWSString s_busca_cnpj="sefaz_achou" END DO retorno_xml = "ERRO:"+ExceptionInfo(errFullDetails) s_busca_cnpj="sefaz_erro" END IF s_busca_cnpj="sefaz_achou" OR s_busca_cnpj="sefaz_erro" THEN ELSE IF s_busca_cnpj="" THEN s_busca_cnpj="receita_busca" GOTO busca_cnpj_sefaz END END INTERNAL PROCEDURE busca_receita_cnpj() // pegar pela receita o estado s_busca_cnpj="buscou" s_url is string = "https://www.receitaws.com.br/v1/cnpj/"+s_recebe_cnpj_cadastro IF HTTPRequest(s_url) THEN retorno_json=HTTPGetResult() recebi_o_estado is string = retorno_json.uf SWITCH recebi_o_estado CASE "AC" oInfCons.uf=UFBrasil.AC CASE "AL" oInfCons.uf=UFBrasil.AL CASE "AM" oInfCons.uf=UFBrasil.AM CASE "AP" oInfCons.uf=UFBrasil.AP CASE "BA" oInfCons.uf=UFBrasil.BA CASE "CE" oInfCons.uf=UFBrasil.CE CASE "DF" oInfCons.uf=UFBrasil.DF CASE "ES" oInfCons.uf=UFBrasil.ES CASE "EX" oInfCons.uf=UFBrasil.EX CASE "GO" oInfCons.uf=UFBrasil.GO CASE "MA" oInfCons.uf=UFBrasil.MA CASE "MG" oInfCons.uf=UFBrasil.MG CASE "MS" oInfCons.uf=UFBrasil.MS CASE "MT" oInfCons.uf=UFBrasil.MT CASE "PA" oInfCons.uf=UFBrasil.PA CASE "PB" oInfCons.uf=UFBrasil.PB CASE "PE" oInfCons.uf=UFBrasil.PE CASE "PI" oInfCons.uf=UFBrasil.PI CASE "PR" oInfCons.uf=UFBrasil.PR CASE "RJ" oInfCons.uf=UFBrasil.RJ CASE "RN" oInfCons.uf=UFBrasil.RN CASE "RO" oInfCons.uf=UFBrasil.RO CASE "RR" oInfCons.uf=UFBrasil.RR CASE "RS" oInfCons.uf=UFBrasil.RS CASE "SC" oInfCons.uf=UFBrasil.SC CASE "SE" oInfCons.uf=UFBrasil.SE CASE "SP" oInfCons.uf=UFBrasil.SP CASE "TO" oInfCons.uf=UFBrasil.TO OTHER CASE s_busca_cnpj="receita_nao_achou["+retorno_json END ELSE s_busca_cnpj="erro busca receita="+ErrorInfo(errFullDetails) END END INTERNAL PROCEDURE pesquisa_estado() SWITCH s_recebe_UF CASE "AC" oInfCons.uf=UFBrasil.AC CASE "AL" oInfCons.uf=UFBrasil.AL CASE "AM" oInfCons.uf=UFBrasil.AM CASE "AP" oInfCons.uf=UFBrasil.AP CASE "BA" oInfCons.uf=UFBrasil.BA CASE "CE" oInfCons.uf=UFBrasil.CE CASE "DF" oInfCons.uf=UFBrasil.DF CASE "ES" oInfCons.uf=UFBrasil.ES CASE "EX" oInfCons.uf=UFBrasil.EX CASE "GO" oInfCons.uf=UFBrasil.GO CASE "MA" oInfCons.uf=UFBrasil.MA CASE "MG" oInfCons.uf=UFBrasil.MG CASE "MS" oInfCons.uf=UFBrasil.MS CASE "MT" oInfCons.uf=UFBrasil.MT CASE "PA" oInfCons.uf=UFBrasil.PA CASE "PB" oInfCons.uf=UFBrasil.PB CASE "PE" oInfCons.uf=UFBrasil.PE CASE "PI" oInfCons.uf=UFBrasil.PI CASE "PR" oInfCons.uf=UFBrasil.PR CASE "RJ" oInfCons.uf=UFBrasil.RJ CASE "RN" oInfCons.uf=UFBrasil.RN CASE "RO" oInfCons.uf=UFBrasil.RO CASE "RR" oInfCons.uf=UFBrasil.RR CASE "RS" oInfCons.uf=UFBrasil.RS CASE "SC" oInfCons.uf=UFBrasil.SC CASE "SE" oInfCons.uf=UFBrasil.SE CASE "SP" oInfCons.uf=UFBrasil.SP CASE "TO" oInfCons.uf=UFBrasil.TO OTHER CASE s_busca_cnpj="nao_acho_estado" END END retorno_xml_erpmatos is string="" retorno_xml_erpmatos=[ <infCad> <IE>#IE#</IE> <CNPJ>#CNPJ#</CNPJ> <UF>#UF#</UF> <cSit>#cSit#</cSit> <indCredNFe>#indCredNFe#</indCredNFe> <indCredCTe>#indCredCTe#</indCredCTe> <xNome>#xNome#</xNome> <xFant>#xFant#</xFant> <xRegApur>#xRegApur#</xRegApur> <CNAE>#CNAE#</CNAE> <dIniAtiv>#dIniAtiv#</dIniAtiv> <dUltSit>#dUltSit#</dUltSit> <ender> <xLgr>#xLgr#</xLgr> <nro>#nro#</nro> <xCpl>#xCpl#</xCpl> <xBairro>#xBairro#</xBairro> <cMun>#cMun#</cMun> <xMun>#xMun#</xMun> <CEP>#CEP#</CEP> </ender> <alteracao>#alteracao#</alteracao> </infCad> ] IF cstat="259" THEN //caso nao tiver no sefaz, vai pegar o json da receita retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#alteracao#","pegou pelo json da receita") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#IE#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#CNPJ#",s_recebe_cnpj_cadastro) retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#UF#",retorno_json.uf) retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#cSit#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#indCredNFe#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#indCredCTe#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xNome#",retorno_json.nome) IF retorno_json.fantasia="" THEN retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xFant#",retorno_json.nome) ELSE retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xFant#",retorno_json.fantasia) END retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xRegApur#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#CNAE#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#dIniAtiv#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#dUltSit#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xLgr#",retorno_json.logradouro) retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#nro#",retorno_json.numero) retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xCpl#",retorno_json.complemento) retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xBairro#",retorno_json.bairro) retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#cMun#","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#xMun#",retorno_json.municipio) cep_string is string=retorno_json.cep cep_string=Replace(cep_string,".","") cep_string=Replace(cep_string,"-","") retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#CEP#",cep_string) ELSE retorno_xml_erpmatos=Replace(retorno_xml_erpmatos,"#alteracao#","pegou pelo xml da sefaz") retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#IE#",XMLExtractString(retorno_xml,"IE")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#CNPJ#",s_recebe_cnpj_cadastro) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#UF#",XMLExtractString(retorno_xml,"UF")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#cSit#",XMLExtractString(retorno_xml,"cSit")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#indCredNFe#",XMLExtractString(retorno_xml,"indCredNFe")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#indCredCTe#",XMLExtractString(retorno_xml,"indCredCTe")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xNome#",XMLExtractString(retorno_xml,"xNome")) IF XMLExtractString(retorno_xml,"xFant")="" THEN retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xFant#",XMLExtractString(retorno_xml,"xNome")) ELSE retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xFant#",XMLExtractString(retorno_xml,"xFant")) END retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xRegApur#",XMLExtractString(retorno_xml,"xRegApur")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#CNAE#",XMLExtractString(retorno_xml,"CNAE")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#dIniAtiv#",XMLExtractString(retorno_xml,"dIniAtiv")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#dUltSit#",XMLExtractString(retorno_xml,"dUltSit")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xLgr#",XMLExtractString(retorno_xml,"xLgr")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#nro#",XMLExtractString(retorno_xml,"nro")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xCpl#",XMLExtractString(retorno_xml,"xCpl")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xBairro#",XMLExtractString(retorno_xml,"xBairro")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#cMun#",XMLExtractString(retorno_xml,"cMun")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#xMun#",XMLExtractString(retorno_xml,"xMun")) retorno_xml_erpmatos = Replace(retorno_xml_erpmatos,"#CEP#",XMLExtractString(retorno_xml,"CEP")) //xFant END RESULT retorno_xml_erpmatos

quarta-feira, 17 de julho de 2024

VIDEO 4074 - Webservice - Windev29 webdev mobile - Consumir webservice cadastro no Webdev uninfe -dll





bom dia
VIDEO 4074 - Webservice - Windev29 webdev mobile - Consumir webservice cadastro no Webdev uninfe -dll

00:00:00 Introdução
00:00:11 Vamos entrar no cadastro de cliente, e no botao busca cnpj
00:00:29 Vamos perguntar se já existe cnpj digitado
00:00:38 vamos criar as variaveis
00:01:20 vamos instanciar request e response e informar url e metodo
00:01:41 vamos informar os parametors e o tipo
00:02:13 vamos pegar o retorno 
00:02:27 vamos adicionar as informações nos campos com xmlExtractString
00:03:44 Vamos gerar deploy do projeto erp_web_matos
00:04:22 Executando o Site webdev Erp_web_matos
00:04:59 Próxima Aula 
00:05:13 Propaganda Windev Webde Mobile com Adriano boller
00:05:23 Erpmatos 
00:05:29 Representantes ErpMatos
00:05:40 Video Encerramento




=========================================

// vamos verificar se tem cnpj digitado

IF edt_cnpj_cpf<>"" THEN
// buscar cnpj pelo uninfe dll
// criar as variaveis 
s_cnpj_emitente is string = ""
s_certificado_senha is string = ""
s_cnpj_consultar is string = ""
n_cuf is int = 43 
sEDT_Url_string is string = "http://www.amarildomatos.com.br/uninfe_consulta_cadastro"
s_cnpj_consultar = edt_cnpj_cpf
// vamos instanciar request e response
oRequest is httpRequest
oResponse is httpResponse
// vamos informar a url e metodo
oRequest.URL = sEDT_Url_string 
oRequest.Method = httpPost
// vamos informar os parametros
oRequest..Header["s_recebe_cnpj"] = s_cnpj_emitente
oRequest..Header["s_recebe_senha"] = s_certificado_senha
oRequest..Header["n_recebe_CUF"] = n_cuf
oRequest..Header["s_recebe_cnpj_cadastro"] = s_cnpj_consultar
// vamos colocar tipo 
oRequest.Content = ""
oRequest.ContentType = typeMimeJSON

//vamos pegar o retorno 
oResponse = RESTSend(oRequest)
sRetorno_webservice is string = oResponse.Content
    //vamos adicionar as informações nos campos
IF edt_razao_social_nome="" THEN
edt_razao_social_nome=XMLExtractString(sRetorno_webservice,"xNome")
END
IF edt_nome_fantasia="" THEN
edt_nome_fantasia=XMLExtractString(sRetorno_webservice,"xFant")
END
IF EDT_Endereco_cep="" OR EDT_Endereco_cep=0 THEN
EDT_Endereco_cep = XMLExtractString(sRetorno_webservice,"CEP")
END
IF EDT_Endereco_rua="" THEN
EDT_Endereco_rua=XMLExtractString(sRetorno_webservice,"xLgr")
END
IF EDT_Endereco_numero="" OR EDT_Endereco_numero=0 THEN
EDT_Endereco_numero=XMLExtractString(sRetorno_webservice,"nro")
END
IF EDT_Endereco_complemento="" THEN
EDT_Endereco_complemento=XMLExtractString(sRetorno_webservice,"xCpl")
END
IF EDT_Endereco_bairro="" THEN
EDT_Endereco_bairro=XMLExtractString(sRetorno_webservice,"xBairro")
END
IF EDT_Endereco_cidade="" THEN
EDT_Endereco_cidade=XMLExtractString(sRetorno_webservice,"xMun")
END
IF EDT_Endereco_uf="" THEN
EDT_Endereco_uf=XMLExtractString(sRetorno_webservice,"UF")
END
IF EDT_Email=""
EDT_Email=XMLExtractString(sRetorno_webservice,"email")
END
IF edt_inscricao_estadual=""
edt_inscricao_estadual=XMLExtractString(sRetorno_webservice,"IE")
END
IF EDT_Endereco_cmun=0 OR EDT_Endereco_cmun="" THEN
EDT_Endereco_cmun = XMLExtractString(sRetorno_webservice,"cMun")
EDT_Endereco_pais = "BRASIL"
EDT_Endereco_cpais = "1058"
END
IF EDT_Cnae="" THEN
EDT_Cnae=XMLExtractString(sRetorno_webservice,"CNAE")
END
//EDT_Observacao_texto=XMLExtractString(sRetorno_webservice,"")
IF gnRecebe_tipo_cliente_fornecedor=2 THEN
//cliente
CBOX_Tabela_cliente=True
ELSE IF gnRecebe_tipo_cliente_fornecedor=3 
//fornecedor
CBOX_Tabela_fornecedor=True
END
END




terça-feira, 16 de julho de 2024

VIDEO 4073 - Webservice - Windev29 webdev mobile - Consumir webservice cadastro no windev uninfe -dll



bom dia
VIDEO 4073 - Webservice - Windev29 webdev mobile - Consumir webservice cadastro no windev uninfe -dll


00:00:00 Introdução
00:00:12 Criar um botao e um edt resposta 
00:00:58 Vamos criar as variaveis 
00:01:22 vamos instanciar request e response
00:01:33 vamos informar a url e metodo
00:01:47 vamos informar os parametros
00:02:16 vamos colocar tipo 
00:02:28 vamos pegar retorno 
00:02:47 vamos testar 
00:03:06 Próxima Aula 
00:03:10 Propaganda Windev Webde Mobile com Adriano boller
00:03:18 Erpmatos 
00:03:27 Representantes ErpMatos
00:04:38 Video Encerramento





// criar as variaveis 
s_cnpj_emitente is string = ""
s_certificado_senha is string = ""
s_cnpj_consultar is string = ""
n_cuf is int = 43 
sEDT_Url_string is string = "http://www.dominio.com.br/uninfe_consulta_cadastro"
s_cnpj_emitente = "019"
s_certificado_senha = "19"
s_cnpj_consultar = "893"
// vamos instanciar request e response
oRequest is httpRequest
oResponse is httpResponse
// vamos informar a url e metodo
oRequest.URL = sEDT_Url_string 
oRequest.Method = httpPost
// vamos informar os parametros
oRequest..Header["s_recebe_cnpj"] = s_cnpj_emitente
oRequest..Header["s_recebe_senha"] = s_certificado_senha
oRequest..Header["n_recebe_CUF"] = n_cuf
oRequest..Header["s_recebe_cnpj_cadastro"] = s_cnpj_consultar
// vamos colocar tipo 
oRequest.Content = ""
oRequest.ContentType = typeMimeJSON
//vamos pegar o retorno 
oResponse = RESTSend(oRequest)
sRetorno_webservice is string = oResponse.Content
edt_Resposta = sRetorno_webservice


VIDEO 4072 - Webservice - Windev29 webdev mobile - Criar Webservice Rest Cadastro Contribuinte Uninfe Dll





bom dia
VIDEO 4072 - Webservice - Windev29 webdev mobile - Criar Webservice Rest Cadastro Contribuinte Uninfe Dll


00:00:00 Introdução
00:00:15 Explicando o que será feito 
00:00:32 Criando Rest com botao direito 
00:00:41 Criando Rest - nome do Rest 
00:00:51 Criar Point
00:01:02 Associando a procedure
00:01:29 Identificado o metodo como Post
00:01:45 Definir o nome do metodo
00:02:00 Definindo Request formato e Response
00:02:20 Mostrando Metodo
00:02:23 Gerando Webservice para o servidor 
00:03:07 Mostrando servico webservice 
00:03:19 Próxima Aula 
00:03:24 Propaganda Windev Webde Mobile com Adriano boller
00:03:32 Erpmatos 
00:03:41 Representantes ErpMatos
00:04:52 Video Encerramento





// PROCEDURE uninfe_consulta_cadastro()

s_auditoria is string = ""
retorno_xml is string = ""
s_recebe_cnpj is string = WebserviceReadHTTPHeader("s_recebe_cnpj") // cnpj do emitente-> certificado
s_recebe_senha is string = WebserviceReadHTTPHeader("s_recebe_senha") // senha certificado
n_recebe_CUF is int = WebserviceReadHTTPHeader("n_recebe_CUF") // 43 - res
s_recebe_cnpj_cadastro  is string = WebserviceReadHTTPHeader("s_recebe_cnpj_cadastro")

s_arquivo_certificado is string = fCurrentDir()+"\erpmatos\"+s_recebe_cnpj+".pfx"
s_diretorio is string = fCurrentDir()+"\erpmatos\xml_"+s_recebe_cnpj+"\retorno"
IF fMakeDir(s_diretorio)=False THEN
END

s_diretorio_log is string=fCurrentDir()+"\erpmatos\xml_"+s_recebe_cnpj+"\retorno"
IF fMakeDir(s_diretorio_log)=False THEN
END

s_auditoria+="Versao 27.03.15.31"
s_auditoria+=CR+"s_recebe_cnpj["+s_recebe_cnpj+"]"
//s_auditoria+=CR+"s_recebe_senha["+s_recebe_senha+"]"
s_auditoria+=CR+"n_recebe_CUF["+n_recebe_CUF+"]"
s_auditoria+=CR+"s_recebe_cnpj_cadastro["+s_recebe_cnpj_cadastro+"]"
s_auditoria+=CR+"s_arquivo_certificado["+s_arquivo_certificado+"]"
s_auditoria+=CR+"s_diretorio["+s_diretorio+"]"
s_auditoria+=CR+"s_diretorio_log["+s_diretorio_log+"]"

//Revisar acima 
//https://www.youtube.com/live/qUosXijsuPw?si=plDq6F3j8mz9yfgI //comeca 27.32 

// configurações minimas 
o_configuracao is Unimake.Business.DFe.Servicos.Configuracao
o_configuracao.TipoDFe = TipoDFe.NFe //1 // nfe
o_configuracao.CertificadoArquivo = s_arquivo_certificado
o_configuracao.CertificadoSenha = s_recebe_senha

//criar o xml
oConsCad is Unimake.Business.DFe.XML.NFe.ConsCad()
oConsCad.VERSAO = "2.00"

oInfCons is Unimake.Business.DFe.XML.NFe.InfCons()
oInfCons.CNPJ=s_recebe_cnpj_cadastro
oInfCons.uf=UFBrasil.RS // cuf=43 direto //perguntar

oConsCad.InfCons=oInfCons

WHEN EXCEPTION IN
// vamos consumir o servico // Criado um objeto oconsultacadastro
oConsultaCadastro is Unimake.Business.DFe.Servicos.NFe.ConsultaCadastro() 
    
    // vamos chamar ele, passando o xml e a configuração
  oConsultaCadastro.Executar(oConsCad,o_configuracao)
oRetConsCad is Unimake.Business.DFe.XML.NFe.RetConsCad <- oConsultaCadastro.Result
    cstat is string=oRetConsCad.InfCons.CStat
    xmotivo is string=oRetConsCad.InfCons.XMotivo
razao_social is string=oRetConsCad.InfCons.InfCad.XNome
retorno_xml = oConsultaCadastro.RetornoWSString 
DO
retorno_xml="ERRO:"+ExceptionInfo(errFullDetails)
END

// vamos gravar auditoria no servidor
s_auditoria+=CR+retorno_xml+CR
fSaveText(s_diretorio_log+"\cadastro_log.txt",s_auditoria)
fSaveText(s_diretorio+"\cadastro_retorno.xml",retorno_xml)


RESULT retorno_xml


sexta-feira, 23 de dezembro de 2022

Dica 3864 - webservice - Buscar Cep - ViaCep - Retorno Xml ou Json

 




-------------------------------------------------------


PARA ADQUIRIR WINDEV MOBILE WEBDEV 28
ENTRE EM CONTATO COM 
ADRIANO BOLLER 
DA WXSOLUÇÕES





-------------------------------------------------------

Youtube

https://youtu.be/jk9Jf4WZX4c




Video youtube da frança


--------------------------------------------------------

Repositorio


---------------------------------------------------------

Blog

 
------------------------------------------------------
Link Pcsoft Fr


------------------------------------------------------
Help Pcsoft

----------------------------------------------------

------------------------
Bom dia..
Hoje vou mostrar
como buscar cep
no webservice viacep
e como pegar retorno xml ou json
isso no windev mobile 28

------------------------
00:00:00 Apresentação
00:00:15 Representante Adriano Boller
00:00:25 Apresentando ViaCep 
00:00:31 Vamos criar uma window
00:00:44 Vamos criar um Edt cep Numeric 
00:01:07 Vamos criar um Radio para retorno xml ou json
00:01:29 Vamos criar um botao busca cep
00:01:36 vamos criar um edt_resultado
00:01:54 vamos criar campo do endereco 
00:02:06 Vamos criar os outros campos 
00:02:16 Vamos entrar no codigo do botao 
00:02:21 se nao existir cep, retornar 
00:02:31 colocar a url do webservice com o cep 
00:02:52 Vou explicar o codigo httprequest e httpresponse 
00:03:28 Vamos pegar o retorno xml 
00:03:59 Vamos pegar o retorno json 
00:04:19 Vamos gerar o apk 
00:04:37 Vou mostrar no celular a busca cep 
00:05:08 Mostrando o exemplo no repositorio windev 
------------------------
//Codigo
IF EDT_cep="" THEN
Info("informar cep")
ReturnToCapture(EDT_cep)
END
url is string = ""
IF RADIO_retorno=1 THEN
url="http://viacep.com.br/ws/"+EDT_cep+"/xml/"
ELSE
url="http://viacep.com.br/ws/"+EDT_cep+"/json/"
END
o_request is httpRequest
o_response is httpResponse
o_request..URL = url 
o_request..Method = httpGet
o_response = RESTSend(o_request)
EDT_resultado = o_response.Content

IF RADIO_retorno=1 THEN
EDT_Logradouro = XMLExtractString(EDT_resultado,"logradouro")
EDT_complemento = XMLExtractString(EDT_resultado,"complemento")
EDT_Bairro = XMLExtractString(EDT_resultado,"bairro")
EDT_Cidade = XMLExtractString(EDT_resultado,"localidade")
EDT_Uf = XMLExtractString(EDT_resultado,"uf")
EDT_Ibge = XMLExtractString(EDT_resultado,"ibge")
ELSE
dados_json is JSON=EDT_resultado
EDT_Logradouro = dados_json.logradouro
EDT_complemento = dados_json.complementoa
EDT_Bairro = dados_json.bairro
EDT_Cidade = dados_json.localidade
EDT_Uf = dados_json.uf
EDT_Ibge = dados_json.ibge
END








------------------------
#windev 28 #webdev 28 #windev mobile 28 #pcsoft #erpmatos #erp
#windev28 #webdev28 #windev mobile28 #flexbox #hfsql #hfsql spare





















--------------------- Indice WebService

Criar Projeto WebService - Lista Site - - WebService - 001/...
Deploy - Gerando WebService/Levando Servidor/Instalar/Mostrar - WebService - 002/...
Instalando SoapUI - Testar WebService - Aula 1040 - WebService - 003/...
Ajustando Xml Lista Site WebService - WebService - 004/...
Consumir WebService - WebService - 005
Xml - Consumir Ler Xml e colocar Tabela - WebService - 006
Dolar - Consumir WebService - Cotação Dolar - 007
Cnpj Receita - Consumir WebService - 008/...
Cep Buscar WebService Correio - WebService - 009/...
CONSULTA CADASTRO SEFAZ P-1 - DICAS 1871 - WINDEV_23 - WEBSERVICE 010 - 
CONSULTA CADASTRO SEFAZ P-2 - 1872 - PUBLICA - WINDEV_23 - WEBSERVICE 011 - 
CONSULTA CADASTRO SEFAZ P-3 - 1873 - PUBLICA - WINDEV_23 - WEBSERVICE 012 -
DICAS 1877 - WINDEV_23 - WEBSERVICE 014 - CNPJ BUSCA CADASTRO ACBR
DICAS 2019 - WINDEV - WEBSERVICE - 015 - APRENDER A FAZER REST WEBSERVICE
DICAS 2020 - WINDEV - WEBSERVICE - 016 - CRIANDO TABELAS
DICAS 2021 - WINDEV - WEBSERVICE - 017 - WDTESTREST
DICAS 2022 - WINDEV MOBILE - WEBSERVICE - 018 - LER WEBSERVICE RESTSend
DICAS 2023 - WINDEV MOBILE - WEBSERVICE - 019 - LER WEBSERVICE RESTSend SOMENTE 1 REGISTRO
DICAS 2024 - WINDEV MOBILE - WEBSERVICE - 020 - WEBSERVICE RESTSend CRIA NOVO REGISTRO - httpPost
DICAS 2025 - WINDEV MOBILE - WEBSERVICE - 021 - WEBSERVICE RESTSend ALTERA REGISTRO - httpPut
DICAS 2026 - WINDEV MOBILE - WEBSERVICE - 022 - WEBSERVICE httpRequest httpDelete
DICAS 2033 - WINDEV - WEBSERVICE 23 - HTTPRequest - HTTPGetResult - fSaveBuffer - BAIXAR ARQUIVO
AO VIVO-SOAP-DICA 2095-WINDEV MOBILE WEBDEV-WEBSERVICE COM MOBILE -
DICAS 2096-2095 - WINDEV WEBDEV MOBILE - WEBSERVICE 25 - SOAP
DICAS 2097 - WINDEV MOBILE - WEBSERVICE 26 - MOSTRAR CLIENTES - SOAP
DICAS 2132 - HANGOUT AO VIVO 20 HORAS 30/05 - WEBSERVICE SOAP COM MOBILE
DICAS 2163 WINDEV WEBDEV MOBILE WEBSERVICE 28 SOAP
DICAS 2226 WINDEV WEBDEV MOBILE 24 NOVIDADES 26 WEBSERVICE 29 HTTPREQUEST - BUSCA CNPJ
DICA 2687 - WINDEV WEBDEV MOBILE - WEBSERVICE 32 - EXPLICANDO WEBSERVICE SOAP E CONSUMIDO MOBILE E DESKTOP



-----------------------------------------------------------------------------------------------------------------------------


-----------------------------------------------------------------------------------------------------------------------------
















domingo, 24 de outubro de 2021

video 3469 - rest - podcast -




https://youtu.be/b15Cor3EGuU





Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 

==============================================================

Seja Membro do Canal e tenha direito a consultorias com precos diferenciados
https://www.youtube.com/channel/UCQGPHrppG5XKoRbeOIgLJEA/join
Beneficios Membros: 
     Skype Privado
     Sugerir ou pedir Videos
     Valroes de consultorias com precos acesiveis
     Pedir para eu refazer uma exemplo versao inferior
     Quero Refazer meu sistema no windev, onde comecar?
     Como fazer uma proteção on-line do seu sistema ?
     Meu projeto será grande, como devo fazer?

==============================================================


video 3469 - rest - podcast - 






Assuntos :

00:00:00 Inicio Atividades as 16:00
00:22:00 Criando Arquivo Tabela cliente
00:43:05 Tirar cabecalho do json
01:40:00 Vendo rest windev 26
01:49:00 Autenticacao - Maravilha
01:53:00 Post - Alterar,excluir

==============

PROCEDURE get_cliente()

sToken is string = WebserviceReadHTTPHeader("Authorization")

sRetorno is string=""
IF sToken="123" THEN
nNCLIENTES is int=WebserviceParameter("id")
sNome is string=WebserviceParameter("nome")
IF nNCLIENTES=0 THEN
QRY_cliente_ler.parametro_cliente_id=Null
ELSE
QRY_cliente_ler.parametro_cliente_id=nNCLIENTES
END
HExecuteQuery(QRY_cliente_ler,hQueryDefault)
HExportJSON(QRY_cliente_ler,"cliente.json",hExpCreation)
sRetorno=fLoadText("cliente.json")
texto1 is string=[
{ "QRY_cliente_ler":[
]
sRetorno=Replace(sRetorno,texto1,"")
fSaveText("r1.txt",sRetorno)
sRetorno=Replace(sRetorno,"] }","")
fSaveText("r2.txt",sRetorno)
ELSE
sRetorno="erro autenticacao"
END
//paulo viana
//paulo viana disse:Meujson_s = "["+ExtractStringBetween(meujson_full,1,"[","]")+"]" 

RESULT sRetorno

==========
PROCEDURE POST_CLIENTE()

sToken is string = WebserviceReadHTTPHeader("Authorization")
IF sToken<>"123" THEN
RESULT "nao autorizado"
END
sJSON is string=WebserviceParameter(paramBuffer)
stCampos is Structure
clienteID is int
nome is string
email is string
valor is currency
data is Date
sttipo is string // tipo, incluir,alterar ou excluir
END
stSCampos is stCampos 
Deserialize(stSCampos, sJSON, psdJSON) 

IF stSCampos.sttipo="inclusao" THEN
HReset(cliente)
END
fSaveText("clientedados.json",sJSON)
HImportJSON(cliente,"clientedados.json")
//HSAVE(cliente)

---------
// consulta

oRequest is httpRequest 
oResponse is httpResponse
oRequest.URL = "http://localhost/cliente23?id=0" 
oRequest.Method = httpGet 
oRequest..Header["Authorization"] = "123"//EDT_Senha
//oResponse = HTTPSend(oRequest)
oResponse=RESTSend(oRequest)

EDT_resultado=oResponse..Content

----

// incluscao, alteracao 

oRequest is httpRequest 
oResponse is httpResponse
oRequest.URL = "http://localhost/cliente23" 
oRequest.Method = httpPost
oRequest.Content=EDT_JSON_MONTADO
oRequest.ContentType=typeMimeJSON
oRequest..Header["Authorization"] = "123"//EDT_Senha
oResponse=RESTSend(oRequest)

EDT_resultado=oResponse..Content

--------------------- Indice WebService

Criar Projeto WebService - Lista Site - - WebService - 001/...
Deploy - Gerando WebService/Levando Servidor/Instalar/Mostrar - WebService - 002/...
Instalando SoapUI - Testar WebService - Aula 1040 - WebService - 003/...
Ajustando Xml Lista Site WebService - WebService - 004/...
Consumir WebService - WebService - 005
Xml - Consumir Ler Xml e colocar Tabela - WebService - 006
Dolar - Consumir WebService - Cotação Dolar - 007
Cnpj Receita - Consumir WebService - 008/...
Cep Buscar WebService Correio - WebService - 009/...
CONSULTA CADASTRO SEFAZ P-1 - DICAS 1871 - WINDEV_23 - WEBSERVICE 010 - 
CONSULTA CADASTRO SEFAZ P-2 - 1872 - PUBLICA - WINDEV_23 - WEBSERVICE 011 - 
CONSULTA CADASTRO SEFAZ P-3 - 1873 - PUBLICA - WINDEV_23 - WEBSERVICE 012 -
DICAS 1877 - WINDEV_23 - WEBSERVICE 014 - CNPJ BUSCA CADASTRO ACBR
DICAS 2019 - WINDEV - WEBSERVICE - 015 - APRENDER A FAZER REST WEBSERVICE
DICAS 2020 - WINDEV - WEBSERVICE - 016 - CRIANDO TABELAS
DICAS 2021 - WINDEV - WEBSERVICE - 017 - WDTESTREST
DICAS 2022 - WINDEV MOBILE - WEBSERVICE - 018 - LER WEBSERVICE RESTSend
DICAS 2023 - WINDEV MOBILE - WEBSERVICE - 019 - LER WEBSERVICE RESTSend SOMENTE 1 REGISTRO
DICAS 2024 - WINDEV MOBILE - WEBSERVICE - 020 - WEBSERVICE RESTSend CRIA NOVO REGISTRO - httpPost
DICAS 2025 - WINDEV MOBILE - WEBSERVICE - 021 - WEBSERVICE RESTSend ALTERA REGISTRO - httpPut
DICAS 2026 - WINDEV MOBILE - WEBSERVICE - 022 - WEBSERVICE httpRequest httpDelete
DICAS 2033 - WINDEV - WEBSERVICE 23 - HTTPRequest - HTTPGetResult - fSaveBuffer - BAIXAR ARQUIVO
AO VIVO-SOAP-DICA 2095-WINDEV MOBILE WEBDEV-WEBSERVICE COM MOBILE -
DICAS 2096-2095 - WINDEV WEBDEV MOBILE - WEBSERVICE 25 - SOAP
DICAS 2097 - WINDEV MOBILE - WEBSERVICE 26 - MOSTRAR CLIENTES - SOAP
DICAS 2132 - HANGOUT AO VIVO 20 HORAS 30/05 - WEBSERVICE SOAP COM MOBILE
DICAS 2163 WINDEV WEBDEV MOBILE WEBSERVICE 28 SOAP
DICAS 2226 WINDEV WEBDEV MOBILE 24 NOVIDADES 26 WEBSERVICE 29 HTTPREQUEST - BUSCA CNPJ
DICA 2687 - WINDEV WEBDEV MOBILE - WEBSERVICE 32 - EXPLICANDO WEBSERVICE SOAP E CONSUMIDO MOBILE E DESKTOP












sábado, 23 de outubro de 2021

VIDEO 3467 - WILLIAN ENSINANDO REST




https://youtu.be/niAYQ9jbsBA


Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 

==============================================================

Seja Membro do Canal e tenha direito a consultorias com precos diferenciados
https://www.youtube.com/channel/UCQGPHrppG5XKoRbeOIgLJEA/join
Beneficios Membros: 
     Skype Privado
     Sugerir ou pedir Videos
     Valroes de consultorias com precos acesiveis
     Pedir para eu refazer uma exemplo versao inferior
     Quero Refazer meu sistema no windev, onde comecar?
     Como fazer uma proteção on-line do seu sistema ?
     Meu projeto será grande, como devo fazer?

==============================================================


Esse Video vai estrear as 22:30 do dia 23/10/2021

VIDEO 3467 - WILLIAN ENSINANDO REST 







00:24 Criando rest
01:02 Criando analise com uma tabela cliente
01:36 Preenchendo dados 
02:13 Criando Global procedure get_cliente
02:49 Criando campços structure 
03:55 Criando Array Campos 
04:31 Lendo o registro cliente
05:11 Prenchendo array 
06:06 Criando variavel json
06:28 Pegando quantidade de array
06:48 Colocando no array no json 
07:04 Mandando resultado json 
07:36 Criando parametro para receber se quer todos ou um cliente 
08:31 Verificando se tipo de parametro 
09:00 lendo todos os cliente e colocando no array 
Final Vai ter uma live domingo continuando sobre rest 

Fonte repositorio windev 26 rest exemplo


//------------------

PROCEDURE GET_CLIENTE()

nNCLIENTES is int=WebserviceParameter("id")
st_campos is Structure 
id is int
nome is string 
sexo is string 
END
arrCAMPOS is array of st_campos
IF nNCLIENTES=0 THEN
    FOR EACH CLIENTE 
arrCAMPOS.Add([CLIENTE.CLIENTEID,CLIENTE.NOME,CLIENTE.SEXO])
END
ELSE
HReadSeekFirst(CLIENTE,CLIENTEID,nNCLIENTES)
IF HFound(CLIENTE)=True THEN
arrCAMPOS.Add([CLIENTE.CLIENTEID,CLIENTE.NOME,CLIENTE.SEXO])
END
END
restjson is JSON 
restjson.qtd = ArrayCount(arrCAMPOS)
restjson.campos = arrCAMPOS
RESULT restjson

//-----------------


requisicao is restRequest 
requisicao..url="localhost/cliente?id=0"
requisicao..method=httpGet
resposta is restResponse
resposta=RESTSend(requisicao)

Info(resposta..content)











--------------------- Indice WebService

Criar Projeto WebService - Lista Site - - WebService - 001/...
Deploy - Gerando WebService/Levando Servidor/Instalar/Mostrar - WebService - 002/...
Instalando SoapUI - Testar WebService - Aula 1040 - WebService - 003/...
Ajustando Xml Lista Site WebService - WebService - 004/...
Consumir WebService - WebService - 005
Xml - Consumir Ler Xml e colocar Tabela - WebService - 006
Dolar - Consumir WebService - Cotação Dolar - 007
Cnpj Receita - Consumir WebService - 008/...
Cep Buscar WebService Correio - WebService - 009/...
CONSULTA CADASTRO SEFAZ P-1 - DICAS 1871 - WINDEV_23 - WEBSERVICE 010 - 
CONSULTA CADASTRO SEFAZ P-2 - 1872 - PUBLICA - WINDEV_23 - WEBSERVICE 011 - 
CONSULTA CADASTRO SEFAZ P-3 - 1873 - PUBLICA - WINDEV_23 - WEBSERVICE 012 -
DICAS 1877 - WINDEV_23 - WEBSERVICE 014 - CNPJ BUSCA CADASTRO ACBR
DICAS 2019 - WINDEV - WEBSERVICE - 015 - APRENDER A FAZER REST WEBSERVICE
DICAS 2020 - WINDEV - WEBSERVICE - 016 - CRIANDO TABELAS
DICAS 2021 - WINDEV - WEBSERVICE - 017 - WDTESTREST
DICAS 2022 - WINDEV MOBILE - WEBSERVICE - 018 - LER WEBSERVICE RESTSend
DICAS 2023 - WINDEV MOBILE - WEBSERVICE - 019 - LER WEBSERVICE RESTSend SOMENTE 1 REGISTRO
DICAS 2024 - WINDEV MOBILE - WEBSERVICE - 020 - WEBSERVICE RESTSend CRIA NOVO REGISTRO - httpPost
DICAS 2025 - WINDEV MOBILE - WEBSERVICE - 021 - WEBSERVICE RESTSend ALTERA REGISTRO - httpPut
DICAS 2026 - WINDEV MOBILE - WEBSERVICE - 022 - WEBSERVICE httpRequest httpDelete
DICAS 2033 - WINDEV - WEBSERVICE 23 - HTTPRequest - HTTPGetResult - fSaveBuffer - BAIXAR ARQUIVO
AO VIVO-SOAP-DICA 2095-WINDEV MOBILE WEBDEV-WEBSERVICE COM MOBILE -
DICAS 2096-2095 - WINDEV WEBDEV MOBILE - WEBSERVICE 25 - SOAP
DICAS 2097 - WINDEV MOBILE - WEBSERVICE 26 - MOSTRAR CLIENTES - SOAP
DICAS 2132 - HANGOUT AO VIVO 20 HORAS 30/05 - WEBSERVICE SOAP COM MOBILE
DICAS 2163 WINDEV WEBDEV MOBILE WEBSERVICE 28 SOAP
DICAS 2226 WINDEV WEBDEV MOBILE 24 NOVIDADES 26 WEBSERVICE 29 HTTPREQUEST - BUSCA CNPJ
DICA 2687 - WINDEV WEBDEV MOBILE - WEBSERVICE 32 - EXPLICANDO WEBSERVICE SOAP E CONSUMIDO MOBILE E DESKTOP

Teste

Teste
teste