자동화 흐름
환전 적정 타이밍 알림 자동화
목표 환율을 설정해두면 2시간마다 현재 환율을 확인하고, 목표가 이하로 떨어졌을 때 카카오톡으로 "지금 환전하세요!" 알림을 보내는 레시피입니다. 스팸 방지를 위한 쿨다운 로직도 포함됩니다.
---
사전 준비
| 항목 | 설명 | |------|------| | 한국수출입은행 API 인증키 | 수출입은행 Open API에서 인증키 발급 | | 카카오 REST API 키 | Kakao Developers에서 앱 생성 및 키 발급 | | 카카오 나에게 보내기 동의 | 카카오 로그인 동의항목에서 "카카오톡 메시지 전송" 동의 | | Google Sheets | 쿨다운 상태 및 환율 이력 저장용 | | Make 계정 | 시나리오 구성 및 스케줄링 |
---
Step 1: 목표 환율 설정
Google Sheets에 목표 환율 관리 시트를 생성합니다.
| 통화 | 목표 매매기준율 | 알림 활성 | 마지막 알림 시각 | 쿨다운(시간) | |------|--------------|----------|----------------|-------------| | USD | 1,420.00 | TRUE | 2026-04-15 14:00 | 24 | | EUR | 1,550.00 | TRUE | | 24 | | JPY(100) | 950.00 | TRUE | | 24 |
Make 시나리오 시작 시 이 시트에서 목표값과 쿨다운 상태를 읽어옵니다.
Tip: 목표 환율은 최근 1개월 평균 환율보다 2-3% 낮게 설정하면 실질적인 환전 절약 효과를 볼 수 있습니다.
---
Step 2: 2시간 간격 환율 체크
HTTP 모듈로 현재 환율을 조회합니다.
GET https://www.koreaexim.go.kr/site/program/financial/exchangeJSON
| 파라미터 | 값 | 설명 |
|----------|----|------|
| authkey | {{EXIM_API_KEY}} | 수출입은행 인증키 |
| searchdate | {{formatDate(now; "YYYYMMDD")}} | 오늘 날짜 |
| data | AP01 | 환율 데이터 |
Make 스케줄 설정:
| 설정 항목 | 값 | |----------|-----| | 실행 주기 | 매 2시간 | | 실행 시간대 | 09:00 - 17:00 KST (영업시간) | | 실행 요일 | 월-금 |
Tip: 수출입은행 API는 하루 1,000회 호출 제한이 있습니다. 2시간 간격이면 하루 약 5회이므로 여유롭습니다. 1시간 이하로 줄이더라도 한도 내입니다.
---
Step 3: 목표가 도달 판정 로직
현재 환율과 목표 환율을 비교합니다.
현재환율 = parseNumber(replace(item.deal_bas_r; ","; ""))
목표환율 = targetRate // Google Sheets에서 읽어온 값조건: 현재환율 <= 목표환율
Make 필터 조건:
{{parseNumber(replace(item.deal_bas_r; ","; "")) <= targetRate}}
판정 결과 매핑:
| 상태 | 조건 | 액션 | |------|------|------| | 목표 도달 | 현재 <= 목표 | 쿨다운 체크 후 알림 발송 | | 근접 | 현재 <= 목표 x 1.01 | 선택적 사전 알림 | | 미도달 | 현재 > 목표 x 1.01 | 패스 (알림 안함) |
---
Step 4: 쿨다운(Cooldown) 로직
동일 통화에 대해 반복 알림을 방지합니다.
마지막알림시각 = lastAlertTime // Google Sheets에서 조회
쿨다운시간 = cooldownHours // 시트에 설정된 값 (기본 24시간)
경과시간 = dateDifference(now; lastAlertTime; "hours")발송조건: 경과시간 >= 쿨다운시간 OR 마지막알림시각이 비어있음
Make 수식:
{{if(isEmpty(lastAlertTime); true; dateDifference(now; parseDate(lastAlertTime; "YYYY-MM-DD HH:mm"); "hours") >= cooldownHours)}}
쿨다운 플로우:
환율 체크 -> 목표 도달? -> 쿨다운 경과? -> 알림 발송 -> 시트에 시각 기록
| | |
+-- 미도달 --> 종료 +-- 쿨다운 중 --> 스킵
Tip: 쿨다운을 24시간으로 설정하면 하루 한 번만 알림을 받습니다. 급등락 시에는 6시간으로 줄여 더 자주 알림받을 수 있습니다.
---
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": "feed",
"content": {
"title": "환전 타이밍 알림",
"description": "USD 매매기준율이 목표가(1,420원) 이하로 하락했습니다!\n\n현재 환율: 1,418.50원\n목표 환율: 1,420.00원\n차이: -1.50원\n\n지금이 환전 적기입니다!",
"link": { "web_url": "https://www.koreaexim.go.kr" }
},
"buttons": [
{
"title": "환율 확인하기",
"link": { "web_url": "https://www.koreaexim.go.kr" }
}
]
}
---
Step 6: 알림 발송 후 시트 업데이트
알림 발송 성공 시 Google Sheets의 "마지막 알림 시각"을 갱신합니다.
Google Sheets Update a Row 액션:
- 시트: 목표환율 관리
- 조건: 통화코드 일치
- 업데이트 필드:
마지막 알림 시각={{formatDate(now; "YYYY-MM-DD HH:mm")}}
예상 결과
- 목표 환율 이하로 떨어지면 즉시 카카오톡 알림 수신
- 쿨다운 로직으로 하루 1회 이내 중복 알림 방지
- 여러 통화 동시 모니터링 가능
- Google Sheets에서 목표 환율을 쉽게 조정 가능
트러블슈팅
| 증상 | 원인 | 해결 방법 |
|------|------|-----------|
| 알림이 오지 않음 | 쿨다운 미경과 | Google Sheets에서 마지막 알림 시각 확인, 필요시 비우기 |
| 영업시간 외 잘못된 데이터 | 주말/공휴일 환율 미갱신 | 응답 빈 배열 체크 후 스킵 처리 |
| 카카오톡 401 오류 | Access Token 만료 | Refresh Token 자동 갱신 모듈 추가 |
| 쉼표 숫자 비교 오류 | 문자열 비교 발생 | parseNumber(replace(...)) 로 숫자 변환 후 비교 |
| 알림 폭탄 수신 | 쿨다운 로직 미작동 | Google Sheets 시트명과 범위가 정확한지 재확인 |
| API 호출 한도 초과 | 인터벌 너무 짧음 | 최소 1시간 이상 간격 권장, 일 1,000회 한도 주의 |
Make 블루프린트 다운로드
JSON 파일을 Make.com에 임포트하면 시나리오가 자동 생성됩니다
댓글 · 질문 (0)
로그인 후 댓글을 작성할 수 있습니다.