diff --git a/docs/api.md b/docs/api.md index a9d6fec..e4c0bf1 100644 --- a/docs/api.md +++ b/docs/api.md @@ -448,6 +448,8 @@ Gemini `url_context`로 추출, 행사(EVENT) 일정을 자동 생성한다. - 새 게시글이 없으면 Gemini를 호출하지 않음 (무료 티어 RPD 20 제한 대응) - 장소는 카카오맵 검색으로 자동 매칭, 멤버는 활동 멤버 전체로 등록 - 같은 학교(캠퍼스명 부분일치) + 날짜 일정이 있으면 중복으로 건너뜀 +- `active_months`로 실행 월을 제한 가능 (대학 축제는 학기 중 한정 시즌). 비활성 월에는 + 크롤링/Gemini 호출을 아예 건너뜀. `null` 또는 12개월 전체 = 항상 실행 ### GET /admin/festival-bots 축제 봇 목록 조회 @@ -464,10 +466,13 @@ Gemini `url_context`로 추출, 행사(EVENT) 일정을 자동 생성한다. "name": "대학 축제 봇", "search_url": "https://memogipost.tistory.com/search/프로미스나인", "cron_interval": 360, + "active_months": [4, 5, 8, 9], "enabled": true } ``` +`active_months`는 정수 배열(`null`이면 전체 월). 위 예시는 4·5·8·9월에만 실행. + ### POST /admin/festival-bots 축제 봇 추가 @@ -476,7 +481,8 @@ Gemini `url_context`로 추출, 행사(EVENT) 일정을 자동 생성한다. { "name": "대학 축제 봇", "search_url": "https://memogipost.tistory.com/search/프로미스나인", - "cron_interval": 360 + "cron_interval": 360, + "active_months": [4, 5, 8, 9] } ``` @@ -485,6 +491,7 @@ Gemini `url_context`로 추출, 행사(EVENT) 일정을 자동 생성한다. | `name` | string | (필수) | 봇 이름 | | `search_url` | string | (필수) | 크롤링할 검색 페이지 URL | | `cron_interval` | integer | 360 | 동기화 간격 (분). 60 이상은 시간 단위 cron으로 변환 | +| `active_months` | integer[] \| null | null | 실행할 월(1~12). `null`/빈 배열/12개 전체는 항상 실행 | ### PUT /admin/festival-bots/:id 축제 봇 수정 (부분 업데이트 가능)