Skip to content

Instantly share code, notes, and snippets.

@emregulcan
Created May 2, 2019 22:42
Show Gist options
  • Select an option

  • Save emregulcan/bae3bfa78a372e476a16756a6bc0733a to your computer and use it in GitHub Desktop.

Select an option

Save emregulcan/bae3bfa78a372e476a16756a6bc0733a to your computer and use it in GitHub Desktop.
Dynamics 365 CE (CRM) Web API create data
public string Create(string entityLogicalName, object data)
{
string result = string.Empty;
string apiBaseUrl = $"{_d365Url}/api/data/v9.1";
string apiFullUrl = $"{apiBaseUrl}/{entityLogicalName}s";
using (HttpClient httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accessToken);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, apiFullUrl);
request.Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
var response = httpClient.SendAsync(request).GetAwaiter().GetResult();
var content = response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.NoContent)
{
var responseHeaders = response.Headers;
var entityIdHeader = responseHeaders.GetValues("OData-EntityId").FirstOrDefault();
result = entityIdHeader;
}
}
else
{
throw new CrmHttpResponseException(response.Content);
}
}
return result;
}
@emregulcan
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment