PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → API REST Exemplo
API REST Exemplo
Débuté par Boller, 14 juin 2022 02:47 - Aucune réponse
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 14 juin 2022 - 02:47
//Endereço Endpoint da API
//http://apiv1.multiportal.com.br:9870

tempo_ocioso = 0

url is string = "http://apiv1.multiportal.com.br:9870/seguranca/logon"

//APPID: 1145
//User: broker
//Pass: 5T041

//conteudo is string = "{username:overbroker,password:5T04321@$,appid:1145,token:null,expiration:@datahorahoje@}"

conteudo is string =
[
{"username":"broker","password":"5T041","appid":1000,"expiration":"@datahorahoje@"}
]

conteudo = Replace(conteudo,"@datahorahoje@",DateSys()+TimeSys())


MyArray is array of strings
bufResult is Buffer

// Adds elements into the array
Add(MyArray, "WINDEV")
Add(MyArray, "WEBDEV")
Add(MyArray, "WINDEV MOBILE")

// Serialize the array in the buffer in JSON
Serialize(MyArray, bufResult, psdJSON)

s_json is string = conteudo


ST_parametros_header is Structure
s_nome_parametro is string
s_valor_parametro is string
END


arr_header is array of 2 ST_parametros_header
arr_header[1].s_nome_parametro = "Content-Type"
arr_header[1].s_valor_parametro = "application/json"
//----
arr_header[2].s_nome_parametro = "sharedkey"
arr_header[2].s_valor_parametro = "sharedkey"


//Http Rest
HourGlass(True)

WHEN EXCEPTION IN

tempo_ocioso = 0

cMyRequest is restRequest

cMyResponse is restResponse

cMyRequest..URL = url

IF Contains(conteudo," ") > 0 THEN
cMyRequest..Content = URLEncode(conteudo)
ELSE
cMyRequest..Content = conteudo
END

cMyRequest.User = "" //"broker"

cMyRequest.Password = "" //"5T041"

cMyRequest..Content = conteudo

cMyRequest..ContentType = typeMimeJSON

cMyRequest..Method = httpPost

IF ArrayCount(arr_header) > 0 THEN
FOR EACH st_parametro OF arr_header
cMyRequest.Header[st_parametro.s_nome_parametro] = st_parametro.s_valor_parametro
END
END

//Executa a requisição

gbResultOK = False


cMyResponse = RESTSend ( cMyRequest ) //disparo

IF ErrorOccurred OR PositionOccurrence(cMyResponse..Content,"DOCTYPE html PUBLIC",firstRank,DepuisDébut) > 0
ultimo_erro is string = url +" "+ ErrorInfo(errFullDetails)
RESULT False
ELSE

resultado_request is string = cMyResponse..Content

EDT_Historico_resp = resultado_request

resultado_request = cMyRequest..Content

EDT_Historico = resultado_request

gbResultOK = HTTPRequête(gs_Urlprincipal)

HourGlass(False)

RESULT True

END



DO

HourGlass(False)

RESULT False

END

HourGlass(False)

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