Дни расписания рабочего времени (workdays)

Обзор

Доступно только в рабочем-домене.

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/domain/workdays

Создание нового дня расписания

GET

/rest/v1/domain/workdays

Получение списка дней расписания

GET

/rest/v1/domain/workdays/<id>

Получение данных дня расписания

PATCH

/rest/v1/domain/workdays/<id>

Изменение данных дня расписания

DELETE

/rest/v1/domain/workdays/<id>

Удаление дня расписания

LOOKUP

/rest/v1/domain/workdays

Поиск идентификатора дня расписания


Создание нового дня расписания

Запрос

Описание полей: workday entity

Пример запроса
POST /rest/v1/domain/workdays HTTP/1.1
Content-Type: application/json; charset=utf-8

workday entity

Ответ

Описание полей: workday entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "23f7d261-016c-bd79-505d-50e54938780c",
  "date": "2018-10-10",
  "isannual": 0,
  "isworkday": 2,
  "asdow": 0,
  "periods": [
    {
      "timestart": 360,
      "timestop": 900
    }
  ],
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-23T07:55:39.99Z",
    "lwt": "2019-08-23T07:55:39.99Z"
  }
}

Получение списка дней расписания

Запрос

Table 1. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: id, date, isannual, isworkday, asdow, opts.title, ext.lwt, ext.ct.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/domain/workdays?filter={"isannual":"true"}&offset=0&limit=3 HTTP/1.1

Ответ

Описание полей: workday entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "id": "f66c2eed-016c-bd78-3bc7-50e54938780c",
    "date": "0000-05-01",
    "isannual": 1,
    "isworkday": 0,
    "asdow": 0,
    "periods": [],
    "opts": {
      "title": "Мир, труд, май"
    },
    "ext": {
      "ct": "2019-08-23T07:54:29.19Z",
      "lwt": "2019-08-23T07:54:29.19Z"
    }
  },
  {
    "id": "d290f0cb-016c-bd77-c82d-50e54938780c",
    "date": "2019-09-01",
    "isannual": 0,
    "isworkday": 1,
    "asdow": 5,
    "periods": [],
    "opts": {
      "title": "Рабочий за пятницу"
    },
    "ext": {
      "ct": "2019-08-23T07:53:59.59Z",
      "lwt": "2019-08-23T07:53:59.59Z"
    }
  },
  {
    "id": "23f7d261-016c-bd79-505d-50e54938780c",
    "date": "2018-10-10",
    "isannual": 1,
    "isworkday": 2,
    "asdow": 0,
    "periods": [
      {
        "timestart": 540,
        "timestop": 1080
      }
    ],
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-23T07:55:39.99Z",
      "lwt": "2019-08-23T07:55:39.99Z"
    }
  }
]

Получение данных дня расписания

Запрос

Table 2. Параметры запроса
Имя Тип Описание

mask

str

Список полей для вывода.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/domain/workdays/23f7d261-016c-bd79-505d-50e54938780c HTTP/1.1

Ответ

Описание полей: workday entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "23f7d261-016c-bd79-505d-50e54938780c",
  "date": "2018-10-10",
  "isannual": 0,
  "isworkday": 2,
  "asdow": 0,
  "periods": [
    {
      "timestart": 360,
      "timestop": 900
    }
  ],
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-23T07:55:39.99Z",
    "lwt": "2019-08-23T07:55:39.99Z"
  }
}

Изменение данных дня расписания

Поля запрещенные для изменения: id

Запрос

Описание полей: workday entity

Пример запроса
PATCH /rest/v1/domain/workdays/23f7d261-016c-bd79-505d-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

workday entity

Ответ

Описание полей: workday entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "23f7d261-016c-bd79-505d-50e54938780c",
  "date": "2018-10-10",
  "isannual": 1,
  "isworkday": 2,
  "asdow": 0,
  "periods": [
    {
      "timestart": 540,
      "timestop": 1080
    }
  ],
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-23T07:55:39.99Z",
    "lwt": "2019-09-11T10:19:59.02Z"
  }
}

Удаление дня расписания

Запрос

Пример запроса
DELETE /rest/v1/domain/workdays/23f7d261-016c-bd79-505d-50e54938780c HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Поиск идентификатора дня расписания

Производит поиск ресурса по указанному ключу, возвращает идентификатор(ы) для построения endpoint.

Ключевые поля для поиска: id, date

Запрос

Пример запроса
LOOKUP /rest/v1/domain/workdays HTTP/1.1
Content-Type: application/json; charset=utf-8

"2017-05-01"

Ответ

Пример успешного ответа
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8

[
  "23f7d261-016c-bd79-505d-50e54938780c"
]
Пример неуспешного ответа
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8

{
  "error_code": 1404,
  "error_message": "Lookup failed"
}