본문으로 건너뛰기

영업시간

GET /hours — 워크스페이스에 설정된 영업시간(business hours)을 조회합니다.

  • Scope: hours:read
  • 쿼리·바디 없음
curl https://api.talk.zeroworks.ai/api/public/v1/hours \
-H "Authorization: Bearer ztpat_..."

응답

business_hours는 대시보드가 저장한 설정 JSON을 그대로 전달합니다. 영업시간을 설정한 적이 없으면 business_hoursnull입니다.

{
"success": true,
"data": {
"business_hours": {
"timezone": "Asia/Seoul",
"schedule": [
{ "day": 0, "is_open": false, "ranges": [] },
{ "day": 1, "is_open": true, "ranges": [{ "open_time": "09:00", "close_time": "18:00" }] },
{ "day": 2, "is_open": true, "ranges": [{ "open_time": "09:00", "close_time": "18:00" }] },
{ "day": 3, "is_open": true, "ranges": [{ "open_time": "09:00", "close_time": "18:00" }] },
{ "day": 4, "is_open": true, "ranges": [{ "open_time": "09:00", "close_time": "18:00" }] },
{ "day": 5, "is_open": true, "ranges": [{ "open_time": "09:00", "close_time": "18:00" }] },
{ "day": 6, "is_open": false, "ranges": [] }
],
"holidays": [],
"custom_holidays": []
}
}
}

영업시간을 설정하지 않은 워크스페이스의 응답입니다 (business_hoursjson.RawMessage라 미설정 시 키 생략이 아니라 null로 반환됩니다).

{
"success": true,
"data": {
"business_hours": null
}
}

business_hours 구조 — 대시보드가 저장한 설정 JSON을 그대로 전달합니다.

설명
timezoneIANA 타임존 (예: Asia/Seoul)
schedule요일별 배열. day정수 0~6 (0=일요일), is_open은 영업 여부, ranges는 영업 시간대 배열
ranges[]open_time·close_time ("HH:MM" KST, close_time은 자정 종료를 뜻하는 "24:00" 가능)
holidays한국 공휴일 프리셋 날짜 배열. "YYYY-MM-DD" 문자열 배열입니다. 워크스페이스에서 '한국 공휴일 자동 적용'을 끄면 빈 배열입니다
custom_holidays워크스페이스가 직접 정의한 휴일 객체 배열 (아래 필드 참조)

이 구조는 현재 대시보드가 저장하는 형식입니다. 이 엔드포인트는 저장된 JSON을 그대로 전달하므로, 새 대시보드에서 한 번도 다시 저장하지 않은 레거시 워크스페이스는 최상위 enabled 키를 포함하고 schedule/holidays/custom_holidays 키가 없을 수 있습니다. 모든 키의 존재를 가정하지 마세요.

custom_holidays[] 객체 구조

설명
idUUID v4
name휴일 이름 (≤40자, 빈 문자열 가능)
start_date시작일 "YYYY-MM-DD" (KST)
end_date종료일 "YYYY-MM-DD" (KST, 범위 포함)
closedtrue면 해당 기간 상담 불가
open_time·close_time"HH:MM". closed=false일 때만 존재하는 키입니다