API가 뭔지 몰라도 문자 보내는 앱을 만들었다 — 코드 1시간, 심사 1주의 현실

AI 코딩 시작하기··8분 읽기·

API가 뭔지 몰라도 문자 보내는 앱을 만들었다 — 코드 1시간, 심사 1주의 현실

비개발자 API 연동 — SOLAPI SMS 카카오톡 알림톡 실전 가이드

"API 연동" — 이 단어만 보면 닫고 싶었다

Echo Mail이라는 메일 알림 서비스를 만들면서 문자 발송 기능이 필요해졌어요. 발주 메일이 오면 담당자한테 자동으로 문자를 보내야 하니까요. 근데 검색하면 나오는 건 전부 "API 연동"이라는 말뿐이었습니다.

API가 뭔지부터 막혔어요. 솔직히 무서웠습니다.

결론부터 말하면 — API는 식당 메뉴판 같은 겁니다. SOLAPI라는 문자 발송 서비스가 메뉴판을 내밀고, "이 양식대로 주문하면 문자 보내줄게"라고 하는 거예요. 내가 직접 전화기를 조작하는 게 아니라, 주문서를 넘기면 SOLAPI가 대신 보내주는 구조.

그래서 AI한테 "이 메뉴판 보고 주문서 작성해줘"라고 시켰습니다.

처음 시도 — "문자 보내는 코드 만들어줘"의 결과

첫 프롬프트는 이랬어요:

문자 보내는 코드 만들어줘. SOLAPI 사용해서.

AI가 만들어준 코드는... 작동은 하겠지만 위험한 코드였습니다. 뭐가 위험했냐면:

  • API 키(비밀번호 같은 것)가 코드에 그대로 적혀있었고
  • 에러가 나면 그냥 멈춰버리는 구조였고
  • 개발 중에 진짜 문자가 나갈 수 있는 구조였어요
세 번째가 진짜 무서운 거였습니다. 테스트한다고 버튼 누를 때마다 실제 문자가 나가는 거니까요.

"이렇게 시켜야 쓸 수 있는 코드가 나온다" — 프롬프트를 바꿨더니

여기서 프롬프트 작성법을 배웠어요. AI한테는 내 상황을 전부 알려줘야 합니다:

당신은 Node.js 백엔드 전문가입니다.

Next.js 14 프로젝트에서 SOLAPI SDK를 사용해 SMS/알림톡을 발송하는
모듈을 만들어주세요.

[현재 상태]
- Next.js 14 + TypeScript 프로젝트
- SOLAPI SDK(solapi v5.5.2) 설치 완료
- 환경변수: SOLAPI_API_KEY, SOLAPI_API_SECRET, SOLAPI_SENDER_PHONE

[요구사항]
- SMS 단건 발송 함수
- 에러 핸들링: 잔액 부족, 발신번호 미등록, 수신거부 등 케이스별 처리
- 개발모드(테스트) / 운영모드 분기 ← 이게 핵심!

[제약조건]
- API 키는 반드시 환경변수에서 읽을 것
- 개발 중엔 실제 문자 안 나가게 할 것

차이가 뭔지 보이시나요?

항목 첫 번째 프롬프트 바꾼 프롬프트
역할 부여 없음 "Node.js 백엔드 전문가"
현재 상태 없음 기술 스택, 설치된 SDK 버전
에러 처리 없음 잔액 부족, 수신거부 등 케이스별
테스트 안전장치 없음 개발/운영 모드 분기
"역할 + 상태 + 요구사항 + 제약조건" 이 네 가지를 넣으니까, AI가 진짜 배포해도 되는 수준의 코드를 만들어줬어요.

테스트모드 — 개발 중 실수로 문자가 나가는 걸 막는 장치

바꾼 프롬프트로 받은 코드에는 이런 안전장치가 있었습니다:

환경변수 ENABLE_REAL_NOTIFICATIONS 값이 'true'일 때만
실제 문자가 발송됩니다.

개발 중에는 이 값을 설정하지 않으면,
문자가 실제로 나가지 않고 "가짜 발송 완료" 로그만 찍힙니다.

이걸 넣어달라고 한 이유가 있어요. 처음에 테스트하면서 진짜 문자가 나갈 뻔한 적이 있었거든요. 테스트할 때마다 실제 문자가 나가면 안 되잖아요.

AI한테 "더 간단하게 해달라"고 피드백한 사이클

처음에 AI가 문자 발송 인증을 직접 만들어줬어요. HMAC-SHA256이라는 암호화 서명을 매번 생성하는 방식이었는데, 코드가 이해가 안 됐습니다. 이건 레스토랑에서 주문할 때마다 신분증 위조 방지 기술을 직접 만드는 것과 비슷한 상황이에요.

그래서 이렇게 피드백했습니다:

지금 API 호출할 때마다 HMAC 서명을 직접 만들고 있는데,
SOLAPI 공식 SDK(solapi v5.5.2)를 쓰면 인증이 자동 처리됩니다.

공식 SDK로 전환해주세요.
기존 함수 이름(sendSMS, getBalance)은 유지하면서
내부 구현만 SDK로 바꿔주세요.

결과:

[전환 전] 서명 생성 코드 20줄 + 매 API 호출마다 수동 인증
     ↓
[전환 후] SDK 한 줄로 인증 자동 처리
이게 피드백 사이클의 핵심이에요. AI가 처음부터 완벽한 코드를 주는 게 아닙니다. "이거 너무 복잡한데, 공식 도구 있지 않아?"라고 물어보면 더 나은 방법을 알려줍니다.

자주 하는 실수 4가지 — 저도 전부 겪었습니다

SOLAPI 연동하면서 실제로 한 실수들이에요:

실수 1: API Secret을 복사할 때 앞뒤 공백 포함 SOLAPI 콘솔에서 Secret을 복사하면 가끔 공백이 붙어요. 눈에 안 보이니까 "인증 실패"만 뜨고 원인을 못 찾습니다. 30분 날렸어요. 실수 2: 발신번호 등록에 서류가 필요한 걸 모름 "발신번호 등록하면 바로 쓸 수 있겠지" — 아닙니다. 사업자등록증이나 통신서비스 이용증명원을 제출해야 하고, 승인에 1~2 영업일 걸립니다. 실수 3: SMS/LMS 구분을 모름 한글 45자(90바이트)가 넘으면 SMS가 아니라 LMS로 바뀝니다. 가격이 3배. AI한테 "자동 판별해줘"라고 안 했으면 모르고 비싼 LMS로 보내고 있었을 거예요. 실수 4: 카카오 알림톡 심사가 이렇게 오래 걸리는 줄 모름 이게 제일 충격이었어요. 아래 표를 보시면:
단계 실제 소요 시간
카카오 비즈니스 채널 만들기 10분
SOLAPI에 채널 연동 신청 10분
카카오 심사 승인 대기 약 1주
알림톡 템플릿 등록 30분
템플릿 심사 대기 1~3 영업일
코드 구현 (AI한테 시킴) 1시간
코드 1시간 vs 심사 약 1주. 비개발자가 가장 예상 못 하는 부분이에요. "주말에 만들어야지"라고 계획하면 코드는 주말에 끝나는데, 실제로 문자/카카오톡이 나가려면 그 다음 주까지 기다려야 합니다.

비용 최적화 — 카카오톡 우선, SMS 자동 전환

문자 서비스는 공짜가 아니에요. 메시지 한 건마다 비용이 나갑니다. 종류별로 가격이 다른데:

메시지 종류 비용 수준
SMS (한글 45자 이하) 기본
LMS (한글 45자 초과) SMS의 약 3배
카카오 알림톡 SMS보다 저렴
카카오 친구톡 SMS와 비슷
그래서 "카카오 알림톡으로 먼저 보내고, 실패하면 SMS로 보내라"는 프롬프트를 추가했어요. 알림톡이 더 저렴하니까, 성공률이 높을수록 월 비용이 줄어듭니다.

AI한테 이 비용 구조를 알려주고 "알림톡 우선 발송 + SMS 자동 전환" 로직을 시켰더니, 비용 최적화까지 알아서 해줬어요.

돌아보면 — API는 생각보다 무서운 게 아니었다

"API 연동"이라는 말에 겁먹을 필요 없었어요. 실제로 해보니:

  • API는 그냥 메뉴판이었고
  • AI한테 "이 메뉴판 보고 주문서 작성해줘"라고 시키면 됐고
  • 진짜 시간이 걸리는 건 코드가 아니라 심사와 서류였습니다
다만 AI한테 시킬 때 "만들어줘" 한 마디로는 위험한 코드가 나옵니다. "역할 + 상태 + 요구사항 + 제약조건"을 넣어야 실제로 쓸 수 있는 코드가 나와요. 특히 테스트모드 분기는 반드시 넣으세요. 개발 중에 진짜 문자가 나가면 돈도 돈이지만, 고객한테 테스트 문자가 가는 게 더 큰 문제니까요.

다음에는 이 문자 발송에서 겪은 중복 발송 버그 이야기를 쓸 예정이에요. 같은 문자가 3번씩 나가서 15번 고친 이야기인데... 그건 다음 글에서.

공유

댓글