Записи (Records)
Ресурс Record — запись с данными в каталоге.
Получить записи
Метод: GET
Параметры:
viewId
(number) — идентификатор вида каталога для фильтра записейcatalogId
(number) — идентификатор каталогаfields
(json array, опционально) — набор возвращаемых полей записей, формат: ["2", "3"]searchText
(string, опционально) — быстрый поиск по вхождениюsortField
(number, опционально) — идентификатор поля для сортировкиsortType
(number, опционально) — тип сортировки1
— по возрастанию (по умолчанию)-1
— по убыванию
limit
(number, опционально) - количество возвращаемых записей (по умолчанию: 100)offset
(number, опционально) — смещение от начала списка (по умолчанию: 0)filters
(array | json-объект, опционально) — набор фильтров по полям, формат описан ниже
Параметр filters — фильтр записей по полям
Filters в формате массива (array)
Пример:
filters
— массив фильтров. Поэтому в GET-параметрах каждый добавленный к поисковому запросу фильтр имеет свой последовательный идентификатор: filters[№]
. Каждый фильтр это объект, состоящий из параметра fieldId
(указывает на ID поля для фильтрации данных) и объекта value
(параметры поискового запроса). Value для разных типов полей имеет разную структуру.
Формат параметра value для разных типов полей
Для текстовых полей — поиск по вхождению:
[value] = текст
Для чисел, прогресса — поиск по диапазону:
[value][at] = Число1, [value][to] = Число2
Для дат — поиск по диапазону:
[value][at] = Дата1, [value][to] = Дата2
Для категории, набора галочек, вопроса, звёзд — поиск по вхождению:
[value][0] = 1, [value][1] = 2
. Для категории и вопроса доступен также формат:[value]=[1,2,3,5]
Для контактов — поиск по вхождению:
[value] = текст
Для связанных объектов:
[value][0][catalogId]=18, [value][0][recordId]=9
Для связанных объектов также возможен фильтр по полям самих связанных записей, если эти поля выведены в карточке в виде расширенных:value[0][catalogId]=18, value[0][filters][0][fieldId]=5, value[0][filters][0][value]=5
Для сотрудников:
[value][0]=21, [value][1]=22, [value][2]=CURRENT_USER
Filters в формате JSON-объекта
Это расширенный способ указания фильтров для поиска записей по полям. Он позволяет использовать конструкции И и ИЛИ и их комбинации. Filters
в таком формате необходимо передавать GET-параметром со значением в формате сериализованного JSON-объекта.
В примерах ниже значения filters
передано без сериализации и в многострочном формате (для наглядности).
Пример указания фильтров по полям:
Где fieldIdX
— идентификатор поля, а valueX
— значения фильтра по полю (формат для разных полей описан выше).
2. Пример с вариантами значения поля:
Где $or
— задает условие, что значение поля у найденных записей должно иметь хотя бы одно из перечисленных значений, $and
— задает условие, что значение поля у найденных записей должно содержать (то есть иметь как минимум их) все перечисленные значения.
3. Пример с вариантами условий фильтра по полям:
Где $or
— одно из условий фильтра по полям должно быть выполнено, $and
— все условия фильтров должны быть выполнены. Условия $or
и $and
могут быть входить друг в друга.
4. Пример с комбинацией вариантов условий по полям и вариантами значений поля:
Параметр fields - набор возвращаемых полей записей
Параметр fields
позволяет ограничить набор полей каталога в получаемых записях. Если параметр не указан, то будут получены значения всех полей. Ограничение списка получаемых полей позволяет уменьшать размер получаемых данных, и увеличивает скорость их получения. Также параметр позволяет получить вложенные поля у связанных записей.
fields
необходимо передавать в GET-запросе параметром со значением в формате массива приведенного к строковому формату( например, методом JSON.stringify() ). Массив состоит из идентификаторов (API ID) полей каталога, и/или JSON-объектов с описанием вложенных полей связанных записей.
Формат массива для получении обычных полей (без расширенных полей в связанных записях):
Пример:
Данный пример получает значения 4, 7 и 12 полей в полученных записях.
Формат JSON-объекта для получения расширенных полей в связанных записях:
IDполя1
— поле каталога, из которого получаем записиIDкаталогаХ
— Идентификатор каталога связанного в полеIDполя1.
Поле «связанный каталог» может иметь несколько источников. Для каждого каталога источника можно указать какие именно поля нужно получить.IDрасширенногоПоляХ
— идентификаторы полей связанного каталога, которые нужно получить.
Пример:
Данный пример получает связанные записи из 5-го поля. В связанных записях из 27го каталога получает поля 2 и 6, а в связанных записях из 31го каталога получает поля 7 и 12.
Пример массива с комбинацией получения обычных полей и вложенных полей для связанных записей:
Данный пример получает 4, 5, 8 и 9 поля. Для 5 поля дополнительно получает 2 поле у связанных записей из каталога 27, а для 9 поля — 3 и 4 поле у записей из каталога 19.
Обратите внимание, что массив должен быть приведен к строковому виду для передачи в параметр fields. Так, массив из последнего примера в итоговом виде должен выглядеть так:
Получить запись
Метод: GET
Параметры:
catalogId
(number) — идентификатор каталогаrecordId
(number) — идентификатор записиfields
(json array, опционально) — набор возвращаемых полей записей, формат: ["2", "3"]
Создать запись
Метод: POST
Параметры:
catalogId
(number) — идентификатор каталога
Запрос: (application/json)
Изменить запись
Метод: PATCH
Параметры:
catalogId
(number) — идентификатор каталогаrecordId
(number) — идентификатор записи
Запрос: (application/json)
Удалить запись
Метод: DELETE
Параметры:
catalogId
(number) — идентификатор каталогаrecordId
(number) — идентификатор записи
Last updated