<< Click to Display Table of Contents >> Интеграция с внешними системами > Запросы к сервису интеграции > Получение сущностей Дополнительные параметры запросов |
Используйте дополнительные параметры запросов, чтобы фильтровать данные или сортировать их. Например, если нужно получить список всех неисполненных договоров или всех документов, созданных за определенный период. Доступны следующие дополнительные параметры:
•$select – возвращает только перечисленные в параметре свойства;
•$filter – фильтрует результат запроса по условию фильтрации;
•$orderby – сортирует результат запроса по указанному свойству;
•$top – включает в результат запроса заданное количество записей, начиная с первой, и исключает остальные;
•$skip – исключает из результата запроса заданное количество записей, начиная с первой, и возвращает остальные;
•$count – добавляет к результату запроса информацию о количестве запрошенных сущностей.
Важно. Не поддерживаются параметры: $ref, $crossjoin, $all, $entity, $search.
Пример URL для запроса, который выведет список всех простых документов (SimpleDocument), отсортированных по возрастанию свойства Идентификатор (Id):
https://DirectumRXServer.com/Integration/odata/ISimpleDocuments?$orderby=Id
Чтобы указать несколько параметров, используйте символ &. Формат URL:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}?{Параметр 1}&{Параметр 2}
Пример:
GET /Integration/odata/ISimpleDocuments?$orderby=Id&$top=5 HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json
Accept: application/json
В ответе придут первые 5 элементов из списка всех простых документов, отсортированного по возрастанию свойства Идентификатор.
Пример кода для создания аналогичного запроса, написанного на языке 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);
// Создание запроса.
var document = await odataClient.For("ISimpleDocuments")
.OrderBy("Id")
.Top(5)
.FindEntriesAsync();
© Компания Directum, 2024 |