SMS · EMAIL 통합 게이트웨이

문자와 이메일 발송,
API 하나로 끝

Solapi 문자와 Resend 이메일을 하나의 API로 통합. 회원가입 후 서비스별 전용 키를 발급받아, 신청 알림·승인 안내·리마인드 발송을 코드 몇 줄로 연동합니다.

운영 · 두온교육 — 출판 및 AI 업무효율화 위탁교육 전문 교육기관
Features

핵심 기능

발송부터 로그 추적까지, 외부 연동에 필요한 기능을 한 번에 제공합니다.

문자 발송 (SMS·LMS)

Solapi 연동, 승인된 발신번호로 즉시 발송. 단건·템플릿 발송 모두 지원.

이메일 발송

Resend 연동, HTML·텍스트 본문 지원. 회신 주소·발신자명 설정 가능.

템플릿 발송

{{변수}} 치환 방식. 승인 안내·리마인드 문구를 템플릿 코드 하나로 재사용.

중복 발송 방지

requestId 기준 멱등 처리. 같은 요청을 다시 보내도 재발송하지 않습니다.

발송·감사 로그

상태·실패 사유 조회, 서비스별 이력 추적. 호출 시각과 결과가 그대로 남습니다.

서비스별 키 관리

채널 권한(sms/email) 분리, 키 교체·비활성화. 서비스마다 독립적으로 관리합니다.

Quickstart

시작 흐름

회원가입부터 첫 발송까지 네 단계.

1

회원가입

이메일 계정으로 회원 콘솔에 가입합니다.

2

키 등록

본인 Solapi·Resend 키를 저장합니다. 서버에 AES-256-GCM으로 암호화 보관됩니다.

3

서비스 생성

홈페이지·LMS 단위로 서비스를 등록하고 전용 API 키를 발급받습니다.

4

API 호출

외부 서비스 백엔드에서 발급받은 키로 발송 엔드포인트를 호출합니다.

API Example

SMS 발송 예시

발급받은 서비스 API 키를 x-service-key 헤더에 넣어 호출합니다. Authorization: Bearer <키> 헤더도 동일하게 동작합니다.

curl
POST /api/v1/messages/sms/send
curl -X POST https://smsapi.duonedu.net/api/v1/messages/sms/send \
  -H "Content-Type: application/json" \
  -H "x-service-key: 발급받은_서비스_API_키" \
  -d '{
    "requestId": "signup-2026-0001",
    "to": "01012345678",
    "text": "[두온교육] 회원가입이 완료되었습니다."
  }'
응답 (200 OK)
response.json
{
  "success": true,
  "requestId": "signup-2026-0001",
  "provider": "SOLAPI",
  "messageId": "...",
  "status": "sent"
}

Use Cases

활용 사례

교육 서비스 운영 흐름에 맞춘 발송 자동화 예시.

교육 신청 접수 알림

신청폼 제출 즉시 담당자·신청자에게 SMS·이메일 알림.

회원가입 승인 안내

승인 처리 완료 시 안내 메일을 템플릿으로 자동 발송.

수강 안내 메일

강의 시작 전 준비물·접속 방법을 이메일로 안내.

강의 리마인드 문자

강의 임박 시각에 맞춰 리마인드 SMS 발송.

Security

보안

원본 키는 회원 설정에만 저장하고, 외부 서비스에는 서비스 전용 키만 발급합니다.

암호화 저장

Solapi·Resend 원본 키를 AES-256-GCM으로 암호화해 서버에 보관.

키 교체·비활성화

유출 의심 시 콘솔에서 즉시 비활성화하고 새 키를 재발급.

중복 발송 방지

requestId 기준 멱등 처리로 같은 요청 재전송 차단.

발송·감사 로그

누가 언제 무엇을 보냈는지 서비스별로 기록·조회.

FAQ

자주 묻는 질문

어떤 발송 채널을 지원하나요?

문자(SMS·LMS)는 Solapi, 이메일은 Resend로 연동해 발송합니다.

Solapi·Resend 원본 키를 외부 서비스에 넣어야 하나요?

아니요. 원본 키는 회원 설정에 암호화 저장하고, 외부 서비스에는 서비스 전용 API 키만 발급해 사용합니다.

같은 요청이 중복 전송되면 어떻게 되나요?

requestId가 같으면 재처리하지 않고 기존 발송 결과를 그대로 반환합니다.

서비스마다 문자·이메일 권한을 다르게 줄 수 있나요?

네. 서비스 생성 시 채널 권한(sms/email)을 각각 설정합니다.

키가 유출된 것 같으면 어떻게 하나요?

회원 콘솔에서 해당 키를 즉시 비활성화한 뒤 새 키를 발급하면 됩니다.

지금 바로 발송 연동을 시작하세요

회원가입부터 첫 발송까지, 코드 몇 줄이면 충분합니다.