Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

download

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:

Note:

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}