Типи статусів

Повертає типи статусів — довідник значень status_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/status-types \
  -H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

З обмеженням розміру сторінки:

curl -s "https://smengo.com/api/v1/status-types?limit=50" \
  -H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Відповідь

{
  "data": [
    {
      "id": "c2e4a6b8-1d3f-4a5c-8e7b-9f0a1b2c3d4e",
      "code": "work",
      "label": { "ru": "Работает", "uk": "Працює", "en": "Working" },
      "color": "#22c55e",
      "counts_as_present": true,
      "is_system": true,
      "start_time": "09:00:00",
      "end_time": "18:00:00"
    },
    {
      "id": "d4f6a8c0-2e5b-4b7d-9a1c-6e8f0b2d4a86",
      "code": "training",
      "label": { "ru": "Обучение", "uk": "Навчання", "en": "Training" },
      "color": "#818cf8",
      "counts_as_present": false,
      "is_system": false,
      "start_time": null,
      "end_time": null
    }
  ],
  "meta": { "next_cursor": null }
}

Поля відповіді

Поле Тип Опис
id string (uuid) Унікальний ідентифікатор типу статусу; на нього посилається status_id у Записах графіка.
code string Машинний код статусу. Системні коди: work, vacation, sick, dayoff, late; кастомні статуси мають власні коди.
label object Мультимовна назва за локалями, як є: { "ru": …, "uk": …, "en": … }. Єдине поле-об'єкт у всьому v1 — решта полів API скалярні.
color string Колір статусу в hex (#22c55e); null не буває.
counts_as_present boolean Чи враховується статус як присутність: день із таким статусом вважається відпрацьованим (наприклад, робочий день — так, відпустка — ні).
is_system boolean true — системний статус, спільний для всіх організацій; false — кастомний статус вашої організації.
start_time string (HH:MM:SS) | null Опціональне дефолтне вікно зміни для статусу — початок, у таймзоні організації.
end_time string (HH:MM:SS) | null Кінець дефолтного вікна; у статусів без часу обидва поля null.

Відповідь містить і системні статуси, і кастомні статуси вашої організації. Системні (is_system: true) спільні для всіх організацій; кастомні — лише ваші: чужі кастомні статуси у відповідь не потрапляють ніколи.

Пагінація

Список відсортований за sort_order, id — при цьому саме поле sort_order у data[] не віддається: сортування за ним є, а поля у відповіді немає (на відміну від пресетів змін). Якщо статусів більше, ніж limit, meta.next_cursor містить курсор для наступної сторінки; передайте його в cursor наступного запиту як є:

curl -s "https://smengo.com/api/v1/status-types?limit=1&cursor=eyJrIjoxLCJpZCI6ImMyZTRhNmI4LTFkM2YtNGE1Yy04ZTdiLTlmMGExYjJjM2Q0ZSJ9" \
  -H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

meta.next_cursor дорівнює null, коли статусів більше немає. Загальні правила пагінації — у Конвенціях → Пагінація.

Що далі

Чи була стаття корисною?