27.03.2026 16:50

CheckOut

[POST] .../v1/workattendance/checkout

Закрывает активную рабочую сессию текущего пользователя.

Входные параметры

Название Тип данных Обязательность Описание
comment String Необязательный Комментарий к check-out

Ограничения и проверки

  • Закрывается только активная рабочая сессия текущего пользователя.
  • При успешном checkout у незавершенных лидов (New, InProgress, WaitingClient) текущего пользователя автоматически снимается responsible_user_id, если responsible_hold_until = null.
  • После снятия ответственного по таким лидам выполняется попытка авто-перераспределения по настройкам канала (queue_mode=Pool, routing_strategy=RoundRobin/LeastLoaded); при перераспределении пользователь, выполнивший checkout, исключается из кандидатов.
  • При успешном checkout у открытых тикетов (Open) текущего пользователя автоматически снимается responsible_user_id.
  • После снятия ответственного по таким тикетам выполняется попытка авто-перераспределения по настройкам канала (queue_mode=Pool, routing_strategy=RoundRobin/LeastLoaded); при перераспределении пользователь, выполнивший checkout, исключается из кандидатов.
  • Если перераспределение недоступно по настройкам канала или нет подходящих операторов, лид остается без ответственного.
  • Для лидов с установленным responsible_hold_until ответственный не снимается.
  • Снятие ответственного в этом сценарии выполняется служебно, без дополнительной проверки прав на изменение лида.

Пример запроса

{
  "comment": "Завершаю смену"
}

Выходные параметры

Название Тип данных Описание
result.row_affected Int64 Количество измененных записей
result.ids Array of Int64 ID измененных записей

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

{
  "ok": true,
  "result": {
    "row_affected": 1,
    "ids": [88]
  }
}