待命排班 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