<< Click to Display Table of Contents >> Интеграция с внешними системами > Запросы к сервису интеграции Удаление сущностей |
С помощью DELETE-запроса можно удалить:
•сущность;
•запись в свойстве-коллекции сущности;
•все записи в свойстве-коллекции сущности.
В запросе:
1.Используйте один из форматов URL, указанных ниже.
2.Укажите обязательные заголовки.
3.Тело запроса оставьте пустым.
В ответе сервис интеграции вернет код:
•204 – успешное выполнение запроса;
•400 – при выполнении запроса произошла ошибка, сущность удалить не удалось. В теле ответа будет описание ошибки.
Удаление сущности
Формат URL:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}(ИД)
Пример запроса, который удалит простой документ (SimpleDocument) с идентификатором 80:
DELETE /Integration/odata/ISimpleDocuments(80) HTTP/1.1
Host: DirectumRXServer.com
Username: {Логин}
Password: {Пароль}
Content-Type: application/json
Accept: application/json
Также запросы можно отправлять с помощью приложения, например консольного. Пример аналогичного запроса, написанного на языке C# с использованием библиотеки Simple.OData.Client:
// URL сервиса интеграции.
private const string IntegrationServiceUrl = "https://DirectumRXServer.com/Integration/odata/";
// Логин для Basic-аутентификации.
private const string Login = "IntegrationUser";
// Пароль для Basic-аутентификации.
private const string Password = "11111";
// Настройки Simple OData Client: добавление ко всем запросам URL сервиса и
// заголовка с данными аутентификации.
var odataClientSettings = new ODataClientSettings(new Uri(IntegrationServiceUrl));
odataClientSettings.BeforeRequest += (HttpRequestMessage message) =>
{
var authenticationHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Login}:{Password}"));
message.Headers.Add("Authorization", "Basic " + authenticationHeaderValue);
};
var odataClient = new ODataClient(odataClientSettings);
// Создание запроса.
await odataClient.For("ISimpleDocuments").Key(80)
.DeleteEntryAsync();
Удаление записи в свойстве-коллекции
Формат URL:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}(ИД)/{Имя свойства-коллекции}(ИД записи свойства-коллекции)
Пример запроса, который в простом документе с идентификатором 79 удалит третью версию, у которой идентификатор равен 58:
DELETE /Integration/odata/ISimpleDocuments(79)/Versions(58) HTTP/1.1
Host: DirectumRXServer.com
Username: {Логин}
Password: {Пароль}
Content-Type: application/json
Accept: application/json
Пример кода для создания аналогичного запроса:
// Создание запроса.
await odataClient.For("ISimpleDocuments").Key(79)
.NavigateTo("Versions").Key(58)
.DeleteEntryAsync();
Удаление всех записей в свойстве-коллекции
Формат URL:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}(ИД)/{Имя свойства-коллекции}
Пример запроса, который удалит все версии простого документа с идентификатором 79:
DELETE /Integration/odata/ISimpleDocuments(79)/Versions HTTP/1.1
Host: DirectumRXServer.com
Username: {Логин}
Password: {Пароль}
Content-Type: application/json
Accept: application/json
Примечание. C помощью библиотеки Simple.OData.Client одним запросом удалить все записи в свойстве-коллекции нельзя.
© Компания Directum, 2024 |