# 전송결과

## 1. GetMessages - 카카오톡 전송내역 확인

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

- 팝빌에서 반환받은 접수번호를 통해 알림톡 전송상태 및 결과를 확인합니다.

### Request

**요청 헤더**

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

**Path 파라미터**

- receiptNum `type: string` `length: 18` `required: Y` `description: 팝빌에서 할당한 접수번호`

**요청 예시**

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

### Response

**응답 본문**

- contentType `type: string` `length: -` `description: 카카오톡 유형`
  - `1`: 알림톡
  - `4`: 알림톡 이미지
  - `5`: 알림톡 강조표기
  - `6`: 브랜드 메시지 텍스트
  - `7`: 브랜드 메시지 이미지
  - `8`: 브랜드 메시지 와이드
  - `9`: 브랜드 메시지 리스트
  - `10`: 브랜드 메시지 캐러셀
  - `12`: 브랜드 메시지 커머스
  - `13`: 브랜드 메시지 캐러셀 커머스
- templateCode `type: string` `length: 12` `description: 알림톡 템플릿 코드`
  - 알림톡 전송 시 사용한 코드값
- bmsTemplateCode `type: string` `length: 12` `description: 브랜드 메시지 템플릿 코드`
  - 브랜드 메시지 전송 시 사용한 코드값
- plusFriendID `type: string` `length: 30` `description: 검색용 아이디`
- targeting `type: string` `length: 1` `description: 전송대상`
  - `I`: 채널친구
  - `M`: 전체
  - `N`: 비채널 친구
  - 브랜드 메시지 전송 시 반환
- unsubscribeNo `type: string` `length: 20` `description: 080 수신거부 전화번호`
  - 브랜드 메시지 전송 시 반환
- sendNum `type: string` `length: 20` `description: 발신번호`
- altUnsubscribeNo `type: string` `length: 20` `description: 대체문자 080 수신거부 전화번호`
  - 브랜드 메시지 전송 시 반환
- altSubject `type: string` `length: 64` `description: 대체문자 제목`
  - 단위 : byte
- altContent `type: string` `length: 2,000` `description: 대체문자 내용`
  - 단위 : byte
- altSendType `type: string` `length: 1` `description: 대체문자 유형`
  - `null`: 미전송
  - `C`: 카카오톡과 동일 내용 전송
  - `A`: 대체문자 내용 전송
- reserveDT `type: string` `length: 14` `description: 예약일시`
  - 형식 : yyyyMMddHHmmss
- adsYN `type: boolean` `length: -` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반
- sendCnt `type: string` `length: -` `description: 전송건수`
- successCnt `type: string` `length: -` `description: 성공건수`
- failCnt `type: string` `length: -` `description: 실패건수`
- altCnt `type: string` `length: -` `description: 대체문자 건수`
- cancelCnt `type: string` `length: -` `description: 취소건수`
- btns `type: array` `length: 5` `description: 버튼 목록`
  - n `type: string` `length: 14` `description: 버튼명`
  - t `type: string` `length: 2` `description: 버튼유형`
    - `WL`: 웹링크
    - `AL`: 앱링크
    - `TN`: 전화걸기
    - `DS`: 배송조회
    - `MD`: 메시지전달
    - `BK`: 봇키워드
    - `AC`: 채널추가
  - u1 `type: string` `length: 1,000` `description: 버튼링크`
    - {t} = "AL" 경우 iOS 앱링크 적용
    - {t} = "WL" 경우 Mobile 웹링크 적용
  - u2 `type: string` `length: 1,000` `description: 버튼링크`
    - {t} = "AL" 경우 Android 앱링크 적용
    - {t} = "WL" 경우 PC 웹링크 적용
  - tg `type: string` `length: 3` `description: 아웃 링크`
    - `out`: 디바이스 기본 브라우저
    - 기본값 : 카카오톡 인앱 브라우저 사용
  - telNum `type: string` `length: 14` `description: 전화걸기 번호`
- msgs `type: array` `length: 1,000` `description: 전송결과 정보`
  - state `type: number` `length: 1` `description: 상태코드`
    - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/kakaotalk/response-code#state-code)
  - sendDT `type: string` `length: 14` `description: 전송일시`
    - 형식 : yyyyMMddHHmmss
  - result `type: number` `length: 3` `description: 카카오 결과코드`
    - [\[참고\] 카카오 결과코드(카카오톡)](https://developers.popbill.com/api-reference/kakaotalk/response-code#kakao-result-code)
    - {state} = 3 경우 카카오톡 전송결과 확인 가능
  - resultDT `type: string` `length: 14` `description: 전송결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - reserveDT `type: string` `length: 14` `description: 예약일시`
    - 형식 : yyyyMMddHHmmss
  - contentType `type: string` `length: -` `description: 카카오톡 유형`
    - `1`: 알림톡
    - `4`: 알림톡 이미지
    - `5`: 알림톡 강조표기
    - `6`: 브랜드 메시지 텍스트
    - `7`: 브랜드 메시지 이미지
    - `8`: 브랜드 메시지 와이드
    - `9`: 브랜드 메시지 리스트
    - `10`: 브랜드 메시지 캐러셀
    - `12`: 브랜드 메시지 커머스
    - `13`: 브랜드 메시지 캐러셀 커머스
  - receiveNum `type: string` `length: 20` `description: 수신번호`
  - receiveName `type: string` `length: 70` `description: 수신자명`
  - emphasizeTitle `type: string` `length: 50` `description: 강조표기 타이틀`
    - 알림톡 강조표기형 전송 시 반환
  - adultYN `type: boolean` `length: -` `description: 성인용 메시지 여부`
    - 브랜드 메시지 전송 시 반환
  - header `type: string` `length: 20` `description: 제목`
    - 브랜드 메시지 전송 시 반환
  - content `type: string` `length: 1,300` `description: 카카오톡 내용`
  - addContent `type: string` `length: 34` `description: 부가메시지`
    - 브랜드 메시지 전송 시 반환
  - imageUrl `type: string` `length: 500` `description: 이미지 URL`
    - 브랜드 메시지 전송 시 반환
  - imageLink `type: string` `length: 500` `description: 이미지 링크 URL`
    - 브랜드 메시지 전송 시 반환
  - altSubject `type: string` `length: 64` `description: 대체문자 제목`
    - 단위 : byte
  - altContent `type: string` `length: 2,000` `description: 대체문자 내용`
    - 단위 : byte
  - altContentType `type: number` `length: -` `description: 대체문자 전송타입`
    - `4`: 단문
    - `6`: 장문
  - altSendDT `type: string` `length: 14` `description: 대체문자 전송일시`
    - 형식 : yyyyMMddHHmmss
  - altResult `type: string` `length: 3` `description: 대체문자 통신사 결과코드`
    - [\[참고\] 통신사 결과코드(대체문자)](https://developers.popbill.com/api-reference/kakaotalk/response-code#telecom-result-code)
  - altResultDT `type: string` `length: 14` `description: 대체문자 전송결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - receiptNum `type: string` `length: 18` `description: 접수번호`
  - requestNum `type: string` `length: 36` `description: 요청번호`
  - interOPRefKey `type: string` `length: 20` `description: 파트너 지정키`
    - 카카오톡 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
  - item `type: array` `length: 4` `description: 아이템 목록`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 30` `description: 타이틀`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
      - 메인 아이템인 경우 [\[UploadWideListMainImage - 리스트 메인 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadWideListMainImage) API로 응답받은 URL
      - 서브 아이템인 경우 [\[UploadWideListImage - 리스트 서브 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadWideListImage) API로 응답받은 URL
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - commerce `type: object` `length: -` `description: 커머스 정보`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 30` `description: 상품명`
    - regularPrice `type: number` `length: -` `description: 정상가격`
      - 0 \~ 99,999,999
    - discountType `type: string` `length: 1` `description: 할인유형`
      - `R`: 할인율
      - `F`: 할인금액
    - discount `type: number` `length: -` `description: 할인율/할인금액`
      - {discountType}="R" 경우 1 \~ 100\
        {discountType}="F" 경우 0 \~ 999,999
    - discountPrice `type: number` `length: -` `description: 할인가격`
      - 0 \~ 99,999,999
      - 할인 적용 후 최종 가격
      - {discountType} 입력 시 필수
  - head `type: object` `length: -` `description: 캐러셀 인트로`
    - 브랜드 메시지 전송 시 반환
    - header `type: string` `length: 20` `description: 제목`
    - content `type: string` `length: 50` `description: 내용`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
      - [\[UploadCarouselCommerceImage - 캐러셀 커머스 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadCarouselCommerceImage) API로 응답받은 URL
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - carousel `type: array` `length: 6` `description: 캐러셀 목록`
    - 브랜드 메시지 전송 시 반환
    - header `type: string` `length: 20` `description: 제목`
    - content `type: string` `length: 180` `description: 내용`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
    - imageLink `type: string` `length: 500` `description: 이미지 링크 URL`
    - addContent `type: string` `length: 34` `description: 부가메시지`
    - commerce `type: object` `length: -` `description: 커머스 정보`
      - title `type: string` `length: 30` `description: 상품명`
      - regularPrice `type: number` `length: -` `description: 정상가격`
        - 0 \~ 99,999,999
      - discountType `type: string` `length: 1` `description: 할인유형`
        - `R`: 할인율
        - `F`: 할인금액
      - discount `type: number` `length: -` `description: 할인율/할인금액`
        - {discountType}="R" 경우 1 \~ 100\
          {discountType}="F" 경우 0 \~ 999,999
      - discountPrice `type: number` `length: -` `description: 할인가격`
        - 0 \~ 99,999,999
        - 할인 적용 후 최종 가격
        - {discountType} 입력 시 필수
    - btns `type: array` `length: 2` `description: 버튼 목록`
      - n `type: string` `length: 8` `description: 버튼명`
      - t `type: string` `length: 2` `description: 버튼유형`
        - `WL`: 웹링크
        - `AL`: 앱링크
        - `MD`: 메시지전달
        - `BK`: 봇키워드
        - `AC`: 채널추가
      - u1 `type: string` `length: 1,000` `description: 버튼링크`
        - {t} = "AL" 경우 iOS 앱링크 적용
        - {t} = "WL" 경우 Mobile 웹링크 적용
      - u2 `type: string` `length: 1,000` `description: 버튼링크`
        - {t} = "AL" 경우 Android 앱링크 적용
        - {t} = "WL" 경우 PC 웹링크 적용
    - coupon `type: object` `length: -` `description: 쿠폰`
      - title `type: string` `length: 15` `description: 쿠폰 제목`
        - `#{숫자}원 할인 쿠폰`: (숫자 : 1\~99,999,999)
        - `#{숫자}% 할인 쿠폰`: (숫자 : 1\~100)
        - `배송비 할인 쿠폰`
        - `#{7자 이내} 무료 쿠폰`
        - `#{7자 이내} UP 쿠폰`
      - description `type: string` `length: 12` `description: 쿠폰 설명`
        - 줄바꿈 사용 불가
      - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
      - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
      - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
      - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - tail `type: object` `length: -` `description: 캐러셀 더보기`
    - 브랜드 메시지 전송 시 반환
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - btns `type: array` `length: 5` `description: 버튼 목록`
    - n `type: string` `length: 14` `description: 버튼명`
    - t `type: string` `length: 2` `description: 버튼유형`
      - `WL`: 웹링크
      - `AL`: 앱링크
      - `TN`: 전화걸기
      - `DS`: 배송조회
      - `MD`: 메시지전달
      - `BK`: 봇키워드
      - `AC`: 채널추가
    - u1 `type: string` `length: 1,000` `description: 버튼링크`
      - {t} = "AL" 경우 iOS 앱링크 적용
      - {t} = "WL" 경우 Mobile 웹링크 적용
    - u2 `type: string` `length: 1,000` `description: 버튼링크`
      - {t} = "AL" 경우 Android 앱링크 적용
      - {t} = "WL" 경우 PC 웹링크 적용
    - tg `type: string` `length: 3` `description: 아웃 링크`
      - `out`: 디바이스 기본 브라우저
      - 기본값 : 카카오톡 인앱 브라우저 사용
    - telNum `type: string` `length: 14` `description: 전화걸기 번호`
  - coupon `type: object` `length: -` `description: 쿠폰`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 15` `description: 쿠폰 제목`
      - `#{숫자}원 할인 쿠폰`: (숫자 : 1\~99,999,999)
      - `#{숫자}% 할인 쿠폰`: (숫자 : 1\~100)
      - `배송비 할인 쿠폰`
      - `#{7자 이내} 무료 쿠폰`
      - `#{7자 이내} UP 쿠폰`
    - description `type: string` `length: 12` `description: 쿠폰 설명`
      - 줄바꿈 사용 불가
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - contentVariable `type: object` `length: -` `description: 브랜드 메시지 내용 변수`
    - 브랜드 메시지 전송 시 반환
  - buttonVariable `type: object` `length: -` `description: 브랜드 메시지 버튼 변수`
    - 브랜드 메시지 전송 시 반환
  - couponVariable `type: object` `length: -` `description: 브랜드 메시지 쿠폰 변수`
    - 브랜드 메시지 전송 시 반환
  - commerceVariable `type: object` `length: -` `description: 브랜드 메시지 커머스 변수`
    - 브랜드 메시지 전송 시 반환
  - carouselVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 변수`
    - 브랜드 메시지 전송 시 반환
    - contentVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 내용 변수`
      - 캐러셀 제목, 캐러셀 내용, 캐러셀 이미지 링크, 캐러셀 부가메시지에 변수 사용한 경우 필수
    - buttonVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 버튼 변수`
      - 버튼 링크에 변수 사용한 경우 필수
    - couponVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 쿠폰 변수`
      - 쿠폰 설명, 링크에 변수 사용한 경우 필수
    - commerceVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 커머스 변수`
      - 상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수

**응답 예시**

```json
{
    "contentType": "1",
    "templateCode": "025050001056",
    "plusFriendID": "@팝빌",
    "sendNum": "1599-7709",
    "sendCnt": "1",
    "successCnt": "1",
    "failCnt": "0",
    "altCnt": "0",
    "cancelCnt": "0",
    "reserveDT": "20251021191706",
    "adsYN": false,
    "btns": [
        {
            "t": "WL",
            "n": "팝빌 바로가기",
            "u1": "https://www.popbill.com/",
            "u2": "https://www.popbill.com/"
        }
    ],
    "msgs": [
        {
            "state": 3,
            "receiveNum": "01012345678",
            "receiveName": "수신자명",
            "content": "[팝빌] 담당자 변경완료 안내\n\n#{담당자}님, 안녕하세요.",
            "sendDT": "20251021191722",
            "result": 100,
            "resultDT": "20251021191722",
            "reserveDT": "20251021191706",
            "adsYN": false,
            "altContent": "",
            "altSubject": "",
            "contentType": "6",
            "regDT": "20251021191207",
            "receiptNum": "025102119120600001",
            "btns": [
                {
                    "t": "WL",
                    "n": "버튼 제목",
                    "u1": "https://www.popbill.com",
                    "u2": "https://www.popbill.com"
                }
            ],
            "coupon": {
                "title": "1000원 할인 쿠폰",
                "description": "쿠폰 설명",
                "linkMobile": "https://www.popbill.com"
            }
        }
    ]
}
```

## 2. GetMessagesRN - 카카오톡 전송내역 확인 (요청번호 할당)

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

- 파트너가 할당한 요청번호를 통해 알림톡 전송상태 및 결과를 확인합니다.

### Request

**요청 헤더**

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

**Path 파라미터**

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

**요청 예시**

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

### Response

**응답 본문**

- contentType `type: string` `length: -` `description: 카카오톡 유형`
  - `1`: 알림톡
  - `4`: 알림톡 이미지
  - `5`: 알림톡 강조표기
  - `6`: 브랜드 메시지 텍스트
  - `7`: 브랜드 메시지 이미지
  - `8`: 브랜드 메시지 와이드
  - `9`: 브랜드 메시지 리스트
  - `10`: 브랜드 메시지 캐러셀
  - `12`: 브랜드 메시지 커머스
  - `13`: 브랜드 메시지 캐러셀 커머스
- templateCode `type: string` `length: 12` `description: 알림톡 템플릿 코드`
  - 알림톡 전송시 사용한 코드값
- bmsTemplateCode `type: string` `length: 12` `description: 브랜드 메시지 템플릿 코드`
  - 브랜드 메시지 전송 시 사용한 코드값
- plusFriendID `type: string` `length: 30` `description: 검색용 아이디`
- targeting `type: string` `length: 1` `description: 전송대상`
  - `I`: 채널친구
  - `M`: 전체
  - `N`: 비채널 친구
  - 브랜드 메시지 전송 시 반환
- unsubscribeNo `type: string` `length: 20` `description: 080 수신거부 전화번호`
  - 브랜드 메시지 전송 시 반환
- sendNum `type: string` `length: 20` `description: 발신번호`
- altUnsubscribeNo `type: string` `length: 20` `description: 대체문자 080 수신거부 전화번호`
  - 브랜드 메시지 전송 시 반환
- altSubject `type: string` `length: 64` `description: 대체문자 제목`
  - 단위 : byte
- altContent `type: string` `length: 2,000` `description: 대체문자 내용`
  - 단위 : byte
- altSendType `type: string` `length: 1` `description: 대체문자 유형`
  - `null`: 미전송
  - `C`: 카카오톡과 동일 내용 전송
  - `A`: 대체문자 내용 전송
- reserveDT `type: string` `length: 14` `description: 예약일시`
  - 형식 : yyyyMMddHHmmss
- adsYN `type: boolean` `length: -` `description: 광고메시지 전송 여부`
  - `true`: 광고
  - `false`: 일반
- sendCnt `type: string` `length: -` `description: 전송건수`
- successCnt `type: string` `length: -` `description: 성공건수`
- failCnt `type: string` `length: -` `description: 실패건수`
- altCnt `type: string` `length: -` `description: 대체문자 건수`
- cancelCnt `type: string` `length: -` `description: 취소건수`
- btns `type: array` `length: 5` `description: 버튼 목록`
  - n `type: string` `length: 14` `description: 버튼명`
  - t `type: string` `length: 2` `description: 버튼유형`
    - `WL`: 웹링크
    - `AL`: 앱링크
    - `TN`: 전화걸기
    - `DS`: 배송조회
    - `MD`: 메시지전달
    - `BK`: 봇키워드
    - `AC`: 채널추가
  - u1 `type: string` `length: 1,000` `description: 버튼링크`
    - {t} = "AL" 경우 iOS 앱링크 적용
    - {t} = "WL" 경우 Mobile 웹링크 적용
  - u2 `type: string` `length: 1,000` `description: 버튼링크`
    - {t} = "AL" 경우 Android 앱링크 적용
    - {t} = "WL" 경우 PC 웹링크 적용
  - tg `type: string` `length: 3` `description: 아웃 링크`
    - `out`: 디바이스 기본 브라우저
    - 기본값 : 카카오톡 인앱 브라우저 사용
  - telNum `type: string` `length: 14` `description: 전화걸기 번호`
- msgs `type: array` `length: -` `description: 전송결과 정보`
  - 최대 : 1,000건
  - state `type: number` `length: 1` `description: 상태코드`
    - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/kakaotalk/response-code#state-code)
  - sendDT `type: string` `length: 14` `description: 전송일시`
    - 형식 : yyyyMMddHHmmss
  - result `type: number` `length: 3` `description: 카카오 결과코드`
    - [\[참고\] 카카오 결과코드(카카오톡)](https://developers.popbill.com/api-reference/kakaotalk/response-code#kakao-result-code)
    - {state} = 3 경우 카카오톡 전송결과 확인 가능
  - resultDT `type: string` `length: 14` `description: 전송결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - reserveDT `type: string` `length: 14` `description: 예약일시`
    - 형식 : yyyyMMddHHmmss
  - contentType `type: string` `length: -` `description: 카카오톡 유형`
    - `1`: 알림톡
    - `4`: 알림톡 이미지
    - `5`: 알림톡 강조표기
    - `6`: 브랜드 메시지 텍스트
    - `7`: 브랜드 메시지 이미지
    - `8`: 브랜드 메시지 와이드
    - `9`: 브랜드 메시지 리스트
    - `10`: 브랜드 메시지 캐러셀
    - `12`: 브랜드 메시지 커머스
    - `13`: 브랜드 메시지 캐러셀 커머스
  - receiveNum `type: string` `length: 20` `description: 수신번호`
  - receiveName `type: string` `length: 70` `description: 수신자명`
  - emphasizeTitle `type: string` `length: 50` `description: 강조표기 타이틀`
    - 알림톡 강조표기형 전송 시 반환
  - adultYN `type: boolean` `length: -` `description: 성인용 메시지 여부`
    - 브랜드 메시지 전송 시 반환
  - header `type: string` `length: 20` `description: 제목`
    - 브랜드 메시지 전송 시 반환
  - content `type: string` `length: 1,300` `description: 카카오톡 내용`
  - addContent `type: string` `length: 34` `description: 부가메시지`
    - 브랜드 메시지 전송 시 반환
  - imageUrl `type: string` `length: 500` `description: 이미지 URL`
    - 브랜드 메시지 전송 시 반환
  - imageLink `type: string` `length: 500` `description: 이미지 링크 URL`
    - 브랜드 메시지 전송 시 반환
  - altSubject `type: string` `length: 64` `description: 대체문자 제목`
    - 단위 : byte
  - altContent `type: string` `length: 2,000` `description: 대체문자 내용`
    - 단위 : byte
  - altContentType `type: number` `length: -` `description: 대체문자 전송타입`
    - `4`: 단문
    - `6`: 장문
  - altSendDT `type: string` `length: 14` `description: 대체문자 전송일시`
    - 형식 : yyyyMMddHHmmss
  - altResult `type: string` `length: 3` `description: 대체문자 통신사 결과코드`
    - [\[참고\] 통신사 결과코드(대체문자)](https://developers.popbill.com/api-reference/kakaotalk/response-code#telecom-result-code)
  - altResultDT `type: string` `length: 14` `description: 대체문자 전송결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - receiptNum `type: string` `length: 18` `description: 접수번호`
  - requestNum `type: string` `length: 36` `description: 요청번호`
  - interOPRefKey `type: string` `length: 20` `description: 파트너 지정키`
    - 카카오톡 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
  - item `type: array` `length: 4` `description: 아이템 목록`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 30` `description: 타이틀`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
      - 메인 아이템인 경우 [\[UploadWideListMainImage - 리스트 메인 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadWideListMainImage) API로 응답받은 URL
      - 서브 아이템인 경우 [\[UploadWideListImage - 리스트 서브 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadWideListImage) API로 응답받은 URL
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - commerce `type: object` `length: -` `description: 커머스 정보`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 30` `description: 상품명`
    - regularPrice `type: number` `length: -` `description: 정상가격`
      - 0 \~ 99,999,999
    - discountType `type: string` `length: 1` `description: 할인유형`
      - `R`: 할인율
      - `F`: 할인금액
    - discount `type: number` `length: -` `description: 할인율/할인금액`
      - {discountType}="R" 경우 1 \~ 100\
        {discountType}="F" 경우 0 \~ 999,999
    - discountPrice `type: number` `length: -` `description: 할인가격`
      - 0 \~ 99,999,999
      - 할인 적용 후 최종 가격
      - {discountType} 입력 시 필수
  - head `type: object` `length: -` `description: 캐러셀 인트로`
    - 브랜드 메시지 전송 시 반환
    - header `type: string` `length: 20` `description: 제목`
    - content `type: string` `length: 50` `description: 내용`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
      - [\[UploadCarouselCommerceImage - 캐러셀 커머스 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadCarouselCommerceImage) API로 응답받은 URL
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - carousel `type: array` `length: 6` `description: 캐러셀 목록`
    - 브랜드 메시지 전송 시 반환
    - header `type: string` `length: 20` `description: 제목`
    - content `type: string` `length: 180` `description: 내용`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
    - imageLink `type: string` `length: 500` `description: 이미지 링크 URL`
    - addContent `type: string` `length: 34` `description: 부가메시지`
    - commerce `type: object` `length: -` `description: 커머스 정보`
      - title `type: string` `length: 30` `description: 상품명`
      - regularPrice `type: number` `length: -` `description: 정상가격`
        - 0 \~ 99,999,999
      - discountType `type: string` `length: 1` `description: 할인유형`
        - `R`: 할인율
        - `F`: 할인금액
      - discount `type: number` `length: -` `description: 할인율/할인금액`
        - {discountType}="R" 경우 1 \~ 100\
          {discountType}="F" 경우 0 \~ 999,999
      - discountPrice `type: number` `length: -` `description: 할인가격`
        - 0 \~ 99,999,999
        - 할인 적용 후 최종 가격
        - {discountType} 입력 시 필수
    - btns `type: array` `length: 2` `description: 버튼 목록`
      - n `type: string` `length: 8` `description: 버튼명`
      - t `type: string` `length: 2` `description: 버튼유형`
        - `WL`: 웹링크
        - `AL`: 앱링크
        - `MD`: 메시지전달
        - `BK`: 봇키워드
        - `AC`: 채널추가
      - u1 `type: string` `length: 1,000` `description: 버튼링크`
        - {t} = "AL" 경우 iOS 앱링크 적용
        - {t} = "WL" 경우 Mobile 웹링크 적용
      - u2 `type: string` `length: 1,000` `description: 버튼링크`
        - {t} = "AL" 경우 Android 앱링크 적용
        - {t} = "WL" 경우 PC 웹링크 적용
    - coupon `type: object` `length: -` `description: 쿠폰`
      - title `type: string` `length: 15` `description: 쿠폰 제목`
        - `#{숫자}원 할인 쿠폰`: (숫자 : 1\~99,999,999)
        - `#{숫자}% 할인 쿠폰`: (숫자 : 1\~100)
        - `배송비 할인 쿠폰`
        - `#{7자 이내} 무료 쿠폰`
        - `#{7자 이내} UP 쿠폰`
      - description `type: string` `length: 12` `description: 쿠폰 설명`
        - 줄바꿈 사용 불가
      - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
      - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
      - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
      - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - tail `type: object` `length: -` `description: 캐러셀 더보기`
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - btns `type: array` `length: 5` `description: 버튼 목록`
    - n `type: string` `length: 14` `description: 버튼명`
    - t `type: string` `length: 2` `description: 버튼유형`
      - `WL`: 웹링크
      - `AL`: 앱링크
      - `TN`: 전화걸기
      - `DS`: 배송조회
      - `MD`: 메시지전달
      - `BK`: 봇키워드
      - `AC`: 채널추가
    - u1 `type: string` `length: 1,000` `description: 버튼링크`
      - {t} = "AL" 경우 iOS 앱링크 적용
      - {t} = "WL" 경우 Mobile 웹링크 적용
    - u2 `type: string` `length: 1,000` `description: 버튼링크`
      - {t} = "AL" 경우 Android 앱링크 적용
      - {t} = "WL" 경우 PC 웹링크 적용
    - tg `type: string` `length: 3` `description: 아웃 링크`
      - `out`: 디바이스 기본 브라우저
      - 기본값 : 카카오톡 인앱 브라우저 사용
    - telNum `type: string` `length: 14` `description: 전화걸기 번호`
  - coupon `type: object` `length: -` `description: 쿠폰`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 15` `description: 쿠폰 제목`
      - `#{숫자}원 할인 쿠폰`: (숫자 : 1\~99,999,999)
      - `#{숫자}% 할인 쿠폰`: (숫자 : 1\~100)
      - `배송비 할인 쿠폰`
      - `#{7자 이내} 무료 쿠폰`
      - `#{7자 이내} UP 쿠폰`
    - description `type: string` `length: 12` `description: 쿠폰 설명`
      - 줄바꿈 사용 불가
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - contentVariable `type: object` `length: -` `description: 브랜드 메시지 내용 변수`
    - 브랜드 메시지 전송 시 반환
  - buttonVariable `type: object` `length: -` `description: 브랜드 메시지 버튼 변수`
    - 브랜드 메시지 전송 시 반환
  - couponVariable `type: object` `length: -` `description: 브랜드 메시지 쿠폰 변수`
    - 브랜드 메시지 전송 시 반환
  - commerceVariable `type: object` `length: -` `description: 브랜드 메시지 커머스 변수`
    - 브랜드 메시지 전송 시 반환
  - carouselVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 변수`
    - 브랜드 메시지 전송 시 반환
    - contentVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 내용 변수`
      - 캐러셀 제목, 캐러셀 내용, 캐러셀 이미지 링크, 캐러셀 부가메시지에 변수 사용한 경우 필수
    - buttonVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 버튼 변수`
      - 버튼 링크에 변수 사용한 경우 필수
    - couponVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 쿠폰 변수`
      - 쿠폰 설명, 링크에 변수 사용한 경우 필수
    - commerceVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 커머스 변수`
      - 상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수

**응답 예시**

```json
{
    "contentType": "6",
    "requestNum": "25251026131000",
    "templateCode": "025050001052",
    "plusFriendID": "@팝빌",
    "sendNum": "1599-7709",
    "altContent": "대체문자 내용",
    "sendCnt": "2",
    "successCnt": "0",
    "failCnt": "2",
    "altCnt": "0",
    "cancelCnt": "0",
    "adsYN": false,
    "btns": [
        {
            "t": "WL",
            "n": "팝빌 바로가기",
            "u1": "https://www.popbill.com/",
            "u2": "https://www.popbill.com/"
        }
    ],
    "msgs": [
        {
            "state": 3,
            "receiveNum": "01022223333",
            "receiveName": "수신자명",
            "content": "[테스트] 테스트 템플릿입니다",
            "sendDT": "20251026131238",
            "result": 680,
            "resultDT": "20251026131238",
            "adsYN": false,
            "contentType": "1",
            "regDT": "20251026131236",
            "receiptNum": "025102613123600001",
            "requestNum": "25251026131000",
            "btns": [
                {
                    "t": "WL",
                    "n": "버튼 제목",
                    "u1": "https://www.popbill.com",
                    "u2": "https://www.popbill.com"
                }
            ],
            "coupon": {
                "title": "1000원 할인 쿠폰",
                "description": "쿠폰 설명",
                "linkMobile": "https://www.popbill.com"
            }
        }
    ]
}
```

## 3. Search - 전송내역 목록 조회

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

- 검색조건에 해당하는 카카오톡 전송내역을 조회합니다. (조회기간 단위 : 최대 2개월)
- 카카오톡 접수일시로부터 12개월 이내 접수건만 조회할 수 있습니다.

> 매개변수 Page, PerPage, Order를 이용하여 페이징 기능을 구현할 수 있습니다.

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/kakaotalk/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 파라미터**

- SDate `type: string` `length: 8` `required: Y` `description: 검색 시작일자`
  - 형식 : yyyyMMdd
- EDate `type: string` `length: 8` `required: Y` `description: 검색 종료일자`
  - 형식 : yyyyMMdd
- State `type: string` `length: -` `required: N` `description: 전송상태 (다중 선택 가능)`
  - `0`: 전송대기
  - `1`: 전송중
  - `2`: 전송성공
  - `3`: 대체문자 전송성공
  - `4`: 전송실패
  - `5`: 예약취소
  - 다중 선택시 콤마(',')로 구분. 예) 0,1
- Item `type: string` `length: -` `required: N` `description: 검색대상(다중 선택 가능)`
  - `ATS`: 알림톡
  - `BMS`: 브랜드 메시지
  - 다중 선택 시 콤마(',')로 구분. 예) ATS,BMS
  - 기본값 : 전체조회
- ReserveYN `type: string` `length: 1` `required: N` `description: 전송유형별 조회 (택 1)`
  - `0`: 즉시전송건
  - `1`: 예약전송건
  - 기본값 : 전체조회
- SenderOnly `type: boolean` `length: -` `required: N` `description: 사용자권한별 조회`
  - `true`: 팝빌회원 아이디(UserID)로 전송한 카카오톡만 조회
  - `false`: 전송한 카카오톡 전체 조회 : 기본값
- Order `type: string` `length: 1` `required: N` `description: 카카오톡 접수일시를 기준으로 하는 목록 정렬 방향`
  - `D`: 내림차순 : 기본값
  - `A`: 오름차순
- Page `type: number` `length: -` `required: N` `description: 목록 페이지번호`
  - 기본값 : 1
- PerPage `type: number` `length: -` `required: N` `description: 페이지당 표시할 목록 건수`
  - 최대 : 1,000건
  - 기본값 : 500건
- QString `type: string` `length: 70` `required: N` `description: 조회 검색어(수신자명, 수신번호)`
  - 기본값 : 전체조회
- PlusFriendID `type: string` `length: 30` `required: N` `description: 검색용 아이디`
- ContentType `type: string` `length: -` `required: N` `description: 카카오톡 유형 (다중 선택 가능)`
  - `1`: 알림톡
  - `4`: 알림톡 이미지
  - `5`: 알림톡 강조표기
  - `6`: 브랜드 메시지 텍스트
  - `7`: 브랜드 메시지 이미지
  - `8`: 브랜드 메시지 와이드
  - `9`: 브랜드 메시지 리스트
  - `10`: 브랜드 메시지 캐러셀
  - `12`: 브랜드 메시지 커머스
  - `13`: 브랜드 메시지 캐러셀 커머스
  - 다중 선택 시 콤마(',')로 구분. 예) 1,4

**요청 예시**

```bash
curl --request GET \
  --url 'https://{domain}/KakaoTalk/Search?SDate={Sdate}&EDate={EDate}&State={State}' \
  --header 'Authorization: Bearer {token}'
```

### Response

**응답 본문**

- code `type: number` `length: -` `description: API 처리에 대한 응답코드`
  - `1`: 성공
- message `type: string` `length: -` `description: API 처리에 대한 응답메시지`
- total `type: number` `length: -` `description: 총 검색결과 건수`
- perPage `type: number` `length: -` `description: 페이지 당 목록 건수`
- pageNum `type: number` `length: -` `description: 페이지 번호`
- pageCount `type: number` `length: -` `description: 페이지 개수`
- list `type: array` `length: 1,000` `description: 전송결과 정보`
  - state `type: number` `length: 1` `description: 상태코드`
    - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/kakaotalk/response-code#state-code)
  - sendDT `type: string` `length: 14` `description: 전송일시`
    - 형식 : yyyyMMddHHmmss
  - result `type: number` `length: 3` `description: 카카오 결과코드`
    - [\[참고\] 카카오 결과코드(카카오톡)](https://developers.popbill.com/api-reference/kakaotalk/response-code#kakao-result-code)
    - {state} = 3 경우 카카오톡 전송결과 확인 가능
  - resultDT `type: string` `length: 14` `description: 전송결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - contentType `type: string` `length: -` `description: 카카오톡 유형`
    - `1`: 알림톡
    - `4`: 알림톡 이미지
    - `5`: 알림톡 강조표기
    - `6`: 브랜드 메시지 텍스트
    - `7`: 브랜드 메시지 이미지
    - `8`: 브랜드 메시지 와이드
    - `9`: 브랜드 메시지 리스트
    - `10`: 브랜드 메시지 캐러셀
    - `12`: 브랜드 메시지 커머스
    - `13`: 브랜드 메시지 캐러셀 커머스
  - receiveNum `type: string` `length: 20` `description: 수신번호`
  - receiveName `type: string` `length: 70` `description: 수신자명`
  - emphasizeTitle `type: string` `length: 50` `description: 강조표기 타이틀`
    - 알림톡 강조표기형 전송 시 반환
  - adultYN `type: boolean` `length: -` `description: 성인용 메시지 여부`
    - 브랜드 메시지 전송 시 반환
  - header `type: string` `length: 20` `description: 제목`
    - 브랜드 메시지 전송 시 반환
  - content `type: string` `length: 1,300` `description: 카카오톡 내용`
  - addContent `type: string` `length: 34` `description: 부가메시지`
    - 브랜드 메시지 전송 시 반환
  - imageUrl `type: string` `length: 500` `description: 이미지 URL`
  - imageLink `type: string` `length: 500` `description: 이미지 링크 URL`
  - altSubject `type: string` `length: 64` `description: 대체문자 제목`
    - 단위 : byte
  - altContent `type: string` `length: 2,000` `description: 대체문자 내용`
    - 단위 : byte
  - altContentType `type: number` `length: -` `description: 대체문자 전송타입`
    - `4`: 단문
    - `6`: 장문
  - altSendDT `type: string` `length: 14` `description: 대체문자 전송일시`
    - 형식 : yyyyMMddHHmmss
  - altResult `type: string` `length: 3` `description: 대체문자 통신사 결과코드`
    - [\[참고\] 통신사 결과코드(대체문자)](https://developers.popbill.com/api-reference/kakaotalk/response-code#telecom-result-code)
  - altResultDT `type: string` `length: 14` `description: 대체문자 전송결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - receiptNum `type: string` `length: 18` `description: 접수번호`
  - requestNum `type: string` `length: 36` `description: 요청번호`
  - interOPRefKey `type: string` `length: 20` `description: 파트너 지정키`
    - 카카오톡 대량/동보전송시 파트너가 개별건마다 입력할 수 있는 값
  - item `type: array` `length: 4` `description: 아이템 목록`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 30` `description: 타이틀`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
      - 메인 아이템인 경우 [\[UploadWideListMainImage - 리스트 메인 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadWideListMainImage) API로 응답받은 URL
      - 서브 아이템인 경우 [\[UploadWideListImage - 리스트 서브 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadWideListImage) API로 응답받은 URL
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - commerce `type: object` `length: -` `description: 커머스 정보`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 30` `description: 상품명`
    - regularPrice `type: number` `length: -` `description: 정상가격`
      - 0 \~ 99,999,999
    - discountType `type: string` `length: 1` `description: 할인유형`
      - `R`: 할인율
      - `F`: 할인금액
    - discount `type: number` `length: -` `description: 할인율/할인금액`
      - {discountType}="R" 경우 1 \~ 100\
        {discountType}="F" 경우 0 \~ 999,999
    - discountPrice `type: number` `length: -` `description: 할인가격`
      - 0 \~ 99,999,999
      - 할인 적용 후 최종 가격
      - {discountType} 입력 시 필수
  - head `type: object` `length: -` `description: 캐러셀 인트로`
    - 브랜드 메시지 전송 시 반환
    - header `type: string` `length: 20` `description: 제목`
    - content `type: string` `length: 50` `description: 내용`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
      - [\[UploadCarouselCommerceImage - 캐러셀 커머스 이미지 업로드\]](https://developers.popbill.com/api-reference/kakaotalk/api/send-bms#UploadCarouselCommerceImage) API로 응답받은 URL
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - carousel `type: array` `length: 6` `description: 캐러셀 목록`
    - 브랜드 메시지 전송 시 반환
    - header `type: string` `length: 20` `description: 제목`
    - content `type: string` `length: 180` `description: 내용`
    - imageUrl `type: string` `length: 500` `description: 이미지 URL`
    - imageLink `type: string` `length: 500` `description: 이미지 링크 URL`
    - addContent `type: string` `length: 34` `description: 부가메시지`
    - commerce `type: object` `length: -` `description: 커머스 정보`
      - title `type: string` `length: 30` `description: 상품명`
      - regularPrice `type: number` `length: -` `description: 정상가격`
        - 0 \~ 99,999,999
      - discountType `type: string` `length: 1` `description: 할인유형`
        - `R`: 할인율
        - `F`: 할인금액
      - discount `type: number` `length: -` `description: 할인율/할인금액`
        - {discountType}="R" 경우 1 \~ 100\
          {discountType}="F" 경우 0 \~ 999,999
      - discountPrice `type: number` `length: -` `description: 할인가격`
        - 0 \~ 99,999,999
        - 할인 적용 후 최종 가격
        - {discountType} 입력 시 필수
    - btns `type: array` `length: 2` `description: 버튼 목록`
      - n `type: string` `length: 8` `description: 버튼명`
      - t `type: string` `length: 2` `description: 버튼유형`
        - `WL`: 웹링크
        - `AL`: 앱링크
        - `MD`: 메시지전달
        - `BK`: 봇키워드
        - `AC`: 채널추가
      - u1 `type: string` `length: 1,000` `description: 버튼링크`
        - {t} = "AL" 경우 iOS 앱링크 적용
        - {t} = "WL" 경우 Mobile 웹링크 적용
      - u2 `type: string` `length: 1,000` `description: 버튼링크`
        - {t} = "AL" 경우 Android 앱링크 적용
        - {t} = "WL" 경우 PC 웹링크 적용
    - coupon `type: object` `length: -` `description: 쿠폰`
      - title `type: string` `length: 15` `description: 쿠폰 제목`
        - `#{숫자}원 할인 쿠폰`: (숫자 : 1\~99,999,999)
        - `#{숫자}% 할인 쿠폰`: (숫자 : 1\~100)
        - `배송비 할인 쿠폰`
        - `#{7자 이내} 무료 쿠폰`
        - `#{7자 이내} UP 쿠폰`
      - description `type: string` `length: 12` `description: 쿠폰 설명`
        - 줄바꿈 사용 불가
      - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
      - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
      - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
      - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - tail `type: object` `length: -` `description: 캐러셀 더보기`
    - 브랜드 메시지 전송 시 반환
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - btns `type: array` `length: 5` `description: 버튼 목록`
    - n `type: string` `length: 14` `description: 버튼명`
    - t `type: string` `length: 2` `description: 버튼유형`
      - `WL`: 웹링크
      - `AL`: 앱링크
      - `TN`: 전화걸기
      - `DS`: 배송조회
      - `MD`: 메시지전달
      - `BK`: 봇키워드
      - `AC`: 채널추가
    - u1 `type: string` `length: 1,000` `description: 버튼링크`
      - {t} = "AL" 경우 iOS 앱링크 적용
      - {t} = "WL" 경우 Mobile 웹링크 적용
    - u2 `type: string` `length: 1,000` `description: 버튼링크`
      - {t} = "AL" 경우 Android 앱링크 적용
      - {t} = "WL" 경우 PC 웹링크 적용
    - tg `type: string` `length: 3` `description: 아웃 링크`
      - `out`: 디바이스 기본 브라우저
      - 기본값 : 카카오톡 인앱 브라우저 사용
    - telNum `type: string` `length: 14` `description: 전화걸기 번호`
  - coupon `type: object` `length: -` `description: 쿠폰`
    - 브랜드 메시지 전송 시 반환
    - title `type: string` `length: 15` `description: 쿠폰 제목`
      - `#{숫자}원 할인 쿠폰`: (숫자 : 1\~99,999,999)
      - `#{숫자}% 할인 쿠폰`: (숫자 : 1\~100)
      - `배송비 할인 쿠폰`
      - `#{7자 이내} 무료 쿠폰`
      - `#{7자 이내} UP 쿠폰`
    - description `type: string` `length: 12` `description: 쿠폰 설명`
      - 줄바꿈 사용 불가
    - linkMobile `type: string` `length: 1,000` `description: Mobile 웹링크`
    - linkPc `type: string` `length: 1,000` `description: PC 웹링크`
    - linkAndroid `type: string` `length: 1,000` `description: Android 앱링크`
    - linkIos `type: string` `length: 1,000` `description: iOS 앱링크`
  - contentVariable `type: object` `length: -` `description: 브랜드 메시지 내용 변수`
    - 브랜드 메시지 전송 시 반환
  - buttonVariable `type: object` `length: -` `description: 브랜드 메시지 버튼 변수`
    - 브랜드 메시지 전송 시 반환
  - couponVariable `type: object` `length: -` `description: 브랜드 메시지 쿠폰 변수`
    - 브랜드 메시지 전송 시 반환
  - commerceVariable `type: object` `length: -` `description: 브랜드 메시지 커머스 변수`
    - 브랜드 메시지 전송 시 반환
  - carouselVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 변수`
    - 브랜드 메시지 전송 시 반환
    - contentVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 내용 변수`
      - 캐러셀 제목, 캐러셀 내용, 캐러셀 이미지 링크, 캐러셀 부가메시지에 변수 사용한 경우 필수
    - buttonVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 버튼 변수`
      - 버튼 링크에 변수 사용한 경우 필수
    - couponVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 쿠폰 변수`
      - 쿠폰 설명, 링크에 변수 사용한 경우 필수
    - commerceVariable `type: object` `length: -` `description: 브랜드 메시지 캐러셀 커머스 변수`
      - 상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수

**응답 예시**

```json
{
    "code": 1,
    "message": "검색 완료",
    "total": 10,
    "perPage": 500,
    "pageNum": 1,
    "pageCount": 1,
    "list": [
        {
            "state": 3,
            "receiveNum": "01012345678",
            "receiveName": "수신자명",
            "content": "[팝빌] 국세청 전송실패 안내",
            "sendDT": "20251025091511",
            "result": 100,
            "resultDT": "20251025091511",
            "adsYN": false,
            "altContent": "[팝빌] 현금영수증 국세청 전송실패 안내",
            "contentType": "6",
            "regDT": "20251025091509",
            "receiptNum": "025102509150800001",
            "btns": [
                {
                    "t": "WL",
                    "n": "버튼 제목",
                    "u1": "https://www.popbill.com",
                    "u2": "https://www.popbill.com"
                }
            ],
            "coupon": {
                "title": "1000원 할인 쿠폰",
                "description": "쿠폰 설명",
                "linkMobile": "https://www.popbill.com"
            }
        }
    ]
}
```

## 4. GetSentListURL - 카카오톡 전송내역 팝업 URL

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

![카카오톡 전송내역 팝업 URL 미리보기](https://developers.popbill.com/images/reference/kakaotalk/getSentListURL.png)

**카카오톡 전송내역 팝업 URL을 반환합니다.**

- 권장 사이즈 : width = 1,455px (최소 1,000px) / height = 800px
- 반환되는 URL은 30초 동안만 사용이 가능합니다.
- 반환되는 URL에서만 유효한 세션을 포함하고 있습니다.

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/kakaotalk/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 파라미터**

- TG `type: string` `length: -` `required: Y` `description: 고정값 : BOX`

**요청 예시**

```bash
curl --request GET \
  --url 'https://{domain}/KakaoTalk?TG=BOX' \
  --header 'Authorization: Bearer {token}'
```

### Response

**응답 본문**

- url `type: string` `length: -` `description: 카카오톡 전송내역 팝업 URL`

**응답 예시**

```json
{
    "url": "https://test.popbill.com/App/API?T=IRXSGITDREOTPOIRLPUHCB4BSBC4...NX7BMAR3="
}
```
