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-배포가이드.mdstudy/cloudflare-pages-functions.md- 메모리
sms-provider-ncp-sens-decision.md— 우리집 CRM SMS 결정 - 메모리
aligo-sms-research.md— 알리고 상세