예약 (Schedules)
oe.schedules.*는 템플릿 기반 예약 방송의 전체 CRUD를 제공합니다. 예약을 만들기 전에 먼저 방송 템플릿을 생성해야 합니다.
oe.schedules.create()
recurrence에 따라 필수 필드가 달라집니다.
ts
create(req: CreateScheduleInput): Promise<ScheduleView>ts
// WEEKLY — 평일 아침 방송
await oe.schedules.create({
templateHandle: "tpl_morning",
name: "평일 아침 방송",
recurrence: "WEEKLY",
executeTime: "09:00",
daysOfWeek: "MON,TUE,WED,THU,FRI", // WEEKLY 시 필수
startDate: "2026-07-01",
isLastDay: false,
});| 필드 | 필수 | 설명 |
|---|---|---|
templateHandle | 예 | 방송에 사용할 템플릿 handle |
name | 예 | 예약 이름 |
recurrence | 예 | ONCE · DAILY · WEEKLY · MONTHLY |
executeTime | 예 | 실행 시각(HH:MM) |
startDate | 예 | 예약 시작일(YYYY-MM-DD) |
isLastDay | 예 | 말일 실행 여부(MONTHLY, 기본 false) |
executeDate | ONCE | 실행 날짜 |
daysOfWeek | WEEKLY | 요일(MON,WED,FRI) |
monthlyDay | MONTHLY | 실행 날짜(1–31) |
endDate · notes | 아니오 | 종료일 · 메모 |
oe.schedules.list()
ts
list(): Promise<ScheduleView[]>ts
const schedules = await oe.schedules.list();
// ScheduleView: handle · name · templateHandle · recurrence · executeTime · executionAvailabilityoe.schedules.get()
ts
get(handle: string): Promise<ScheduleView>ts
const schedule = await oe.schedules.get("sch_morning");oe.schedules.update()
UpdateScheduleInput은 CreateScheduleInput의 partial(templateHandle 제외). 변경할 필드만 전달합니다.
ts
update(handle: string, req: UpdateScheduleInput): Promise<ScheduleView>ts
await oe.schedules.update("sch_morning", {
name: "새벽 방송으로 변경",
executeTime: "06:00",
});recurrence 재설정 주의
ScheduleView는 daysOfWeek·monthlyDay·isLastDay를 반환하지 않습니다. 이름만 바꾸는 수정이라도 recurrence 관련 필드를 비우면 기존 값(예: isLastDay:true 말일 예약)이 잘못 덮어써질 수 있습니다. recurrence를 바꾸지 않을 땐 관련 필드를 건드리지 마세요.
oe.schedules.delete()
ts
delete(handle: string): Promise<void>ts
await oe.schedules.delete("sch_morning");모든 schedules 호출은 SCHEDULE MANAGE capability가 필요합니다.

