Vol. 27

개발일지

인스타 광고 하나가 시작이었어요 — 카카오 자동발송 만든 이야기

스크롤 하다가 우연히 본 광고가 '나도 이거 만들어볼 수 있겠다'는 생각으로 이어졌어요. 매일 아침 카카오톡으로 일본어 단어가 자동으로 오도록 만든 과정을 정리했습니다.

2026.06.08 · 발신 우체부J


title: "인스타 광고 하나가 시작이었어요 — 카카오 자동발송 만든 이야기" date: "2026-06-08" description: "스크롤 하다가 우연히 본 광고가 '나도 이거 만들어볼 수 있겠다'는 생각으로 이어졌어요. 매일 아침 카카오톡으로 일본어 단어가 자동으로 오도록 만든 과정을 정리했습니다." tags: ["dev", "kakao", "automation", "vercel"] category: "dev"

인스타그램을 스크롤하다가 광고 하나가 눈에 걸렸어요.

"매일 아침 카카오톡으로 일본어 한 문장을 보내드립니다."

처음엔 그냥 넘기려다가, 잠깐 멈췄어요. 저도 일본어를 배워보고 싶다는 생각을 오래 하고 있었거든요. 그러다가 문득 든 생각이 있었어요.

"이거, 내가 직접 만들면 되지 않나?"


원리는 간단했어요. 정해진 시간에 카카오톡 API를 호출해서 메시지를 나에게 보내면 되는 거니까요. Vercel에 배포해서 cron 스케줄을 걸면 매일 자동으로 돌아가고.

생각보다 금방 될 것 같았어요. 그래서 바로 시작했습니다.


근데 역시 생각처럼 되진 않더라고요.

첫 번째 벽은 카카오 API 키 였어요. Vercel 환경변수에 키를 등록했다고 생각했는데, 실제 배포 후에 API를 호출하면 계속 인증 오류가 나는 거예요. vercel env pull로 로컬에 끌어당겨 보면 키 값이 표시는 되는데, 알고 보니 이게 암호화된 변수는 실제 값 대신 빈 문자열로 마스킹해서 보여주는 거였어요. 등록이 된 건지 안 된 건지도 헷갈렸고, 재배포를 몇 번 해서야 겨우 넘어갔습니다.

두 번째 벽은 KOE010 Bad client credentials 에러였어요. 카카오 콘솔에서 클라이언트 시크릿이라는 항목이 "사용함"으로 되어 있으면, API 요청에 secret 값도 같이 보내야 하는데 저는 그냥 키만 보내고 있었던 거예요. 이게 뭔지 모르고 한참 찾다가, 결국 그냥 "사용 안 함"으로 끄면 해결된다는 걸 뒤늦게 알았습니다.

이것저것 막힌 게 있었지만, 결국은 매일 오전 10시에 카카오톡이 오도록 만드는 데 성공했어요.


지금은 매일 아침 일본어 단어 3개랑 예문 하나가 카톡으로 와요. 바쁜 날은 그냥 넘기기도 하지만, 생각보다 습관이 잘 붙더라고요. 카톡 알림이 오면 자연스럽게 눈이 가니까요.

인스타 광고 하나 보고 직접 만들어보게 됐는데, 지금은 실제로 그걸로 공부하고 있어요.

이게 꽤 재밌는 경험이라 기록으로 남겨둡니다.