Создание записи сущности Dynamics 365 с использованием только WebAPI - PullRequest
0 голосов
/ 17 декабря 2018

Я подключился к своей CRM, используя C # и Azure.Мое требование заключается в том, что мне нужно создавать записи сущностей, используя только WebAPI .В более ранних версиях я использовал сервис IOrganization, и он работал нормально.Теперь мне нужно переключиться на WebAPI.Я мог читать записи, используя webapi, но не могу понять, как создавать записи.Я попытался выполнить поиск в Интернете, но не смог найти соответствующие статьи / учебные пособия.Любая помощь будет оценена.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Эта документация - это то, что вы ищете.Как вы уже упоминали, что вы могли читать записи с помощью веб-API, вы можете использовать приведенный ниже фрагмент, чтобы создать новую запись контакта с помощью веб-API в C #.

JObject contact1 = new JObject();   
contact1.Add("firstname", "Peter");  
contact1.Add("lastname", "Cambel");  

HttpRequestMessage createRequest1 = new HttpRequestMessage(HttpMethod.Post, https://xyz.crm.dynamics.com/api/data/v9.0/contacts");  
createRequest1.Content = new StringContent(contact1.ToString(), Encoding.UTF8, "application/json");  

HttpResponseMessage createResponse1 = await httpClient.SendAsync(createRequest1);  

if (createResponse1.StatusCode == HttpStatusCode.NoContent)  //204  
{  
    Console.WriteLine("Contact '{0} {1}' created.", contact1.GetValue("firstname"), contact1.GetValue("lastname"));  
    contact1Uri = createResponse1.Headers.GetValues("OData-EntityId").FirstOrDefault();  
    entityUris.Add(contact1Uri);  
    Console.WriteLine("Contact URI: {0}", contact1Uri);  
}  
else  
{  
    Console.WriteLine("Failed to create contact for reason: {0}", createResponse1.ReasonPhrase);  
    throw new CrmHttpResponseException(createResponse1.Content);  
}  
0 голосов
/ 17 декабря 2018

В этом примере создается новая учетная запись.Заголовок OData-EntityId ответа содержит Uri созданного объекта

POST [Organization URI]/api/data/v9.0/accounts HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json

{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1
}

Ответ

HTTP/1.1 204 No Content
 OData-Version: 4.0
 OData-EntityId: [Organization URI]/api/data/v9.0/accounts(7eb682f1-ca75-e511-80d4- 
 00155d2a68d1)

Для создания нового объекта необходимо указать действительные имена и типы свойств.

...