Пресеты смен

Возвращает пресеты смен организации — справочник шаблонов времени («Утро», «Вечер», «Гибкая»), на которые ссылается поле 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, когда пресетов больше нет. Общие правила пагинации — в Конвенциях → Пагинация.

Что дальше

Была ли статья полезна?