본문으로 건너뛰기

영업시간

대시보드 상담시간 설정에 저장된 요일별 영업 시간대와 휴일을 서버에서 읽는 조회 API입니다. 읽기 전용이므로 영업시간을 바꾸려면 대시보드에서 수정하세요.

영업시간 조회​

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

  • Scope: hours:read
  • 쿼리·바디: 없음

아래 요청은 영업시간 설정을 조회합니다.

curl https://api.talk.zeroworks.ai/api/public/v1/hours \
-H "Authorization: Bearer ztpat_..."

응답

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

{
"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_hours 키가 생략되지 않고 null로 내려갑니다.

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

business_hours 구조​

키설명
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면 해당 기간 상담 불가(대시보드 「휴무」), false면 open_time~close_time으로 운영(대시보드 「운영시간 변경」)
open_time·close_time"HH:MM". closed가 false일 때만 존재하는 키입니다

워크스페이스가 삭제된 상태에서 요청하면 404 NOT_FOUND를 반환합니다.