enum 50005 "Http Requests Enum" { Extensible = true; value(0; Get) { } value(1; patch) { } value(2; post) { } value(3; delete) { } } procedure CallWebService(RequestUrl: Text; RequestType: Enum "Http Requests Enum"; payload: Text; Username: Text; Password: Text; ApiKey: text): Text var Client: HttpClient; RequestHeaders: HttpHeaders; RequestContent: HttpContent; ResponseMessage: HttpResponseMessage; RequestMessage: HttpRequestMessage; ResponseText: Text; contentHeaders: HttpHeaders; folderName: Text; FileName: Text; fielcontent: Text; begin RequestHeaders := Client.DefaultRequestHeaders(); case RequestType of RequestType::Get: begin RequestContent.WriteFrom(payload); RequestContent.GetHeaders(contentHeaders); contentHeaders.Clear(); contentHeaders.Add('Content-Type', 'application/json'); if ApiKey <> '' then contentHeaders.Add('XApiKey', ApiKey); RequestMessage.Content := RequestContent; RequestMessage.SetRequestUri(RequestURL); RequestMessage.Method := 'GET'; Client.send(RequestMessage, ResponseMessage); end; // Client.Get(RequestURL, ResponseMessage); RequestType::patch: begin RequestContent.WriteFrom(payload); RequestContent.GetHeaders(contentHeaders); contentHeaders.Clear(); contentHeaders.Add('Content-Type', 'application/json-patch+json'); if ApiKey <> '' then contentHeaders.Add('XApiKey', ApiKey); RequestMessage.Content := RequestContent; RequestMessage.SetRequestUri(RequestURL); RequestMessage.Method := 'PATCH'; client.Send(RequestMessage, ResponseMessage); end; RequestType::post: begin RequestContent.WriteFrom(payload); RequestContent.GetHeaders(contentHeaders); contentHeaders.Clear(); contentHeaders.Add('Content-Type', 'application/json'); if ApiKey <> '' then contentHeaders.Add('XApiKey', ApiKey); Client.Post(RequestURL, RequestContent, ResponseMessage); end; RequestType::delete: Client.Delete(RequestURL, ResponseMessage); end; ResponseMessage.Content().ReadAs(ResponseText); exit(ResponseText); end; }