Agency / 2026.07
예산 페이싱 + 아침 알림 — 매체 API로 눈검수 없애기
매체 API로 소진·잔액을 수집하고, 페이싱·충전 필요를 판단해 매일 아침 메신저로 보내는 상시 자동화입니다. 실계정으로 수집→판정→발송 전 구간을 관통 검증했습니다.
기획·API 연동·운영 자동화
Metrics
- 실계정 관통 검증: 소진·잔액 수집 → 판정 → 메신저 실발송
- 매일 08:00 상시 실행 (launchd), mock 자동 발송 금지 원칙
- 계정별 오류 격리 — 권한 오류 1건이 전체를 멈추지 않음
- 커넥터 5종: 키 없으면 mock, 키 투입 시 실연동 전환
Stack
Problem
예치금으로 운영되는 매체 광고는 잔액이 떨어지면 캠페인이 그냥 멈춥니다. 이전의 방어책은 매일 아침 사람이 관리자 화면을 눈으로 확인하는 일이었습니다. 반복적이고, 놓치면 바로 광고 중단 사고가 됩니다.
Idea
매일 아침 반복되는 잔액 확인 루틴과 광고 중단 리스크를 보면서, API 수집과 알림 판정을 상시 파이프라인으로 바꾸면 된다고 봤습니다.
Decision
매체 API 커넥터는 자격증명이 없으면 mock으로 동작하고, 키를 넣는 순간 실연동으로 전환되게 설계했습니다. 알림은 '실데이터 입력이 있는 단계만 발송' 원칙을 지켰습니다. mock 데이터로는 절대 자동 발송하지 않습니다. 계정 하나의 권한 오류가 전체 수집을 멈추지 않도록 계정별 오류 격리도 넣었습니다.
Outcome
실계정으로 수집→충전 필요 판정→사내 메신저 실발송까지 검증했고, 매일 아침 8시 상시 실행으로 등록했습니다. 매체 API 권한 구조(라이선스가 관리자 계정 단위라는 것)도 실측으로 확인해 전 광고주 커버 절차까지 문서화했습니다.
문제
예치금 매체 운영의 아침 루틴은 단순하지만 위험합니다. 관리자 화면 로그인 → 계정별 잔액 확인 → 소진 속도 감으로 판단 → 충전 요청. 사람이 하니 매일 시간이 들고, 휴가나 바쁜 날 놓치면 광고가 소리 없이 멈춥니다. 월말 충전 요청이 몰리는 것도 이 수동 체제의 부산물이었습니다.
결정
- 키가 없어도 돌아가게. 커넥터는 자격증명 미설정 시 mock 폴백으로 개발·테스트가 가능하고, 키를 넣는 순간 실연동으로 전환됩니다. 인프라 승인을 기다리느라 개발이 멈추는 구조를 피했습니다.
- mock으로는 발송하지 않는다. 알림은 실데이터가 입력된 단계만 발송 — 가짜 데이터로 만든 진짜 알림만큼 신뢰를 빨리 무너뜨리는 게 없습니다.
- 부분 실패를 설계. 권한 없는 계정(403)은 경고 후 건너뛰고 나머지를 계속 수집합니다. 전부 아니면 전무가 아니라, 오늘 가능한 만큼의 자동화가 매일 도는 것이 목표였습니다.
성과
실계정으로 캠페인 소진·잔액을 수집하고, 충전 필요를 판정해 사내 메신저로 실발송하는 전 구간을 검증한 뒤 매일 아침 8시 상시 실행으로 올렸습니다. 검증 과정에서 매체 API의 권한 모델(통합관리 화면과 달리 API 라이선스는 관리자 계정 단위)을 실측으로 확인했고, 남은 계정을 커버하는 절차를 계정당 몇 분짜리 체크리스트로 문서화했습니다. 자동화의 마지막 조각이 코드가 아니라 절차 문서일 때도 있습니다.