Каталоги (Catalogs)

Last updated last month

Ресурс Catalog — каталог с записями.

Каталог

URL: /{api url}/catalogs/{catalogId}

Параметры:

  • catalogId: (number) — идентификатор каталога

Получить каталог [GET]

Ответ: 200 OK (application/json)

{
"id": "1",
"sectionId": "1",
"icon": "icon1",
"name": "My catalog",
"privilegeCode": "admin", // право на каталог
"count": "33",
"fields": [
{
"id": "1",
"name": "User",
"type": "group"
},
{
"id": "2",
"name": "Username",
"type": "text",
"config": {
"type": "mail"
}
},
{
"id": "3",
"name": "Birthday",
"type": "date",
"config": {
"time": false
}
}
]
}

Изменить каталог [PATCH]

Запрос: (application/json)

{
"name": "My catalog1",
// если не передать параметр (например icon), то он изменен не будет
"fields" : [
{
"id": "1", // чтобы сохранить существующее поле, нужно указать его id
"name": "User",
"type": "group"
},
{
"id": "2",
"name": "User full name", // в существующем поле можно изменить имя
"type": "text", // тип заменить нельзя
"config": { // в существующем поле можно изменить его параметры
"type": "mail"
}
},
// поле 3 в новом наборе полей не передали: если оно было, оно будет удалено
// создали новое поле
{
"name": "Age",
"type": "number"
}
]
}

Ответ: 200 OK

Удалить каталог [DELETE]

Ответ: 200 OK

Коллекция каталогов

URL: /{api url}/catalogs{?section}

Параметры:

  • section: (number) — фильтр по отделу

Получить каталоги [GET]

Ответ:200 OK (application/json)

[
{
"id": "1",
"sectionId": "1",
"icon": "user-2",
"name": "My catalog",
"count": "31"
},
{
"id": "2",
"sectionId": "2",
"icon": "user-3",
"name": "Another catalog",
"count": "72"
}
]

Создать каталог [POST]

Запрос: (application/json)

{
"name": "New catalog",
"icon": "icon",
"sectionId": "2",
"fields": [{
"name": "Секция",
"hint": "",
"type": "group",
"config": {}
}, {
"name": "Текст",
"hint": "Подсказка к полю текст",
"type": "text",
"config": {
"type": "text"
}
}, {
"name": "Дата",
"hint": "",
"type": "date",
"config": {
"time": false,
"notificationField": null
}
}, {
"name": "Набор галочек",
"hint": "",
"type": "checkboxes",
"config": {
"items": [{
"name": "1"
}, {
"name": "2"
}, {
"name": "3"
}]
}
}, {
"name": "Прогресс",
"hint": "",
"type": "progress",
"config": {}
}, {
"name": "Сотрудник",
"hint": "",
"type": "user",
"config": {
"multiselect": false
}
}, {
"name": "Связанный объект",
"hint": "",
"type": "object",
"config": {
"multiselect": false,
"catalogs": [{
"id": "11"
}]
}
}, {
"name": "Файл",
"hint": "",
"type": "file",
"config": {
"multiselect": false
}
}]
}

Возможные значения для icon описаны в документации.

Ответ: 200 OK (application/json)

{
"id": "3" // идентификатор созданного каталога
}