지역 축제 알림 자동화

내 관심 지역에 새 축제가 등록되면 자동으로 알려줍니다

난이도
쉬움
예상 시간 10~15분
조회 0
다운로드 0

자동화 흐름

🏭 한국관광공사 TourAPI
Make.com 필터 + 가공
💬 카카오톡
+
Make.com

지역 축제 알림 자동화

한국관광공사 TourAPI에서 전국 축제/행사 정보를 자동 수집하고, 관심 지역의 다가오는 축제를 필터링하여 카카오톡으로 알림을 보내는 레시피입니다.

---

사전 준비

| 항목 | 설명 | |------|------| | TourAPI 인증키 | 한국관광공사 TourAPI에서 활용 신청 | | 카카오 REST API 키 | Kakao Developers에서 앱 생성 후 REST API 키 발급 | | 카카오 나에게 보내기 | 카카오 로그인 동의항목에서 "카카오톡 메시지 전송" 동의 필요 | | Make 계정 | 시나리오 구성 및 스케줄링 |

---

Step 1: TourAPI 축제/행사 검색 API 호출

HTTP 모듈로 축제 정보를 조회합니다. 핵심: contentTypeId=15로 축제/공연/행사만 필터링합니다.

GET http://apis.data.go.kr/B551011/KorService1/searchFestival1

주요 파라미터:

| 파라미터 | 값 | 설명 | |----------|----|------| | serviceKey | {{API_KEY}} | TourAPI 인증키 | | numOfRows | 100 | 결과 개수 | | pageNo | 1 | 페이지 번호 | | MobileOS | ETC | OS 구분 | | MobileApp | MyApp | 앱 이름 | | _type | json | 응답 형식 | | eventStartDate | 20260416 | 행사 시작일 (오늘 날짜) | | eventEndDate | 20260516 | 행사 종료일 (한 달 후) | | areaCode | 32 | 지역코드 (예: 강원) |

Tip: eventStartDate는 Make 날짜 함수로 동적 생성합니다: {{formatDate(now; "YYYYMMDD")}}, 종료일은 {{formatDate(addMonths(now; 1); "YYYYMMDD")}} 를 사용합니다.

---

Step 2: 관심 지역 필터링 설정

여러 지역을 모니터링하려면 지역코드 목록을 설정합니다.

TourAPI 주요 지역코드:

| 코드 | 지역 | 코드 | 지역 | |------|------|------|------| | 1 | 서울 | 2 | 인천 | | 3 | 대전 | 4 | 대구 | | 5 | 광주 | 6 | 부산 | | 31 | 경기 | 32 | 강원 | | 33 | 충북 | 34 | 충남 | | 35 | 경북 | 36 | 경남 | | 37 | 전북 | 38 | 전남 | | 39 | 제주 | | |

Make에서 Array 변수로 관심 지역을 정의합니다:

관심지역 = [32, 6, 39]  // 강원, 부산, 제주

Router 모듈을 사용해 각 지역코드별로 API를 호출하거나, 반복(Iterator) 모듈로 순회합니다.

---

Step 3: 축제 데이터 파싱 및 정제

API 응답에서 필요한 필드를 추출합니다.

{
  "response": {
    "body": {
      "items": {
        "item": [
          {
            "title": "춘천마임축제",
            "addr1": "강원특별자치도 춘천시",
            "eventstartdate": "20260523",
            "eventenddate": "20260531",
            "firstimage": "http://tong.visitkorea.or.kr/...",
            "tel": "033-242-0585",
            "contentid": "2845612"
          }
        ]
      }
    }
  }
}

각 축제에 대해 다음을 계산합니다:

| 필드 | 계산 로직 | |------|-----------| | D-day | eventstartdate - today | | 진행상태 | 시작 전 / 진행 중 / 종료 | | 주말포함 | 축제 기간 내 주말 존재 여부 |

Tip: contentTypeId=15는 축제/공연/행사 전용입니다. 관광지(12), 문화시설(14), 레포츠(28) 등 다른 타입과 혼동하지 마세요.

---

Step 4: 신규 축제 감지 로직

이전에 알린 축제를 중복 발송하지 않기 위한 로직입니다.

1. Google Sheets에 "알림완료" 시트를 생성합니다 2. 새 축제 발견 시 contentid 기준으로 중복 체크합니다 3. 신규 축제만 알림 대상으로 선별합니다

{{if(contains(sentList; item.contentid); "skip"; "send")}}

---

Step 5: 카카오톡 나에게 보내기 알림

카카오톡 메시지 API로 축제 알림을 발송합니다.

POST https://kapi.kakao.com/v2/api/talk/memo/default/send

Headers:

Authorization: Bearer {{KAKAO_ACCESS_TOKEN}}
Content-Type: application/x-www-form-urlencoded

Body (template_object):

{
  "object_type": "list",
  "header_title": "다가오는 지역 축제 알림",
  "header_link": { "web_url": "https://www.visitkorea.or.kr" },
  "contents": [
    {
      "title": "춘천마임축제",
      "description": "D-37 | 강원 춘천시 | 5.23~5.31",
      "image_url": "{{firstimage}}",
      "link": { "web_url": "{{detailUrl}}" }
    }
  ],
  "buttons": [
    {
      "title": "상세보기",
      "link": { "web_url": "https://www.visitkorea.or.kr" }
    }
  ]
}

Tip: 카카오 Access Token은 유효기간이 6시간이므로, Refresh Token으로 자동 갱신하는 모듈을 시나리오 시작부에 추가하세요.

---

Step 6: Make 스케줄 설정

| 설정 항목 | 값 | |----------|-----| | 실행 주기 | 매주 월요일 | | 실행 시각 | 오전 09:00 KST | | 타임존 | Asia/Seoul |

---

예상 결과

  • 매주 월요일 관심 지역의 다가오는 축제 목록을 카카오톡으로 수신
  • D-day 표시로 일정 파악 용이
  • 중복 알림 방지로 새로운 축제만 알림
  • 이미지 포함 리스트형 메시지로 시각적 확인 가능
---

트러블슈팅

| 증상 | 원인 | 해결 방법 | |------|------|-----------| | 축제 데이터 0건 | eventStartDate 형식 오류 | YYYYMMDD 8자리 형식 확인 (하이픈 없이) | | 카카오톡 발송 실패 (401) | Access Token 만료 | Refresh Token으로 갱신 모듈 추가 | | 카카오톡 발송 실패 (403) | 메시지 전송 동의 미완료 | 카카오 로그인 동의항목에서 "톡 메시지 전송" 체크 | | 중복 알림 발생 | 중복 체크 시트 미연결 | Google Sheets 모듈의 시트 ID 및 범위 확인 | | 특정 지역 결과 없음 | 해당 기간 축제 없음 | 조회 기간을 2-3개월로 확대하거나 전체 지역 조회 | | contentTypeId 잘못 설정 | 축제가 아닌 데이터 조회 | 반드시 contentTypeId=15 사용 확인 |

📥

Make 블루프린트 다운로드

JSON 파일을 Make.com에 임포트하면 시나리오가 자동 생성됩니다

댓글 · 질문 (0)