/// <summary> /// Create a new record /// </summary> /// <param name="sObjectTypeName">SObject name, e.g. "Account"</param> /// <param name="sObject">Object to create</param> /// <returns>CreateResponse object, includes new object's ID</returns> /// <exception cref="ForceApiException">Thrown when creation fails</exception> public async Task <CreateResponse> CreateRecord <T>(string sObjectTypeName, T sObject) { var uri = UriFormatter.SObjectBasicInformation(InstanceUrl, ApiVersion, sObjectTypeName); JsonClient client = new JsonClient(AccessToken, _httpClient); return(await client.HttpPostAsync <CreateResponse>(sObject, uri)); }
/// <summary> /// Create a new record /// </summary> /// <param name="sObjectTypeName">SObject name, e.g. "Account"</param> /// <param name="sObject">Object to create</param> /// <param name="customHeaders">Custom headers to include in request (Optional). await The HeaderFormatter helper class can be used to generate the custom header as needed.</param> /// <returns>CreateResponse object, includes new object's ID</returns> /// <exception cref="ForceApiException">Thrown when creation fails</exception> public async Task <CreateResponse> CreateRecord <T>(string sObjectTypeName, T sObject, Dictionary <string, string> customHeaders = null) { Dictionary <string, string> headers = new Dictionary <string, string>(); //Add call options Dictionary <string, string> callOptions = HeaderFormatter.SforceCallOptions(ClientName); headers.AddRange(callOptions); //Add custom headers if specified if (customHeaders != null) { headers.AddRange(customHeaders); } var uri = UriFormatter.SObjectBasicInformation(InstanceUrl, ApiVersion, sObjectTypeName); JsonClient client = new JsonClient(AccessToken, _httpClient); return(await client.HttpPostAsync <CreateResponse>(sObject, uri, headers)); }