Перейти к содержимому
Войти Запросить демо

Кастомные таблицы

Кастомные таблицы - это пользовательские таблицы организации, которые можно создавать в интерфейсе Skailer. Примеры: «Бонусы начисленные», «Бонусы выплаченные», «Реквизиты выплат» и т.п. API позволяет прочитать конфигурацию таблиц и выгрузить из них строки с фильтрацией.

GET /api/v1/custom-fields/tables

Возвращает все кастомные таблицы организации для сотрудников.

Поля ответа (каждая таблица):

ПолеТипОписание
idintegerID таблицы
slugstringУникальный slug таблицы
titlestringНазвание таблицы
table_typestringТип таблицы (см. ниже)
is_historicalbooleanЯвляется ли таблица исторической
table_fieldsarrayСписок полей таблицы

Типы таблиц (table_type):

ЗначениеОписание
customПользовательская кастомная таблица
employee_positionsСистемная таблица позиций
employee_employmentsСистемная таблица трудоустройств
employee_compensationsСистемная таблица компенсаций
employee_additional_compensationsСистемная таблица доп. компенсаций

Поля каждого поля таблицы (table_fields):

ПолеТипОписание
idintegerID поля
slugstringSlug поля (используется в cells при записи)
titlestringНазвание поля
field_typestringТип значения: text, number, date, datetime, select, switch, employee_reference и др.
optionsarrayОпции для полей типа select
is_mandatorybooleanОбязательность
is_archivedbooleanАрхивировано ли поле

Пример ответа:

[
{
"id": 15,
"slug": "accrued_bonuses",
"title": "Бонусы начисленные",
"table_type": "custom",
"is_historical": true,
"table_fields": [
{
"id": 101,
"slug": "bonus_amount",
"title": "Сумма",
"field_type": "number",
"options": []
},
{
"id": 102,
"slug": "bonus_currency",
"title": "Валюта",
"field_type": "select",
"options": [
{ "id": 1, "title": "RUB" },
{ "id": 2, "title": "USD" }
]
}
]
}
]

POST /api/v1/custom-fields/tables/{table_id}/rows/search

Поиск и выгрузка строк из указанной таблицы. Поддерживает фильтрацию, пагинацию и сортировку.

Параметры запроса:

ПолеТипОписание
page_numberintegerНомер страницы (по умолчанию 1)
employee_idsarray[integer]Фильтр по сотрудникам
position_idsarray[integer]Фильтр по должностям
department_idsarray[integer]Фильтр по отделам
division_idsarray[integer]Фильтр по дивизионам
location_idsarray[integer]Фильтр по локациям
employee_lifecycle_statusesarray[string]Статусы: hired, employed, terminated, on_leave, on_parental_leave
date_effective_fromstring (date)Строки с датой начала не раньше этой даты
date_effective_tostring (date)Строки с датой начала не позже этой даты
field_filtersarrayПроизвольные фильтры по значениям полей таблицы
sortingobjectСортировка
textstringТекстовый поиск

Поля ответа (каждая строка):

ПолеТипОписание
idintegerID строки
employee_idintegerID сотрудника
date_effective_fromstringДата начала действия строки
is_currentbooleanЯвляется ли строка текущей
cellsarrayЗаполненные ячейки с их значениями и конфигурацией

Пример запроса - выгрузка бонусов за квартал:

{
"page_number": 1,
"date_effective_from": "2024-01-01",
"date_effective_to": "2024-03-31",
"employee_lifecycle_statuses": ["employed"]
}

Задача: выгрузить начисленные бонусы сотрудников за период для payroll-системы.

  1. Получить список таблиц:

    GET /api/v1/custom-fields/tables

    Найти таблицу с нужным slug, запомнить её id и id нужных полей.

  2. Выгрузить строки за период:

    POST /api/v1/custom-fields/tables/{table_id}/rows/search

    С фильтром date_effective_from / date_effective_to.

  3. Использовать slug поля из конфигурации, чтобы интерпретировать значения в cells.

Совет: конфигурацию таблиц (шаг 1) можно кешировать - она меняется редко. Строки (шаг 2) запрашивайте при каждой синхронизации.


Для добавления, обновления и удаления строк в таблицах конкретного сотрудника используйте методы, описанные в разделе Сотрудники → Строки в кастомных таблицах.