Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / API и Webhooks / External API: обновление статуса в расписании

External API: обновление статуса в расписании

Этот endpoint External API позволяет вашей HR- или WFM-системе устанавливать статус сотрудника в расписании UnSpot — например, отмечать удалённую работу или отсутствие (отпуск, больничный) на конкретный день.

Аутентификация

Создайте API-подключение типа User schedule в разделе Администрирование > Интеграции > External API и скопируйте токен. Передавайте его в каждом запросе:

Authorization: Bearer <token>

Запросы без действительного токена возвращают 401. При превышении лимита запросов API возвращает 429 с заголовком Retry-After.

Обновление статуса — POST /api/external/v1/user-schedule

Поле телаТипОбязательноОписание
userEmailstringдаEmail пользователя UnSpot (архивированные и деактивированные не находятся)
datestringдаДень, к которому относится статус, формат YYYY-MM-DD
statusTypestringнетREMOTE_WORK или NOT_WORKING. Если не передан или null — статус на эту дату сбрасывается.
statusNamestringнетНазвание статуса, до 128 символов (например, «Отпуск»)
statusCodestringнетКороткий код в расписании, до 6 символов (например, «ОТП»)

Если передаёте statusName или statusCode, все три поля — statusName, statusCode и statusType — должны быть указаны вместе.

Пример: удалённая работа

curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  https://acme.unspot.ru/api/external/v1/user-schedule \
  -d '{
    "userEmail": "anna.ivanova@example.com",
    "date": "2026-07-10",
    "statusType": "REMOTE_WORK"
  }'

Пример: именованное отсутствие

{
  "userEmail": "anna.ivanova@example.com",
  "date": "2026-07-13",
  "statusType": "NOT_WORKING",
  "statusName": "Отпуск",
  "statusCode": "ОТП"
}

Пример: сброс статуса

{ "userEmail": "anna.ivanova@example.com", "date": "2026-07-10" }

Ответ: 200 с сообщением об успехе; изменение сразу видно в расписании пользователя.

Ошибки и лимиты

  • 400Missing required field: userEmail / date; Invalid statusType value; правила совместности statusName/statusCode/statusType; User not found.
  • 401 — неверный токен.
  • 429 — чаще 1 запроса в секунду на токен. Для массовых обновлений добавляйте задержку.

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Загрузка

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Загрузка