# n8n-nodes-naver-sms

네이버 클라우드 SENS를 통해 **SMS/LMS/MMS**를 전송하는 n8n 커뮤니티 노드입니다.

## ✨ 기능

- **SMS** (90바이트 이하): 단문 메시지 전송
- **LMS** (2,000바이트 이하): 장문 메시지 전송 (제목 포함 가능)
- **MMS** (2,000바이트 + 이미지): 멀티미디어 메시지 전송 (제목 포함 가능)
- **입력 검증**: 전화번호 형식, 메시지 길이 자동 검증
- **에러 처리**: 상세한 에러 메시지 및 예외 처리

## 📦 설치

```bash
npm install n8n-nodes-naver-sms
```

## 🔧 네이버 클라우드 SENS 설정

1. [네이버 클라우드 플랫폼](https://console.ncloud.com) 로그인
2. **Simple & Easy Notification Service (SENS)** 활성화
3. **SMS 서비스** 생성 및 **Service ID** 확인
4. **API Key 관리**에서 **Access Key**와 **Secret Key** 발급
5. **발신번호 등록** (사전 인증 필요)

## 🚀 사용법

### 1. Credential 설정
n8n에서 **Naver SENS API** credential을 생성하고 다음 정보를 입력:

- **Access Key**: 네이버 클라우드에서 발급받은 Access Key
- **Secret Key**: 네이버 클라우드에서 발급받은 Secret Key  
- **Service ID**: SENS SMS 서비스의 Service ID
- **From (발신번호)**: 사전 등록된 발신번호 (예: 01012345678)

### 2. 워크플로우에서 사용
1. **Naver SENS SMS** 노드를 워크플로우에 추가
2. 생성한 credential 선택
3. 메시지 설정:
   - **Message Type**: SMS, LMS, MMS 중 선택
   - **To (수신번호)**: 수신 전화번호 (하이픈 없이)
   - **Content**: 메시지 내용
   - **Subject**: LMS/MMS용 제목 (선택사항)
4. 실행!

### 3. 예시
```javascript
// SMS 전송
{
  "type": "SMS",
  "to": "01098765432",
  "content": "안녕하세요! 테스트 메시지입니다."
}

// LMS 전송 (제목 포함)
{
  "type": "LMS", 
  "to": "01098765432",
  "subject": "중요 공지",
  "content": "안녕하세요. 긴 메시지 내용입니다..."
}
```

## 🛠 개발

### 환경 설정
```bash
# 의존성 설치
npm install

# 빌드
npm run build

# 개발 모드 (자동 빌드)
npm run dev
```

### 로컬 개발 테스트
```bash
# 환경변수 설정 (개발용)
export N8N_CUSTOM_EXTENSIONS=/절대경로/n8n-nodes-naver-sms/dist

# n8n 실행
n8n start
```

### npm 배포
```bash
# 패키지 배포 (자동으로 빌드 후 배포)
npm publish
```

## 📋 주의사항

- **발신번호**는 네이버 클라우드에서 사전에 등록 및 인증이 필요합니다
- **SMS**: 90바이트(한글 45자) 이하
- **LMS**: 2,000바이트(한글 1,000자) 이하  
- **전화번호**: 하이픈 없이 숫자만 입력 (01012345678 형식)
- **과금**: 네이버 클라우드 SENS 요금제에 따라 과금됩니다

## 🔍 문제 해결

### 인증 오류
- Access Key, Secret Key가 올바른지 확인
- Service ID가 정확한지 확인
- 발신번호가 등록되어 있는지 확인

### 전송 실패
- 수신번호 형식이 올바른지 확인 (01012345678)
- 메시지 길이가 제한을 초과하지 않았는지 확인
- 네이버 클라우드 계정 잔액 확인

## �� 라이선스

MIT License