Чек-ины
Возвращает чек-ины — фактические отметки прихода и ухода сотрудников, с пагинацией и фильтрами по периоду, отделу и сотруднику.
Скоуп
Требуется скоуп checkins.read. Без него ключ получит 403 missing_scope. Какое право у создателя ключа нужно, чтобы выдать этот скоуп, — в Скоупах и правах → Таблица скоупов.
Query-параметры
| Параметр | Обязателен | Описание |
|---|---|---|
limit |
нет | Целое 1..200, по умолчанию 100. |
cursor |
нет | Курсор meta.next_cursor предыдущего ответа — для следующей страницы. |
from, to |
нет | Даты YYYY-MM-DD в таймзоне организации, границы включительно — фильтр по entry_date. Передаются только парой; максимальный диапазон — 366 дней. Без них — текущий календарный месяц. |
department_id |
нет | UUID отдела. Матчится через отдел сотрудника: вернутся чек-ины сотрудников этого отдела. Неизвестный или чужой department_id — не ошибка, просто пустой список. |
employee_id |
нет | UUID сотрудника — строгое равенство. Неизвестный или чужой employee_id — тоже пустой список, не ошибка. |
Других параметров у ресурса нет: любой лишний параметр → 400 validation_error — отклоняется явно, а не игнорируется молча (см. Конвенции → Фильтры). Передать только from без to (или наоборот) тоже нельзя — 400 с подсказкой pass both from and to, or neither.
Запрос
Без параметров — чек-ины текущего месяца в таймзоне организации:
curl -s https://smengo.com/api/v1/check-ins \
-H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
За конкретный период и по отделу:
curl -s "https://smengo.com/api/v1/check-ins?from=2026-07-01&to=2026-07-31&department_id=9c1a2e34-5678-4abc-9def-0123456789ab" \
-H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Ответ
{
"data": [
{
"id": "4d8f2c6a-1e3b-4f7d-9c5a-8b0e2f4a6c19",
"employee_id": "5e6d9f2a-3b7c-4e2f-9a1d-7c8e2f6b4a10",
"entry_date": "2026-07-14",
"check_in_at": "2026-07-14T05:58:12.000Z",
"check_out_at": "2026-07-14T14:03:47.000Z",
"source": "telegram",
"schedule_entry_id": "7a3c1d5e-8f2b-4c6a-9e1f-2d4b6a8c0e13"
},
{
"id": "6c0a2e4d-7b9f-4c1e-8a3d-5e7f9b1d3a64",
"employee_id": "0b2f5e7a-9c31-4d6e-8a2b-4f1e6c9d3a52",
"entry_date": "2026-07-15",
"check_in_at": "2026-07-15T06:02:33.000Z",
"check_out_at": null,
"source": "telegram",
"schedule_entry_id": null
}
],
"meta": { "next_cursor": null }
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id |
string (uuid) |
Уникальный идентификатор чек-ина. |
employee_id |
string (uuid) |
Сотрудник, которому принадлежит отметка. Имя сотрудника в ответ не вложено (в отличие от записей графика) — расшифровывайте employee_id через Сотрудников. |
entry_date |
string (YYYY-MM-DD) |
День отметки, в таймзоне организации; список отсортирован по этому полю (плюс id как тай-брейкер). |
check_in_at |
string (ISO 8601 UTC) | null |
Момент отметки прихода; null — чекин не происходил. |
check_out_at |
string (ISO 8601 UTC) | null |
Момент отметки ухода; null — чекаут не происходил (или ещё не произошёл). Возможна любая комбинация null у пары check_in_at/check_out_at, включая чекин без чекаута. |
source |
string |
Источник отметки. Это открытая строка, а не закрытый enum: сейчас единственный, кто пишет чек-ины, — Telegram-бот со значением telegram; в будущем могут появиться другие значения. |
schedule_entry_id |
string (uuid) | null |
Привязка к записи графика (см. Записи графика); null — чекин вне графика. |
Уволенные сотрудники в ответе не появляются — они исключены целиком, вместе со своими чек-инами, независимо от фильтров.
Пагинация
Список отсортирован по entry_date, id. Если чек-инов больше, чем limit, meta.next_cursor содержит курсор для следующей страницы; передайте его в cursor следующего запроса как есть:
curl -s "https://smengo.com/api/v1/check-ins?limit=1&cursor=eyJrIjoiMjAyNi0wNy0xNCIsImlkIjoiNGQ4ZjJjNmEtMWUzYi00ZjdkLTljNWEtOGIwZTJmNGE2YzE5In0" \
-H "Authorization: Bearer smg_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
meta.next_cursor равен null, когда чек-инов больше нет. Общие правила пагинации — в Конвенциях → Пагинация.
Что дальше
- Записи графика — план, к которому привязан
schedule_entry_id. - Сотрудники — расшифровка
employee_id. - Табели — помесячная сводка, в которую сворачиваются чек-ины.