Пресеты смен
Возвращает пресеты смен организации — справочник шаблонов времени («Утро», «Вечер», «Гибкая»), на которые ссылается поле shift_preset_id записей графика.
Скоуп
Скоуп не требуется — это справочник без секретов, доступный любому валидному ключу организации, независимо от набора скоупов (см. Скоупы и права → Справочники без скоупа). Справочник нужен, чтобы интерпретировать записи графика, поэтому открыт без дополнительных условий.
Query-параметры
| Параметр | Обязателен | Описание |
|---|---|---|
limit |
нет | Целое 1..200, по умолчанию 100. |
cursor |
нет | Курсор meta.next_cursor предыдущего ответа — для следующей страницы. |
from/to, department_id и employee_id на этом ресурсе не поддержаны: передача любого из них → 400 validation_error (параметр отклоняется явно, а не игнорируется молча — см. Конвенции → Фильтры). Это справочник без временно́го измерения и без привязки к отделам.
Запрос
curl -s https://smengo.com/api/v1/shift-presets \
-H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
С ограничением размера страницы:
curl -s "https://smengo.com/api/v1/shift-presets?limit=50" \
-H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Ответ
{
"data": [
{
"id": "3f8e2a1c-6b5d-4e9f-a2c1-7d8e9f0a1b2c",
"label": "Утро",
"start_time": "08:00:00",
"end_time": "16:00:00",
"is_flexible": false,
"color": "#22c55e",
"sort_order": 1
},
{
"id": "5a7c9e1b-3d6f-4c8a-9b2d-0e4f6a8c1d35",
"label": "Гибкая",
"start_time": null,
"end_time": null,
"is_flexible": true,
"color": "#a3e635",
"sort_order": 2
}
],
"meta": { "next_cursor": null }
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id |
string (uuid) |
Уникальный идентификатор пресета; на него ссылается shift_preset_id в Записях графика. |
label |
string |
Название пресета. |
start_time |
string (HH:MM:SS) | null |
Начало смены — в таймзоне организации, не в UTC (таймзона — в GET /org, поле timezone). |
end_time |
string (HH:MM:SS) | null |
Конец смены — тоже в таймзоне организации. |
is_flexible |
boolean |
Гибкая ли смена — без фиксированных времён начала и конца. |
color |
string |
Цвет пресета в hex (#22c55e); null не бывает. |
sort_order |
number (int) |
Позиция в списке; список отсортирован по этому полю (плюс id как тай-брейкер). В отличие от типов статусов, здесь поле присутствует в ответе. |
Пара null/null у start_time/end_time — норма, а не пропуск данных: так выглядит гибкая смена (is_flexible: true), у которой нет фиксированных времён — конкретное время задаёт сама запись графика или оно не фиксируется вовсе.
Пагинация
Список отсортирован по sort_order, id. Если пресетов больше, чем limit, meta.next_cursor содержит курсор для следующей страницы; передайте его в cursor следующего запроса как есть:
curl -s "https://smengo.com/api/v1/shift-presets?limit=1&cursor=eyJrIjoxLCJpZCI6IjNmOGUyYTFjLTZiNWQtNGU5Zi1hMmMxLTdkOGU5ZjBhMWIyYyJ9" \
-H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
meta.next_cursor равен null, когда пресетов больше нет. Общие правила пагинации — в Конвенциях → Пагинация.
Что дальше
- Записи графика — где на пресеты ссылается
shift_preset_id. - Типы статусов — второй справочник для интерпретации графика.
- Организация — таймзона, в которой трактуются
start_time/end_time.