# 문자전송

## 1. SendSMS - 단문 단건전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/SMS> | <https://popbill.linkhub.co.kr/SMS> |

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

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
- content `type: string` `length: 90` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url https://{domain}/SMS \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "snd": "16008536",
    "msgs": [
        {
            "rcv": "01012345678"
        }
    ],
    "content": "메시지 내용"
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 2. SendSMS - 단문 대량전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/SMS> | <https://popbill.linkhub.co.kr/SMS> |

- 최대 90byte의 단문(SMS) 메시지 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)
- 수신자마다 개별 내용을 전송합니다. (대량전송)

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - msg `type: string` `length: -` `required: Y` `description: 메시지 내용 (단위 : byte)`
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url https://{domain}/SMS \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "msgs": [
        {
            "snd": "16008536",
            "rcv": "01012345678",
            "msg": "메시지 내용"
        }
    ]
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 3. SendSMS - 단문 동보전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/SMS> | <https://popbill.linkhub.co.kr/SMS> |

- 최대 90byte의 단문(SMS) 메시지 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)
- 모든 수신자에게 동일한 내용을 전송합니다. (동보전송)

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- content `type: string` `length: 90` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url https://{domain}/SMS \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "msgs": [
        {
            "snd": "16008536",
            "rcv": "01012345678"
        }
    ],
    "content": "메시지 내용"
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 4. SendLMS - 장문 단건전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/LMS> | <https://popbill.linkhub.co.kr/LMS> |

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

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
- subject `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- content `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/LMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "snd": "16008536",
    "msgs": [
        {
            "rcv": "01012345678"
        }
    ],
    "content": "메시지 내용"
}'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 5. SendLMS - 장문 대량전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/LMS> | <https://popbill.linkhub.co.kr/LMS> |

- 최대 2,000byte의 장문(LMS) 메시지 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)
- 수신자마다 개별 내용을 전송합니다. (대량전송)

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - msg `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - sjt `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대체문자 내용이 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/LMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "msgs": [
        {
            "snd": "16008536",
            "rcv": "01012345678",
            "msg": "메시지 내용"
        }
    ]
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 6. SendLMS - 장문 동보전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/LMS> | <https://popbill.linkhub.co.kr/LMS> |

- 최대 2,000byte의 장문(LMS) 메시지 다수건 전송을 팝빌에 접수합니다. (최대 1,000건)
- 모든 수신자에게 동일한 내용을 전송합니다. (동보전송)

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- subject `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- content `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/LMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "content": "메시지 내용",
    "msgs": [
        {
            "snd": "16008536",
            "rcv": "01012345678"
        }
    ]
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 7. SendMMS - 포토문자 단건전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/MMS> | <https://popbill.linkhub.co.kr/MMS> |

- 최대 2,000byte의 메시지와 이미지로 구성된 포토문자(MMS) 1건 전송을 팝빌에 접수합니다.\
  ※ 이미지 파일 포맷/규격 : 최대 300Kbyte(JPEG, JPG), 가로/세로 1,000px 이하 권장
- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `multipart/form-data`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- form `type: object` `length: -` `required: Y` `description: 포토문자 전송 정보`
  - snd `type: string` `length: 20` `required: Y` `description: 발신번호`
    - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
  - sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
  - msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
    - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
    - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - subject `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - content `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
    - 형식 : yyyyMMddHHmmss
    - 기본값 : 즉시전송
  - adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
    - `true`: 광고
    - `false`: 일반 : 기본값
    - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
  - requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
    - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
    - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능
- file `type: file` `length: -` `required: Y` `description: 전송 이미지 파일`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/MMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: multipart/form-data' \
  --form 'form="{ \"snd\": \"16008536\", \"msgs\": [ { \"rcv\": \"01012345678\" } ], \"content\": \"메시지 내용\" }"' \
  --form 'file=@"/path/test.jpg"'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 8. SendMMS - 포토문자 대량전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/MMS> | <https://popbill.linkhub.co.kr/MMS> |

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

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `multipart/form-data`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- form `type: object` `length: -` `required: Y` `description: 포토문자 전송 정보`
  - msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
    - snd `type: string` `length: 20` `required: Y` `description: 발신번호`
    - sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
    - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
    - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
    - msg `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위: byte)`
      - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
      - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
    - sjt `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위: byte)`
      - 대체문자 내용이 90byte 초과한 경우에만 적용
      - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
    - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
      - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
  - sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
    - 형식 : yyyyMMddHHmmss
    - 기본값 : 즉시전송
  - adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
    - `true`: 광고
    - `false`: 일반 : 기본값
    - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
  - requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
    - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
    - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능
- file `type: file` `length: -` `required: Y` `description: 전송 이미지 파일`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/MMS' \
  --header 'Authorization: Bearer {token}' \
  --form 'form="{ \"msgs\": [ { \"snd\": \"16008536\", \"rcv\": \"01012345678\" } ], \"content\": \"메시지 내용\" }"' \
  --form 'file=@"/path/test.jpg"'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 9. SendMMS - 포토문자 동보전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/MMS> | <https://popbill.linkhub.co.kr/MMS> |

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

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `multipart/form-data`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- form `type: object` `length: -` `required: Y` `description: 포토문자 전송 정보`
  - snd `type: string` `length: 20` `required: Y` `description: 발신번호`
    - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
  - sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
  - msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
    - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
    - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
    - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
      - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
  - subject `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - content `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
    - 형식 : yyyyMMddHHmmss
    - 기본값 : 즉시전송
  - adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
    - `true`: 광고
    - `false`: 일반 : 기본값
    - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
  - requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
    - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
    - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능
- file `type: file` `length: -` `required: Y` `description: 전송 이미지 파일`
  - 파일형식 : JPG
  - 파일크기: 최대 300KB
  - 사이즈 : 가로/세로 1,000px 이하

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/MMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: multipart/form-data' \
  --form 'form="{ \"snd\": \"16008536\", \"msgs\": [ { \"rcv\": \"01012345678\" } ], \"content\": \"메시지 내용\" }"' \
  --form 'file=@"/path/test.jpg"'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

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

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/XMS> | <https://popbill.linkhub.co.kr/XMS> |

- 메시지 길이(90byte)에 따라 단문/장문(SMS/LMS)을 자동으로 인식하여 1건의 메시지 전송을 팝빌에 접수합니다.
- 팝빌 서비스의 안정적인 제공을 위하여 동시호출이 제한될 수 있습니다.\
  동시에 1,000건 이상 요청하는 경우 동보전송 또는 대량전송 API를 이용하시는 것을 권장합니다.

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
- subject `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- content `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/XMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "snd": "16008536",
    "msgs": [
        {
            "rcv": "01012345678"
        }
    ],
    "content": "메시지 내용"
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 11. SendXMS - 단문/장문 자동인식 대량전송

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/XMS> | <https://popbill.linkhub.co.kr/XMS> |

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

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - msg `type: string` `length: -` `required: Y` `description: 메시지 내용 (단위 : byte)`
    - 단문 : 90byte 이하 / 장문 : 2,000byte 이하
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - sjt `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
    - 대체문자 내용이 90byte 초과한 경우에만 적용
    - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
  - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/XMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "msgs": [
        {
            "snd": "16008536",
            "rcv": "01012345678",
            "msg": "메시지 내용"
        }
    ]
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

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

| HTTP Method | 테스트(Sandbox)                             | 운영(Production)                      |
| ----------- | ---------------------------------------- | ----------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/XMS> | <https://popbill.linkhub.co.kr/XMS> |

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

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**요청 본문**

- snd `type: string` `length: 20` `required: Y` `description: 발신번호`
  - 팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환
- sndnm `type: string` `length: 70` `required: N` `description: 발신자명`
- msgs `type: array` `length: -` `required: Y` `description: 수신자 정보`
  - rcv `type: string` `length: 20` `required: Y` `description: 수신번호`
  - rcvnm `type: string` `length: 70` `required: N` `description: 수신자명`
  - interOPRefKey `type: string` `length: 20` `required: N` `description: 파트너 지정키`
    - 문자 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
- subject `type: string` `length: 64` `required: N` `description: 메시지 제목 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- content `type: string` `length: 2,000` `required: Y` `description: 메시지 내용 (단위 : byte)`
  - 2byte : 한글, 한자, 특수문자 / 1byte : 영문, 숫자, 공백
- sndDT `type: string` `length: 14` `required: N` `description: 전송 예약일시`
  - 형식 : yyyyMMddHHmmss
  - 기본값 : 즉시전송
- adsYN `type: boolean` `length: -` `required: N` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반 : 기본값
  - [\[참고\] 광고메시지 전송방법 안내](https://developers.popbill.com/guide/sms/introduction/ads-duty)
- requestNum `type: string` `length: 36` `required: N` `description: 요청번호`
  - 파트너가 접수 단위를 식별하기 위해 할당하는 관리번호
  - 영문 대소문자, 숫자, 특수문자('-','\_')만 이용 가능

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/XMS' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "msgs": [
        {
            "snd": "16008536",
            "rcv": "01012345678"
        }
    ],
    "content": "메시지 내용"
  }'
```

### Response

**응답 본문**

- receiptNum `type: string` `length: 18` `description: 접수번호`

**응답 예시**

```json
{
    "receiptNum": "025102015544100001"
}
```

## 13. CancelReserve - 예약전송 전체 취소 (접수번호)

| HTTP Method | 테스트(Sandbox)                                                     | 운영(Production)                                              |
| ----------- | ---------------------------------------------------------------- | ----------------------------------------------------------- |
| GET         | <https://popbill-test.linkhub.co.kr/Message/{receiptNum}/Cancel> | <https://popbill.linkhub.co.kr/Message/{receiptNum}/Cancel> |

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**Query 파라미터**

- receiptNum `type: string` `length: 18` `required: Y` `description: 팝빌에서 할당한 접수번호`
  - 문자 예약전송 요청의 반환값

**요청 예시**

```bash
curl --request GET \
  --url 'https://{domain}/Message/{receiptNum}/Cancel' \
  --header 'Authorization: Bearer {token}'
```

### Response

**응답 본문**

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

**응답 예시**

```json
{
    "code": 1,
    "message": "취소 완료"
}
```

## 14. CancelReservebyRCV - 예약전송 부분 취소 (접수번호)

| HTTP Method | 테스트(Sandbox)                                                     | 운영(Production)                                              |
| ----------- | ---------------------------------------------------------------- | ----------------------------------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/Message/{receiptNum}/Cancel> | <https://popbill.linkhub.co.kr/Message/{receiptNum}/Cancel> |

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**Query 파라미터**

- receiptNum `type: string` `length: 18` `required: Y` `description: 팝빌에서 할당한 접수번호`
  - 문자 예약전송 요청의 반환값

**요청 본문**

- receiveNum `type: string` `length: 20` `required: Y` `description: 예약전송 수신번호`

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/Message/{receiptNum}/Cancel' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "receiveNum": "01012345678"
  }'
```

### Response

**응답 본문**

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

**응답 예시**

```json
{
    "code": 1,
    "message": "취소 완료"
}
```

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

| HTTP Method | 테스트(Sandbox)                                                     | 운영(Production)                                              |
| ----------- | ---------------------------------------------------------------- | ----------------------------------------------------------- |
| GET         | <https://popbill-test.linkhub.co.kr/Message/Cancel/{requestNum}> | <https://popbill.linkhub.co.kr/Message/Cancel/{requestNum}> |

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**Query 파라미터**

- requestNum `type: string` `length: 36` `required: Y` `description: 파트너가 할당한 요청번호`

**요청 예시**

```bash
curl --request GET \
  --url 'https://{domain}/Message/Cancel/{requestNum}' \
  --header 'Authorization: Bearer {token}'
```

### Response

**응답 본문**

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

**응답 예시**

```json
{
    "code": 1,
    "message": "취소 완료"
}
```

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

| HTTP Method | 테스트(Sandbox)                                                     | 운영(Production)                                              |
| ----------- | ---------------------------------------------------------------- | ----------------------------------------------------------- |
| POST        | <https://popbill-test.linkhub.co.kr/Message/Cancel/{requestNum}> | <https://popbill.linkhub.co.kr/Message/Cancel/{requestNum}> |

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

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/sms/getting-started/authorization)
- Content-Type `required: Y` `description: 요청 본문 형식`
  - `application/json`
- Accept-Language `required: N` `description: 응답 언어 설정`
  - `ko-KR`: 기본값
  - `en-US`
- Accept-Encoding `required: N` `description: 응답 압축 방식`
  - `gzip`
- X-PB-UserID `required: N` `description: 팝빌회원 아이디`

**Query 파라미터**

- requestNum `type: string` `length: 36` `required: Y` `description: 파트너가 할당한 요청번호`

**요청 본문**

- receiveNum `type: string` `length: 20` `required: Y` `description: 예약전송 수신번호`

**요청 예시**

```bash
curl --request POST \
  --url 'https://{domain}/Message/Cancel/{requestNum}' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "receiveNum": "01012345678"
  }'
```

### Response

**응답 본문**

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

**응답 예시**

```json
{
    "code": 1,
    "message": "취소 완료"
}
```
