# 문자전송

## 1. SendSMS - 단문 전송

최대 90byte의 단문(SMS) 메시지 1건 전송을 팝빌에 접수합니다.

- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

```java
String sendSMS(String CorpNum, String Sender, String SenderName, String Receiver, String ReceiverName, String Content, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
- Receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
- ReceiverName `type: String` `length: 70` `required: N` `description: 수신자명`
- Content `type: String` `length: 90` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 2. SendSMS - 단문 전송 (동보/대량전송)

최대 90byte의 단문(SMS) 메시지 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)

- 모든 수신자에게 동일한 내용을 전송하거나(동보전송), 수신자마다 개별 내용을 전송할 수 있습니다(대량전송).

```java
String sendSMS(String CorpNum, String Sender, String SenderName, String Content, Message[] Messages, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: N` `description: 발신번호`
  - 동보전송 경우 사용
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
  - 동보전송 경우 사용
- Content `type: String` `length: 90` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
  - 동보전송 경우 필수
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Messages `type: Message[ ]` `length: -` `required: Y` `description: 문자 정보`
  - 최대 : 1,000개
  - sender `type: String` `length: 20` `required: N` `description: 발신번호`
    - 대량전송 경우 사용
  - senderName `type: String` `length: 70` `required: N` `description: 발신자명`
    - 대량전송 경우 사용
  - receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
  - receiverName `type: String` `length: 70` `required: N` `description: 수신자명`
  - content `type: String` `length: -` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
    - 대량전송 경우 필수
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대량전송 경우 사용
    - 메시지 길이가 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 3. SendLMS - 장문 전송

최대 2,000byte의 장문(LMS) 메시지 1건 전송을 팝빌에 접수합니다.

- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

```java
String sendLMS(String CorpNum, String Sender, String SenderName, String Receiver, String ReceiverName, String Subject, String Content, Date ReserveDT, Boolean AdsYN, String UserID, String requestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: Y` `description: 발신번호`
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
- Receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
- ReceiverName `type: String` `length: 70` `required: N` `description: 수신자명`
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Content `type: String` `length: 2000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 4. SendLMS - 장문 전송 (동보/대량전송)

최대 2,000byte의 장문(LMS) 메시지 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)

- 모든 수신자에게 동일한 내용을 전송하거나(동보전송), 수신자마다 개별 내용을 전송할 수 있습니다(대량전송).

```java
String sendLMS(String CorpNum, String Sender, String SenderName, String Subject, String Content, Message[] Messages, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: N` `description: 발신번호`
  - 동보전송 경우 사용
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
  - 동보전송 경우 사용
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 동보전송 경우 사용
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Content `type: String` `length: 2000` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
  - 동보전송 경우 필수
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Messages `type: Message[ ]` `length: -` `required: Y` `description: 문자 정보`
  - 최대 : 1,000개
  - sender `type: String` `length: 20` `required: N` `description: 발신번호`
    - 대량전송 경우 사용
  - senderName `type: String` `length: 70` `required: N` `description: 발신자명`
    - 대량전송 경우 사용
  - receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
  - receiverName `type: String` `length: 70` `required: N` `description: 수신자명`
  - content `type: String` `length: -` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
    - 대량전송 경우 필수
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대량전송 경우 사용
    - 메시지 길이가 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 5. SendMMS - 포토문자 전송

최대 2,000byte의 메시지와 이미지로 구성된 포토문자(MMS) 1건 전송을 팝빌에 접수합니다.\
※ 이미지 파일 포맷/규격 : 최대 300Kbyte(JPEG, JPG), 가로/세로 1,000px 이하 권장

- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

```java
String sendMMS(String CorpNum, String Sender, String SenderName, String Receiver, String ReceiverName, String Subject, String Content, File File, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: Y` `description: 발신번호`
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
- Receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
- ReceiverName `type: String` `length: 70` `required: N` `description: 수신자명`
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Content `type: String` `length: 2000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- File `type: File` `length: -` `required: Y` `description: 전송 이미지 파일`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 6. SendMMS - 포토문자 전송 (동보/대량전송)

최대 2,000byte의 메시지와 이미지로 구성된 포토문자(MMS) 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)\
※ 이미지 파일 포맷/규격 : 최대 300Kbyte(JPEG), 가로/세로 1,000px 이하 권장

- 모든 수신자에게 동일한 내용을 전송하거나(동보전송), 수신자마다 개별 내용을 전송할 수 있습니다(대량전송).

```java
String sendMMS(String CorpNum, String Sender, String SenderName, String Subject, String Content, Message[] Messages, File File, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: N` `description: 발신번호`
  - 동보전송 경우 사용
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
  - 동보전송 경우 사용
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 동보전송 경우 입력
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Content `type: String` `length: 2000` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
  - 동보전송 경우 필수
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Messages `type: Message[ ]` `length: -` `required: Y` `description: 문자 정보`
  - 최대 : 1,000개
  - sender `type: String` `length: 20` `required: N` `description: 발신번호`
    - 대량전송 경우 사용
  - senderName `type: String` `length: 70` `required: N` `description: 발신자명`
    - 대량전송 경우 사용
  - receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
  - receiverName `type: String` `length: 70` `required: N` `description: 수신자명`
  - content `type: String` `length: -` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
    - 대량전송 경우 필수
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대량전송 경우 사용
    - 메시지 길이가 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- File `type: File` `length: -` `required: Y` `description: 전송 이미지 파일`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 7. SendMMSBinary - 포토문자 전송 (바이너리)

최대 2,000byte의 메시지와 바이너리 형식의 이미지 데이터로 구성된 포토문자(MMS) 1건 전송을 팝빌에 접수합니다.\
※ 이미지 파일 포맷/규격 : 최대 300Kbyte(JPEG, JPG), 가로/세로 1,000px 이하 권장

- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

```java
String sendMMSBinary(String CorpNum, String Sender, String SenderName, String Receiver, String ReceiverName, String Subject, String Content, Attachment File, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: Y` `description: 발신번호`
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
- Receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
- ReceiverName `type: String` `length: 70` `required: N` `description: 수신자명`
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목`
  - 단위 : byte
- Content `type: String` `length: 2000` `required: Y` `description: 메시지 내용`
  - 한글, 한자, 특수문자 2byte / 영문, 숫자, 공백 1byte
- File `type: Attachment` `length: -` `required: Y` `description: 전송 이미지 파일 정보`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하
  - fileName `type: String` `length: 255` `required: Y` `description: 전송 이미지 파일명`
  - fileData `type: InputStream` `length: -` `required: Y` `description: 전송 이미지 파일의 바이너리 데이터`
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 8. SendMMSBinary - 포토문자 전송 (바이너리 동보/대량전송)

최대 2,000byte의 메시지와 바이너리 형식의 이미지 데이터로 구성된 포토문자(MMS) 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)\
※ 이미지 파일 포맷/규격 : 최대 300Kbyte(JPEG), 가로/세로 1,000px 이하 권장

- 모든 수신자에게 동일한 내용을 전송하거나(동보전송), 수신자마다 개별 내용을 전송할 수 있습니다(대량전송).

```java
String sendMMSBinary(String CorpNum, String Sender, String SenderName, String Subject, String Content, Message[] Messages, Attachment File, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: N` `description: 발신번호`
  - 동보전송 경우 사용
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
  - 동보전송 경우 사용
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 단위 : byte`
  - 동보전송 경우 사용
- Content `type: String` `length: 2000` `required: 조건부` `description: 메시지 내용`
  - 동보전송 경우 필수 한글, 한자, 특수문자 2byte / 영문, 숫자, 공백 1byte
- Messages `type: Message[ ]` `length: -` `required: Y` `description: 문자 정보`
  - 최대 : 1,000개
  - sender `type: String` `length: 20` `required: N` `description: 발신번호`
    - 대량전송 경우 사용
  - senderName `type: String` `length: 70` `required: N` `description: 발신자명`
    - 대량전송 경우 사용
  - receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
  - receiverName `type: String` `length: 70` `required: N` `description: 수신자명`
  - content `type: String` `length: -` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
    - 대량전송 경우 필수
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대량전송 경우 사용
    - 메시지 길이가 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- File `type: Attachment` `length: -` `required: Y` `description: 전송 이미지 파일 정보`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하
  - fileName `type: String` `length: 255` `required: Y` `description: 전송 이미지 파일명`
  - fileData `type: InputStream` `length: -` `required: Y` `description: 전송 이미지 파일의 바이너리 데이터`
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 9. SendXMS - 단문/장문 자동인식 전송

메시지 길이(90byte)에 따라 단문/장문(SMS/LMS)을 자동으로 인식하여 1건의 메시지 전송을 팝빌에 접수합니다.

- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

```java
String sendXMS(String CorpNum, String Sender, String SenderName, String Receiver, String ReceiverName, String Subject, String Content, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: Y` `description: 발신번호`
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
- Receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
- ReceiverName `type: String` `length: 70` `required: N` `description: 수신자명`
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Content `type: String` `length: 2000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 10. SendXMS - 단문/장문 자동인식 전송 (동보/대량전송)

메시지 길이(90byte)에 따라 단문/장문(SMS/LMS)을 자동으로 인식하여 다수건의 메시지 전송을 팝빌에 접수합니다. (최대 1,000건)

- 모든 수신자에게 동일한 내용을 전송하거나(동보전송), 수신자마다 개별 내용을 전송할 수 있습니다(대량전송).

```java
String sendXMS(String CorpNum, String Sender, String SenderName, String Subject, String Content, Message[] Messages, Date ReserveDT, Boolean AdsYN, String UserID, String RequestNum) throws PopbillException
```

> 발신번호는 사전에 팝빌에 등록된 번호만 사용할 수 있습니다. [\[참고\] 발신번호 사전등록](https://developers.popbill.com/guide/sms/introduction/sender-number)\
> [\[GetSenderNumberMgtURL-발신번호 등록 팝업 URL\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberMgtURL) 또는 [\[GetSenderNumberList-발신번호 목록 확인\]](https://developers.popbill.com/reference/sms/java/api/sendnum#GetSenderNumberList) 를 호출하여 발신번호 등록 내역을 확인할 수 있습니다.\
> 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류가 반환됩니다.

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- Sender `type: String` `length: 20` `required: N` `description: 발신번호`
  - 동보전송 경우 사용
- SenderName `type: String` `length: 70` `required: N` `description: 발신자명`
  - 동보전송 경우 사용
- Subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 동보전송 경우 입력
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Content `type: String` `length: 2000` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
  - 동보전송 경우 필수
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- Messages `type: Message[ ]` `length: -` `required: Y` `description: 문자 정보`
  - 최대 : 1,000개
  - sender `type: String` `length: 20` `required: N` `description: 발신번호`
    - 대량전송 경우 사용
  - senderName `type: String` `length: 70` `required: N` `description: 발신자명`
    - 대량전송 경우 사용
  - receiver `type: String` `length: 20` `required: Y` `description: 수신번호`
  - receiverName `type: String` `length: 70` `required: N` `description: 수신자명`
  - content `type: String` `length: -` `required: 조건부` `description: 메시지 내용 (단위 : byte)`
    - 대량전송 경우 필수
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - subject `type: String` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대량전송 경우 사용
    - 메시지 길이가 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: String` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- ReserveDT `type: Date` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- AdsYN `type: Boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`
- RequestNum `type: String` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

### 응답

String - 요청에 대한 접수번호(receiptNum)

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 11. CancelReserve - 예약전송 전체 취소

팝빌에서 반환받은 접수번호로 예약된 문자를 전송 취소합니다. (예약시간 10분 전까지 가능)

```java
Response cancelReserve(String CorpNum, String ReceiptNum, String UserID) throws PopbillException
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- ReceiptNum `type: String` `length: 18` `required: Y` `description: 팝빌에서 할당한 접수번호`
  - 문자 예약전송 요청의 반환값
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`

### 응답

**Response**

- code `type: long` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: String` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 12. CancelReservebyRCV - 예약전송 부분 취소

팝빌에서 반환받은 접수번호로 접수 건을 식별하여 수신번호에 예약된 문자를 전송 취소합니다. (예약시간 10분 전까지 가능)

```java
Response cancelReservebyRCV(String CorpNum, String ReceiptNum, String ReceiveNum, String UserID) throws PopbillException
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- ReceiptNum `type: String` `length: 18` `required: Y` `description: 팝빌에서 할당한 접수번호`
  - 문자 예약전송 요청의 반환값
- ReceiveNum `type: String` `length: 20` `required: Y` `description: 예약전송 수신번호`
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`

### 응답

**Response**

- code `type: long` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: String` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 13. CancelReserveRN - 예약전송 전체 취소 (요청번호)

파트너가 할당한 요청번호로 예약된 문자를 전송 취소합니다. (예약시간 10분 전까지 가능)

```java
Response cancelReserveRN(String CorpNum, String RequestNum, String UserID) throws PopbillException
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- RequestNum `type: String` `length: 36` `required: Y` `description: 파트너가 할당한 요청번호`
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`

### 응답

**Response**

- code `type: long` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: String` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`

## 14. CancelReserveRNbyRCV - 예약전송 부분 취소 (요청번호)

파트너가 할당한 요청번호로 접수 건을 식별하여 수신번호에 예약된 문자를 전송 취소합니다. (예약시간 10분 전까지 가능)

```java
Response cancelReserveRNbyRCV(String CorpNum, String RequestNum, String ReceiveNum, String UserID) throws PopbillException
```

### 요청

**Parameters**

- CorpNum `type: String` `length: 10` `required: Y` `description: 팝빌회원 사업자번호 ('-' 제외)`
- RequestNum `type: String` `length: 36` `required: Y` `description: 파트너가 할당한 요청번호`
- ReceiveNum `type: String` `length: 20` `required: Y` `description: 예약전송 수신번호`
- UserID `type: String` `length: 50` `required: N` `description: 팝빌회원 아이디`

### 응답

**Response**

- code `type: long` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: String` `length: -` `description: API 처리에 대한 응답메시지`

### 예외

**PopbillException**

- code `type: long` `length: -` `description: API 처리 실패에 대한 오류코드`
  - 음의 정수 8자리 숫자값 [\[참고\] 오류코드](https://developers.popbill.com/error-code)
- message `type: String` `length: -` `description: API 처리 실패에 대한 오류메시지`
