HttpHelper
The HttpHelper function helps you with HTTP calls covering CRUD operations.
To get an instance of the IHttpHelper, you must call GetHttpHelper(), which returns you an instance of IHttpHelper allowing you to call the following methods:
It is not recommended to call salesforce API from Custom Code, due to performance reasons.
Methods
HttpContent GetHttpContenFromtXml<T>(T payload); Task<T> GetAsync<T>(string requestUri); Task<HttpResponseMessage> GetAsync(string requestUri); Task<T> PostAsync<T>(string requestUri, HttpContent content); Task<HttpResponseMessage> PostAsync(string requestUri, HttpContent content); Task<T> PutAsync<T>(string requestUri, HttpContent content); Task<HttpResponseMessage> PutAsync(string requestUri, HttpContent content); Task<HttpResponseMessage> DeleteAsync(string requestUri);
Example: Invoke GET API call
var httpHelper = GetHttpHelper(); var logHelper = GetLogHelper(); string url = "https://jsonplaceholder.typicode.com/todos/1"; var response = await httpHelper.GetAsync<SampleResponse>(url); logHelper.LogDebug(response);
Console Output
Complete-GetAsync(https://jsonplaceholder.typicode.com/todos/1), HttpStatus=OK, Time=285.534 {"userId":1,"id":1,"title":"delectus aut autem","completed":false}
Example: Invoke POST API call
var httpHelper = GetHttpHelper(); var logHelper = GetLogHelper(); string url = "https://jsonplaceholder.typicode.com/todos/1"; var response = await httpHelper.GetAsync<SampleResponse>(url); url = "https://jsonplaceholder.typicode.com/todos"; response.id = 0; response.title = "Callback"; var contentToPost = new StringContent(JsonConvert.SerializeObject(response),Encoding.UTF8,"application/json"); var postResult = await httpHelper.PostAsync<SampleResponse>(url,contentToPost); logHelper.LogDebug(postResult);
Console Output
Complete-GetAsync(https://jsonplaceholder.typicode.com/todos/1), HttpStatus=OK, Time=285.534 {"userId":1,"id":1,"title":"delectus aut autem","completed":false} Complete-PostAsync(https://jsonplaceholder.typicode.com/todos), HttpStatus=Created, Time=400.073 {"userId":1,"id":201,"title":"Callback","completed":false}