콘텐츠로 이동

SMS / 이메일 / 카카오 알림톡 API 가이드

2026-04-11 최초 조사 (알리고 중심). 2026-04-21 갱신: NCP SENS 추가, Cloudflare Workers 호환성, 추상화 레이어 패턴.


공급자 선택 기준 (2026-04-21 정리)

환경별 추천

환경 1순위 이유
일반 Node.js 서버 SOLAPI 공식 SDK 편의성, UI 최고
Cloudflare Workers NCP SENS 또는 알리고 REST 직접 호출 필수 (SOLAPI SDK는 "Server Side Only")
무료 테스트 극대화 NCP SENS 신규 10만 크레딧 + 월 50건 기본 무료
가격 최저 알리고 단문 8.4원, 충전식
대기업용 안정성 NCP SENS 네이버 인프라

결정 트리

Cloudflare Workers 쓰나?
├─ YES → SDK 못 쓰니 REST 방식 공급자 → NCP SENS (1순위) / 알리고 (백업)
└─ NO  → SDK 편의성 중요? → SOLAPI
         → 가격 민감? → 알리고
         → 무료 테스트 많이? → NCP SENS

1. 네이버 클라우드 SENS (Naver Cloud Simple Easy Notification Service) ⭐ 2026-04-21 1순위

사이트: https://www.ncloud.com/v2/product/applicationService/sens API 문서: https://api.ncloud-docs.com/docs/ai-application-service-sens-smsv2 발신번호 가이드: https://guide.ncloud-docs.com/docs/sens-callingno

가격 (VAT 별도)

종류 가격
SMS 단문 (월 50건 무료 포함) 초과분 9원
LMS / MMS / 알림톡 콘솔 요금계산기 (공식 페이지에 명시 없음)

무료 크레딧

  • 신규 가입 시 10만 크레딧 (기존 가입자는 해당 없음)
  • 매월 SMS 단문 50건 기본 무료 (가입 시점 무관)
  • 유효기간 있음

가입 요건

  • 개인도 본인인증으로 가능 (사업자등록증 없이도 OK)
  • 법인은 사업자등록증 서류인증
  • 결제수단 등록 필수 (등록 전엔 "서비스 이용 불가 계정" 상태)
  • 발신번호 등록: 심사 영업일 3~4일

API 특징 (Cloudflare Workers 호환)

  • REST + HMAC-SHA256 시그니처 v2
  • 공식 Node.js SDK 없음 (REST 직접 호출이 표준)
  • Workers의 crypto.subtle.sign으로 HMAC 생성
  • stringToSign: "{method} {uri}\n{timestamp}\n{accessKey}"
  • 필수 헤더 3개: x-ncp-apigw-timestamp, x-ncp-iam-access-key, x-ncp-apigw-signature-v2

실제 구현 참고

  • 우리집 CRM: D:\Sites\woori-crm\src\lib\providers\ncp-sens.ts

2. 알리고 (Aligo) — 2026-04-21 백업 옵션

사이트: https://smartsms.aligo.in API 문서: https://smartsms.aligo.in/admin/api/spec.html

가격 (VAT 별도)

종류 글자 수 단가
단문 (SMS) 90자 이내 8.4원 (업계 최저)
장문 (LMS) 2,000자 이내 약 25원
사진문자 (MMS) 2,000자 + 이미지 60원
카카오 알림톡 1,000자 6.5원
카카오 브랜드메시지 400자 + 이미지 19.9원

충전

  • 선불 충전 (월정액 없음, 쓴 만큼만)
  • 최소 5만원부터 (5만/10만/30만/50만/100만)
  • 유효기간: 5년
  • 발송 실패 시 자동 환불, 미사용분 환불 가능

가입 요건

  • 사업자: 사업자등록번호 + 대표자 본인인증 + 사업자등록증 첨부
  • 개인도 가입 가능 (세금계산서 미발행)
  • 발신번호 등록 필수 (사이트에서 미리 등록)

API 특징 (Cloudflare Workers 호환)

  • REST + API Key 방식 (HMAC 불필요 → 가장 단순)
  • FormData POST로 발송
  • 동일 내용 1,000명 동시 / 개별 내용 500명 동시 발송

언제 고려하나

  • NCP SENS에 문제 있을 때 백업
  • 단문 대량 발송 위주 (가격 최저)
  • 카카오 알림톡 가격 6.5원 (우리집 CRM 대안)

3. SOLAPI (솔라피)

사이트: https://solapi.com/ GitHub: https://github.com/solapi

가격

  • SMS 단문: 13원 (다른 곳보다 약 50% 비쌈)
  • 무료 체험: 300포인트 (SMS 약 23건)

강점

  • 공식 Node.js SDK (TypeScript, v6.0.1 2026-04-20 최신)
  • 카카오 알림톡 + 네이버 톡톡 + RCS 통합
  • 콘솔 UX 최고

⚠️ Cloudflare Workers 비호환 이슈 (2026-04-21 발견)

  • 공식 SDK가 "Server Side Only"로 명시
  • Workers에서 SDK 직접 사용 불가
  • REST API는 제공하지만 SDK 이점 못 누림

언제 선택하나

  • 일반 Node.js 서버 환경
  • 콘솔에서 마케팅 관리자도 직접 조작

4. 다른 서비스 비교

서비스 단문 장문 MMS 알림톡 특징
NCP SENS 9원 콘솔 확인 콘솔 확인 콘솔 확인 10만 크레딧, Workers 호환
알리고 8.4원 25원 60원 6.5원 최저가, 장문 저렴
SOLAPI 13원 30원대 - 지원 SDK 최고, Workers 비호환
뿌리오 8.2원 39원 78원 - 단문 싸지만 장문 비쌈
문자나라 6.5~8원 24원 58원 - 최저가, 기능 제한
KT 크로샷 10~15원 30원 88원 - 안정성, 비쌈
Twilio ≈11원 - - 한국은 국제 SMS 처리, 알림톡 X

5. 카카오 알림톡 (공급자 공통)

문자 대신 카카오톡으로 보내는 방식. 개봉률 90% + SMS보다 저렴.

준비물

  • 카카오 채널 필수 (https://center-pf.kakao.com)
  • 선택한 공급자(알리고/NCP/솔라피 등)에서 채널 인증 연동
  • 관리자 휴대폰으로 카카오 인증메시지 수신

템플릿 심사

  • 메시지 문구를 미리 등록 → 카카오 심사 (4~5영업일)
  • 승인된 템플릿만 발송 가능
  • 반려 시 수정 후 재심사

변수 치환

  • 템플릿 안에 #{변수명} 으로 고객별 데이터 삽입
  • 예: #{호칭}, #{미팅날짜} #{미팅시간} 상담이 확정되었습니다
  • 정해진 구조 외 자유 문구 불가 (그건 SMS/LMS로)

알림톡 vs 브랜드메시지

구분 알림톡 브랜드메시지
대상 누구에게나 채널 친구만
용도 정보성 (안내, 확인) 광고성 + 정보성
이미지 불가 가능
단가(알리고) 6.5원 19.9원

대체 발송

  • 알림톡 실패 시 (카톡 미설치 등) → SMS/LMS 자동 대체 발송 옵션

6. 이메일 발송 - Resend

사이트: https://resend.com

가격

  • 무료: 하루 100건, 월 3,000건 (카드 등록 불필요)
  • Pro: $20/월 (월 50,000건)

사용법

  • API 키 발급 → HTTP POST로 발송
  • 발신 도메인 DNS 인증 (SPF, DKIM)
  • Cloudflare Workers 호환 (REST, fetch만 쓰면 됨)

7. Cloudflare (서버/DB) 무료 한도

항목 무료 한도
Workers (서버) 10만 요청/일
D1 (DB) 저장 5GB
D1 읽기 500만 건/일
D1 쓰기 10만 건/일
R2 (파일) 저장 10GB

14명 직원 + 수천 건 데이터 규모에서는 무료 한도의 1%도 안 씀.


추상화 레이어 패턴 (2026-04-21 도입)

문제

  • 공급자마다 API 인증 방식·요청 구조 다름
  • 공급자 갈아타려면 호출부 코드 수정 필요
  • 공급자별 제약사항(SOLAPI Server-Only 등) 나중에 발견되면 대형 작업

해결: 인터페이스 추상화

// src/lib/sms.ts — 공급자 무관 인터페이스
export interface SMSProvider {
  sendSMS(to: string, content: string, options?): Promise<SMSResult>;
  sendLMS(to: string, subject: string, content: string, options?): Promise<SMSResult>;
  sendAlimTalk(to: string, templateCode: string, variables, options?): Promise<SMSResult>;
}

// src/lib/providers/ncp-sens.ts — NCP 구현
export class NCPSensProvider implements SMSProvider { ... }

// src/lib/providers/aligo.ts — 알리고 구현
export class AligoProvider implements SMSProvider { ... }

// 호출부는 공급자 무관
const sms = await createSMSProvider(env);
await sms.sendSMS("010-xxxx", "문자 내용");

// 전환은 env 변수만 변경
// env.SMS_PROVIDER: "ncp" → "aligo" → 재배포 끝

효과

  • 공급자 전환 1일 내 가능 (호출부 코드 수정 0)
  • 실 배포 후에도 공급자 백업·재선정 가능
  • 테스트 환경·운영 환경에서 다른 공급자 써볼 수 있음

조합 예시

우리집 CRM 2026-04-21 현행

Cloudflare Workers + D1 (무료) + R2 (파일) + Resend (무료) + NCP SENS (1순위) + 알리고 (백업)

= 서버/DB/이메일/파일 저장 무료, 문자만 건당 비용 (월 수천 원 예상)

대안

  • 일반 호스팅 서버 + Supabase + Resend + SOLAPI
  • AWS Lambda + RDS + SES + Twilio

관련 학습 자료

  • study/25-db-migration-basics.md — 라이브 DB 스키마 변경
  • study/09-cloudflare-pages-배포가이드.md
  • study/cloudflare-pages-functions.md
  • 메모리 sms-provider-ncp-sens-decision.md — 우리집 CRM SMS 결정
  • 메모리 aligo-sms-research.md — 알리고 상세