Справочник API по графикам дежурств
Возможные значения полей
Тип ограничения
| Значение | Описание |
|---|---|
NONE | Без ограничений |
TIMEOFDAY | Ограничение по определённому времени суток |
TIMEINTERVALS | Ограничение по определённым интервалам времени |
Тип ротации
| Значение | Описание |
|---|---|
DAILY | Ротация происходит ежедневно |
WEEKLY | Ротация происходит еженедельно |
CUSTOM | Ротация идёт по своему расписанию |
Дни недели
| Значение | Описание |
|---|---|
SATURDAY | Суббота |
SUNDAY | Воскресенье |
MONDAY | Понедельник |
TUESDAY | Вторник |
WEDNESDAY | Среда |
THURSDAY | Четверг |
FRIDAY | Пятница |
Получить участников графика дежурств
Эндпоинт:
GET /on-call-schedules/:id/members
Пример запроса
GET /on-call-schedules/clzmgn2ze40301poblv9e1pq5/members
Пример ответа
{"currentMembers": [{"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member1@email.com","phone": null,"avatar": "https://example.com/avatar.jpg"}],"nextMembers": [{"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member2@email.com","phone": null,"avatar": null}],"allMembers": [{"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member1@email.com","phone": null,"avatar": "https://example.com/avatar.jpg"},{"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member2@email.com","phone": null,"avatar": null}]}
Создать график дежурств
Эндпоинт:
POST /on-call-schedules
Пример запроса
{"name": "Primary On-call Schedule","description": "This schedule is for the primary on-call team.","onCallShifts": [{"name": "Primary","members": [{"workspaceMemberId": "member123","color": "#FF5733"},{"workspaceMemberId": "member456","color": "#33C4FF"}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2023-08-08T08:00:00Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
Пример ответа
{"id": "clzmgn2ze40301poblv9e1pq5","name": "Primary On-call Schedule","description": "This schedule is for the primary on-call team.","status": "ACTIVE","onCallShifts": [{"id": "clzmgn2zt40361pobj78giwf7","name": "Primary","order": 1,"members": [{"id": "clzmgn2zt40401pobjzq0pwjd","order": 3,"color": "#0470a6","workspaceMember": {"id": "member123","user": {"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member12@email.com","avatar": null}}},{"id": "clzmgn2zt40381pob690bwaxx","order": 1,"color": "#195397","workspaceMember": {"id": "member456","user": {"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member45@email.com","avatar": null}}}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2024-08-09T08:42:34.557Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"id": "clzmjq8bn313521ioblyzg7hic","startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
Обновить график дежурств
Эндпоинт:
PUT /on-call-schedules/:id
Пример запроса
PUT /on-call-schedules/clzmgn2ze40301poblv9e1pq5
{"id": "clzmgn2ze40301poblv9e1pq5","name": "Name Update","description": "This schedule is for the primary on-call team.","status": "ACTIVE","onCallShifts": [{"id": "clzmgn2zt40361pobj78giwf7","name": "Primary","order": 1,"members": [{"id": "clzmgn2zt40401pobjzq0pwjd","order": 3,"color": "#0470a6","workspaceMember": {"id": "member123","user": {"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member12@email.com","avatar": null}}},{"id": "clzmgn2zt40381pob690bwaxx","order": 1,"color": "#195397","workspaceMember": {"id": "member456","user": {"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member45@email.com","avatar": null}}}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2024-08-09T08:42:34.557Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"id": "clzmjq8bn313521ioblyzg7hic","startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
Пример ответа
{"id": "clzmgn2ze40301poblv9e1pq5","name": "Name Update","description": "This schedule is for the primary on-call team.","status": "ACTIVE","onCallShifts": [{"id": "clzmgn2zt40361pobj78giwf7","name": "Primary","order": 1,"members": [{"id": "clzmgn2zt40401pobjzq0pwjd","order": 3,"color": "#0470a6","workspaceMember": {"id": "member123","user": {"id": "clh8nmaan72592bfokqjqd95s1","name": null,"email": "member12@email.com","avatar": null}}},{"id": "clzmgn2zt40381pob690bwaxx","order": 1,"color": "#195397","workspaceMember": {"id": "member456","user": {"id": "clzajmm98115510h5olxn5i7ljr","name": null,"email": "member45@email.com","avatar": null}}}],"rotationType": "WEEKLY","customRotationTypeValue": null,"customRotationTypeUnit": null,"startDate": "2024-08-09T08:42:34.557Z","endDate": "2024-08-21T08:42:00.000Z","restrictionType": "TIMEINTERVALS","timeOfDayRestrictionStartTime": null,"timeOfDayRestrictionEndTime": null,"timeIntervals": [{"id": "clzmjq8bn313521ioblyzg7hic","startDay": "SATURDAY","startDayTime": "1970-01-01T21:00:00.000Z","endDay": "SUNDAY","endDayTime": "1970-01-01T03:00:00.000Z"}]}]}
Удалить график дежурств
Эндпоинт:
DELETE /on-call-schedules/:id
Пример запроса
DELETE /on-call-schedules/schedule-id-1
Пример ответа
204 No Content