Mostrando postagens com marcador busca cnpj. Mostrar todas as postagens
Mostrando postagens com marcador busca cnpj. 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

quinta-feira, 1 de agosto de 2019

DICAS 2226 WINDEV WEBDEV MOBILE 24 NOVIDADES 26 WEBSERVICE 29 HTTPREQUES...














https://doc.windev.com/en-US/?3043007&name=HTTPRequest

https://youtu.be/nc1Metp1ROQ



BOM DIA,SEJA BEM VINDOS A MAIS UMA VIDEO AULA. ESSA AULA ESTA SENDO GRAVADA NO DIA 31 07 2019.
DICA 2226. VOU MOSTRAR PROPRIEDADE DESTINATION - EVITA CONSUMO MEMORIA - HTTPREQUEST NOVIDADE VERSAO 24 BUSCA CNPJ

DICAS 2226 - WINDEV WEBDEV MOBILE - 24 NOVIDADES 26 - WEBSERVICE 29 - HTTPREQUEST DESTINATION BUSCA CNPJ





// BTN_BUSCA_CNPJ_HTTPREQUEST
SURL is string="HTTPS://WWW.receitaws.com.br/v1/cnpj/"+EDT_CNPJ
PEDIDO_REQUEST is httpRequest
PEDIDO_REQUEST.URL=SURL
IF INT_GRAVAR_Hd=True // AQUI VEM A NOVIDADE 24 THEN
PEDIDO_REQUEST.Destination="E:\TEMP\HTTPREQUEST\CNPJ_"+EDT_CNPJ+".TXT"
END
RESPOSTA is httpResponse
RESPOSTA=HTTPSend(PEDIDO_REQUEST)
IF INT_GRAVAR_Hd=True THEN
ShellExecute("E:\TEMP\HTTPREQUEST\CNPJ_"+EDT_CNPJ+".TXT")
EDT_RETORNO="O RETORNO ESTA NO DIRETORIO"
ELSE
EDT_RETORNO=UTF8ToAnsi(RESPOSTA.Content)
END












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