Дополнительные возможности API

Получение отсортированных данных

http://localhost:2001/apix1/Product?$order=Title

после $order= указывается поле, по которому нужно отсортировать

Сортировка в обратном порядке по полю из вложенных объектов:

http://server:2001/Invoice?$orderby=Customer/Country/Name desc

Получение одной записи из списка

http://localhost:2001/apix1/Product(13)

где 13 - ид сущности, возвращаемая через API





Получение количества объектов, возвращаемых функцией

Вариант получения количества для всех объектов (без фильтрации и доп. параметров):


Если нужно получить количество, возвращаемое по какому-то запросу с фильтрами, то это количество можно возвратить в результатах этого запроса. Для этого в запрос нужно добавить параметр $inlinecount=allpages

Фильтрация данных

Для фильтра используется параметр $filter= после которого указывается название поля, затем оператор сравнения и значение для сравнения

например так возвращаются записи функцией Customer у которых имя равно Иван

В фильтрах можно использовать несколько условий, в том числе по полям из вложенных объектов

Поддерживаются операторы сравнения:

lt - меньше

gt - больше

le - меньше или равно

ge - больше или равно

eq - равно

 

Дата и время в фильтр передается в формате YYYY-MM-DDThh:mm:ss, например 2019-05-23T14:30:00

 

Поиск по подстроке

contains(Extsrch, 'МАШИНКА')

Для поиска товаров из прайсов поставщиков или товаров собственного каталога можно использовать поле Extsrch

В этом поле хранится текст в верхнем регистре, очищенный от пробелов и других символов. Текст содержит Бренд товара, Модель и Название товара.

 

Ограничение по количеству записей

$skip - сколько записей пропустить

$top - сколько записей получить

в приведенном примере возвращается 20 записей, начиная с 10-ой, при этом возвращаются данные отсортированные по ID начиная с последнего (orderby=Id desc). Если во время выгрузки добавятся в базу новые товары или другие объекты, то последовательность собьется, т.е. сместится на количество этих добавленных объектов. Это нужно использовать для больших таблиц, таких как Product и Supplier

Обязательно нужно использовать сортировку по ID, так как во время выгрузки данных сортировка данных в базе может измениться.