СПРАВОЧНИКИ, АТРИБУТЫ И ЗНАЧЕНИЯ
Справочники
Таблица 1. Модель данных справочника
| Поле | Тип | Описание | 
|---|---|---|
| id | UUID v4 | Уникальный идентификатор справочника | 
| epsId | UUID v4 | Идентификатор узла СПП | 
| name | string | Наименование справочника | 
| type | string | Тип справочника | 
Таблица 2. Типы справочников
| Тип | Описание | 
|---|---|
| custom | Общий – справочник для хранения информационно-справочной информации. При создании не содержит атрибутов | 
| resource | Ресурсный - справочник для хранения записей о ресурсах. При создании справочника автоматически создаются атрибуты справочника: «Наименование», «Ед. Изм.», «Интенсивность» и атрибуты назначения: «План», «Факт» и «Распределение» | 
| worktype | Физобъемы – системный справочник, предназначен для хранения типовых видов работ. Каждая компания самостоятельно определяет перечень работ, которые войдут в данный справочник. Справочник создается автоматически на уровне Пространства и наследуется в дочерние узлы СПП | 
Примеры использования
Получить список справочников.
curl -X 'GET' \
  'https://your-org.domain/public-api/directory?epsId=c44b3626-af2d-4472-9e85-9a452162e6e7' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'
Создать новый справочник.
curl -X 'POST' \
  'https://your-org.domain/public-api/directory' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type:  application/json' \
  -d '{
  "epsId": "c44b3626-af2d-4472-9e85-9a452162e6e7",
  "type": "custom",
  "name": "Ответственный сотрудник"
}'
Изменить существующий справочник.
curl -X 'PUT' \
  'https://your-org.domain/public-api/directory/aefa1db8-d67b-4478-bf9e-d9058467457c' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Руководитель"
}'
Удалить справочник.
curl -X 'DELETE' \
  'https://your-org.domain/public-api/directory/aefa1db8-d67b-4478-bf9e-d9058467457c' \
  -H 'accept: */*' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'
Атрибуты справочника
Таблица 3. Модель данных атрибута справочника
| Поле | Тип | Описание | 
|---|---|---|
| id | UUID v4 | Уникальный идентификатор атрибута справочника | 
| directoryId | UUID v4 | Идентификатор справочника | 
| type | string | Тип атрибута | 
| label | string | Заголовок атрибута | 
Таблица 4. Типы атрибутов справочника
| Тип | Описание | 
|---|---|
| date | Дата | 
| number | Число | 
| string | Строка | 
| money | Деньги | 
| name | Наименование атрибута | 
| measure | Единица измерения | 
| price | Стоимость | 
| intensity | Интенсивность | 
| boolean | Логический | 
Примеры использования
Получить список атрибутов для указанного справочника.
curl -X 'GET' \
  'https://your-org.domain/public-api/directory-attributes?directoryId=dbe36399-b6a6-4999-bb10-6d56c0b01e7f' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
Создать новый атрибут для указанного справочника.
curl -X 'POST' \
  'https://your-org.domain/public-api/directory-attributes' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type:  application/json' \
  -d '{
  "directoryId": "dbe36399-b6a6-4999-bb10-6d56c0b01e7f",
  "label": "Должность",
  "type": "string"
}'
Изменить атрибут.
curl -X 'PUT' \
  'https://your-org.domain/public-api/directory-attributes/accc1de3-52b6-427b-9bb6-01c267cbe13b' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type: application/json' \
  -d '{
  "label": "Подразделение"
}'
Удалить атрибут.
curl -X 'DELETE' \
  'https://your-org.domain/public-api/directory-attributes/accc1de3-52b6-427b-9bb6-01c267cbe13b' \
  -H 'accept: */*' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'
Атрибуты назначения
Таблица 5. Модель данных атрибута назначения
| Поле | Тип | Описание | 
|---|---|---|
| id | UUID v4 | Уникальный идентификатор атрибута назначения | 
| directoryId | UUID v4 | Идентификатор справочника | 
| type | string | Тип атрибута назначения | 
| label | string | Заголовок атрибута назначения | 
Таблица 6. Типы атрибута назначения
| Тип | Описание | 
|---|---|
| date | Дата | 
| number | Число | 
| string | Строка | 
| money | Деньги | 
| plan | Согласованный план | 
| fact | Факт | 
| start | Старт | 
| finish | Финиш | 
| align | Распределение | 
| boolean | Логический | 
Примеры использования
Получить список атрибутов назначения для указанного справочника.
curl -X 'GET' \
  'https://your-org.domain/public-api/directory-linked-attributes?directoryId=cf48c91c-dc5d-4f8e-9af6-fc401c28175a' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
Создать новый атрибут назначения для указанного справочника.
curl -X 'POST' \
  'https://your-org.domain/public-api/directory-linked-attributes' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type:  application/json' \
  -d '{
  "directoryId": "dbe36399-b6a6-4999-bb10-6d56c0b01e7f",
  "label": "Куратор",
  "type": "string"
}'
Изменить атрибут назначения.
curl -X 'PUT' \
  'https://your-org.domain/public-api/directory-linked-attributes/8364fd4e-ec64-4676-ba5b-5a7c91b3610b' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type: application/json' \
  -d '{
  "label": "Руководитель"
}'
Удалить атрибут назначения.
curl -X 'DELETE' \
  'https://your-org.domain/public-api/directory-linked-attributes/8364fd4e-ec64-4676-ba5b-5a7c91b3610b' \
  -H 'accept: */*' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'
Значения справочника
Таблица 7. Модель данных значений справочника
| Поле | Тип | Описание | 
|---|---|---|
| id | UUID v4 | Уникальный идентификатор значения справочника | 
| directoryId | UUID v4 | Идентификатор справочника | 
| level | integer | Уровень вложенности значения справочника | 
| sortOrder | integer | Порядок сортировки значения | 
| parentId | string | Уникальный идентификатор родительского значения | 
| values | boolean | Значение | 
Примеры использования
Получить список значений для указанного справочника.
curl -X 'GET' \
  'https://your-org.domain/public-api/directory-values?directoryId=dbe36399-b6a6-4999-bb10-6d56c0b01e7f' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
Создать новое значение для указанного справочника.
curl -X 'POST' \
  'https://your-org.domain/public-api/directory-values' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type:  application/json' \
  -d '{
  "directoryId": "dbe36399-b6a6-4999-bb10-6d56c0b01e7f",
  "values": {"137b07b1-02b1-4175-80c0-25e82e2e8619": "Иванов И.И."
  }
}'
Создать новую дочернюю запись для указанного родительского значения в справочнике.
curl -X 'POST' \
  'https://your-org.domain/public-api/directory-values' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type:  application/json' \
  -d '{
  "directoryId": "dbe36399-b6a6-4999-bb10-6d56c0b01e7f",
  "parentId": "677623f3-c3e4-4bd5-b4c2-a1f318df6d44",
  "values": {"137b07b1-02b1-4175-80c0-25e82e2e8619":"Сидоров С.С."
  }
}'
Изменить значение справочника.
curl -X 'PUT' \
  'https://your-org.domain/public-api/directory-values/677623f3-c3e4-4bd5-b4c2-a1f318df6d44' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad' \
  -H 'Content-Type: application/json' \
  -d '{
  "values": {"137b07b1-02b1-4175-80c0-25e82e2e8619": "Сидоров С.С."
  }
}'
Удалить значение справочника.
curl -X 'DELETE' \
  'https://your-org.domain/public-api/directory-values/677623f3-c3e4-4bd5-b4c2-a1f318df6d44' \
  -H 'accept: */*' \
  -H 'x-version: 409' \
  -H 'Authorization: your-api-key' \
  -H 'x-tenant-id: 5db13376-ba5c-4fd5-ba7f-dc56347956ad'