# 정보확인

## 1. GetInfo - 상태확인

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

- 현금영수증 1건의 상태 및 요약정보를 확인합니다.
- 리턴값 `stateCode`를 통해 현금영수증의 상태코드를 확인합니다.

### Request

**요청 헤더**

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

**Path 파라미터**

- MgtKey `type: string` `length: 24` `required: Y` `description: 파트너가 할당한 문서번호`

**요청 예시**

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

### Response

**응답 본문**

- itemKey `type: string` `length: 18` `description: 팝빌에서 할당한 식별번호`
- mgtKey `type: string` `length: 24` `description: 문서번호`
  - 파트너가 할당하는 식별번호
- tradeDate `type: string` `length: 8` `description: 거래일자`
  - 형식 : yyyyMMdd
- tradeDT `type: string` `length: 14` `description: 거래일시`
  - 형식 : yyyyMMddHHmmss
- tradeType `type: string` `length: 4` `description: 문서형태`
  - `승인거래`
  - `취소거래`
- tradeUsage `type: string` `length: 5` `description: 거래구분`
  - `소득공제용`
  - `지출증빙용`
- tradeOpt `type: string` `length: 4` `description: 거래유형`
  - `일반`
  - `도서공연`
  - `대중교통`
- taxationType `type: string` `length: 3` `description: 과세형태`
  - `과세`
  - `비과세`
- totalAmount `type: string` `length: 9` `description: 거래금액`
  - 공급가액 + 부가세 + 봉사료
- supplyCost `type: string` `length: 9` `description: 공급가액`
- tax `type: string` `length: 9` `description: 부가세`
- serviceFee `type: string` `length: 9` `description: 봉사료`
- issueDT `type: string` `length: 14` `description: 발행일시`
  - 형식 : yyyyMMddHHmmss
- regDT `type: string` `length: 14` `description: 등록일시`
  - 형식 : yyyyMMddHHmmss
- stateMemo `type: string` `length: 200` `description: 상태메모`
- stateCode `type: number` `length: 3` `description: 상태코드`
  - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/cashbill/response-code)
- stateDT `type: string` `length: 14` `description: 상태 변경일시`
  - 형식 : yyyyMMddHHmmss
- identityNum `type: string` `length: 19` `description: 식별번호`
  - {tradeUsage} 값이 "소득공제용" 경우 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 반환
  - {tradeUsage} 값이 "지출증빙용" 경우 사업자번호/휴대폰/카드번호 반환
- itemName `type: string` `length: 70` `description: 주문상품명`
- orderNumber `type: string` `length: 200` `description: 주문번호`
- email `type: string` `length: 100` `description: 구매자 이메일`
- hp `type: string` `length: 20` `description: 구매자 휴대폰`
- customerName `type: string` `length: 70` `description: 구매자(고객) 성명`
- confirmNum `type: string` `length: 9` `description: 국세청승인번호`
  - 현금영수증 발행 시점에 팝빌에서 자동으로 할당
- orgConfirmNum `type: string` `length: 9` `description: 당초 국세청승인번호`
- orgTradeDate `type: string` `length: 8` `description: 당초 거래일자`
- ntssendDT `type: string` `length: 14` `description: 국세청 전송일시`
  - 형식 : yyyyMMddHHmmss
- ntsresultDT `type: string` `length: 14` `description: 국세청 처리결과 수신일시`
  - 형식 : yyyyMMddHHmmss
- ntsresultCode `type: string` `length: 4` `description: 국세청 결과코드`
  - [\[참고\] 국세청 결과코드](https://developers.popbill.com/cashbill/response-code#nts-result)
- ntsresultMessage `type: string` `length: 30` `description: 국세청 결과메시지`
- printYN `type: boolean` `length: -` `description: 인쇄여부`
  - `true`: 인쇄
  - `false`: 미인쇄
- interOPYN `type: boolean` `length: -` `description: 연동문서 여부`
  - `true`: API를 통해 발행한 연동문서
  - `false`: 팝빌 사이트를 통해 발행한 문서

**응답 예시**

```json
{
    "itemKey": "025102315531300001",
    "mgtKey": "TEST0001",
    "tradeDate": "20251023",
    "tradeDT": "20251023155313",
    "issueDT": "20251023155313",
    "identityNum": "12****7890",
    "taxationType": "과세",
    "totalAmount": "11000",
    "tradeUsage": "지출증빙용",
    "tradeType": "승인거래",
    "tradeOpt": "일반",
    "stateCode": 304,
    "stateDT": "20251023155313",
    "printYN": false,
    "confirmNum": "TB0000032",
    "ntssendDT": "20251024000000",
    "ntsresultDT": "20251024091509",
    "ntsresultCode": "0000",
    "ntsresultMessage": "더미승인",
    "supplyCost": "10000",
    "tax": "1000",
    "serviceFee": "0",
    "interOPYN": true,
    "regDT": "20251023155314"
}
```

## 2. GetInfos - 다수건 상태 확인

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

- 다수건의 현금영수증 상태 및 요약 정보를 확인합니다. (1회 호출에 최대 1,000건 확인 가능)
- 리턴값 `stateCode`를 통해 현금영수증의 상태코드를 확인합니다.

> 문서번호를 통해 현금영수증 목록을 구현하는 경우 활용합니다.

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/cashbill/getting-started/authorization "_blank")
- 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: 팝빌회원 아이디`

**요청 본문**

- \- `type: array` `length: 1,000` `required: Y` `description: 문서번호 목록`
  - 최대 : 1,000건

**요청 예시**

```bash
curl --request POST \
--url 'https://{domain}/Cashbill/States' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '["MGTKEY-0001"]'
```

### Response

**응답 본문**

- itemKey `type: string` `length: 18` `description: 팝빌에서 할당한 식별번호`
- mgtKey `type: string` `length: 24` `description: 문서번호`
  - 파트너가 할당하는 식별번호
- tradeDate `type: string` `length: 8` `description: 거래일자`
  - 형식 : yyyyMMdd
- tradeDT `type: string` `length: 14` `description: 거래일시`
  - 형식 : yyyyMMddHHmmss
- tradeType `type: string` `length: 4` `description: 문서형태`
  - `승인거래`
  - `취소거래`
- tradeUsage `type: string` `length: 5` `description: 거래구분`
  - `소득공제용`
  - `지출증빙용`
- tradeOpt `type: string` `length: 4` `description: 거래유형`
  - `일반`
  - `도서공연`
  - `대중교통`
- taxationType `type: string` `length: 3` `description: 과세형태`
  - `과세`
  - `비과세`
- totalAmount `type: string` `length: 9` `description: 거래금액`
  - 공급가액 + 부가세 + 봉사료
- supplyCost `type: string` `length: 9` `description: 공급가액`
  - 양수만 입력
- tax `type: string` `length: 9` `description: 부가세`
  - 양수만 입력
- serviceFee `type: string` `length: 9` `description: 봉사료`
  - 양수 또는 0 입력
- issueDT `type: string` `length: 14` `description: 발행일시`
  - 형식 : yyyyMMddHHmmss
- regDT `type: string` `length: 14` `description: 등록일시`
  - 형식 : yyyyMMddHHmmss
- stateMemo `type: string` `length: 200` `description: 상태메모`
- stateCode `type: number` `length: 3` `description: 상태코드`
  - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/cashbill/response-code)
- stateDT `type: string` `length: 14` `description: 상태 변경일시`
  - 형식 : yyyyMMddHHmmss
- identityNum `type: string` `length: 19` `description: 식별번호`
  - {tradeUsage} 값이 "소득공제용" 경우 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 반환
  - {tradeUsage} 값이 "지출증빙용" 경우 사업자번호/휴대폰/카드번호 반환
- itemName `type: string` `length: 70` `description: 주문상품명`
- orderNumber `type: string` `length: 200` `description: 주문번호`
- email `type: string` `length: 100` `description: 구매자 이메일`
- hp `type: string` `length: 20` `description: 구매자 휴대폰`
- customerName `type: string` `length: 70` `description: 구매자(고객) 성명`
- confirmNum `type: string` `length: 9` `description: 국세청승인번호`
  - 현금영수증 발행 시점에 팝빌에서 자동으로 할당
- orgConfirmNum `type: string` `length: 9` `description: 당초 국세청승인번호`
- orgTradeDate `type: string` `length: 8` `description: 당초 거래일자`
- ntssendDT `type: string` `length: 14` `description: 국세청 전송일시`
  - 형식 : yyyyMMddHHmmss
- ntsresultDT `type: string` `length: 14` `description: 국세청 처리결과 수신일시`
  - 형식 : yyyyMMddHHmmss
- ntsresultCode `type: string` `length: 4` `description: 국세청 결과코드`
  - [\[참고\] 국세청 결과코드](https://developers.popbill.com/cashbill/response-code#nts-result)
- ntsresultMessage `type: string` `length: 30` `description: 국세청 결과메시지`
- printYN `type: boolean` `length: -` `description: 인쇄여부`
  - `true`: 인쇄
  - `false`: 미인쇄
- interOPYN `type: boolean` `length: -` `description: 연동문서 여부`
  - `true`: API를 통해 발행한 연동문서
  - `false`: 팝빌 사이트를 통해 발행한 문서

**응답 예시**

```json
[
    {
        "itemKey": "025102315531300001",
        "mgtKey": "TEST0001",
        "tradeDate": "20251023",
        "tradeDT": "20251023155313",
        "issueDT": "20251023155313",
        "identityNum": "12****7890",
        "taxationType": "과세",
        "totalAmount": "11000",
        "tradeUsage": "지출증빙용",
        "tradeType": "승인거래",
        "tradeOpt": "일반",
        "stateCode": 304,
        "stateDT": "20251023155313",
        "printYN": false,
        "confirmNum": "TB0000032",
        "ntssendDT": "20251024000000",
        "ntsresultDT": "20251024091509",
        "ntsresultCode": "0000",
        "ntsresultMessage": "더미승인",
        "supplyCost": "10000",
        "tax": "1000",
        "serviceFee": "0",
        "interOPYN": true,
        "regDT": "20251023155314"
    }
]
```

## 3. GetDetailInfo - 상세정보 확인

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

- 현금영수증 1건의 상세정보를 확인합니다.

### Request

**요청 헤더**

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

- MgtKey `type: string` `length: 24` `required: Y` `description: 파트너가 할당한 문서번호`

**Query 파라미터**

- Detail `type: -` `length: -` `required: Y` `description: 상세 정보`
  - 빈값으로 입력

**요청 예시**

```bash
curl --request GET \
  --url 'https://{domain}/Cashbill/{MgtKey}?Detail' \
  --header 'Authorization: Bearer {token}'
```

### Response

**응답 본문**

- mgtKey `type: string` `length: 24` `description: 문서번호`
  - 문서 관리를 위해 파트너가 할당하는 식별번호
- confirmNum `type: string` `length: 9` `description: 국세청승인번호`
  - 현금영수증 발행 시점에 팝빌에서 자동으로 할당
- orgConfirmNum `type: string` `length: 9` `description: 당초 국세청승인번호`
  - {tradeType}="취소거래" 경우 반환
- orgTradeDate `type: string` `length: 8` `description: 당초 거래일자`
  - {tradeType}="취소거래" 경우 반환
- tradeDate `type: string` `length: 8` `description: 거래일자`
  - 현금영수증 발행 시점에 팝빌에서 자동으로 할당
  - {tradeDT}의 yyyyMMdd
- tradeDT `type: string` `length: 14` `description: 거래일시`
  - 형식 : yyyyMMddHHmmss
- tradeType `type: string` `length: 4` `description: 문서형태`
  - `승인거래`
  - `취소거래`
- tradeUsage `type: string` `length: 5` `description: 거래구분`
  - `소득공제용`
  - `지출증빙용`
- tradeOpt `type: string` `length: 4` `description: 거래유형`
  - `일반`
  - `도서공연`
  - `대중교통`
- taxationType `type: string` `length: 3` `description: 과세형태`
  - `과세`
  - `비과세`
- totalAmount `type: string` `length: 9` `description: 거래금액 (공급가액+부가세+봉사료)`
- supplyCost `type: string` `length: 9` `description: 공급가액`
- tax `type: string` `length: 9` `description: 부가세`
- serviceFee `type: string` `length: 9` `description: 봉사료`
- franchiseCorpNum `type: string` `length: 10` `description: 가맹점 사업자번호`
- franchiseTaxRegID `type: string` `length: 4` `description: 가맹점 종사업장 식별번호`
- franchiseCorpName `type: string` `length: 200` `description: 가맹점 상호`
- franchiseCEOName `type: string` `length: 100` `description: 가맹점 대표자 성명`
- franchiseAddr `type: string` `length: 400` `description: 가맹점 주소`
- franchiseTEL `type: string` `length: 20` `description: 가맹점 전화번호`
- identityNum `type: string` `length: 19` `description: 식별번호`
  - {tradeUsage} 값이 "소득공제용" 경우 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 반환
  - {tradeUsage} 값이 "지출증빙용" 경우 사업자번호/휴대폰/카드번호 반환
- customerName `type: string` `length: 70` `description: 구매자(고객) 성명`
- itemName `type: string` `length: 70` `description: 주문 상품명`
- orderNumber `type: string` `length: 200` `description: 주문번호`
- email `type: string` `length: 100` `description: 구매자(고객) 메일`
- hp `type: string` `length: 20` `description: 구매자(고객) 휴대폰`
- smssendYN `type: boolean` `length: -` `description: 구매자 알림문자 전송 여부`
  - `true`: 전송
  - `false`: 미전송 : 기본값
  - 수신자 : 구매자 휴대폰번호 {hp}
- cancelType `type: string` `length: -` `description: 취소사유`
  - `1`: 거래취소
  - `2`: 오류발급취소
  - `3`: 기타
  - {tradeType}="취소거래" 경우 입력

**응답 예시**

```json
{
    "mgtKey": "TEST0001",
    "tradeDate": "20251023",
    "tradeDT": "20251023155313",
    "tradeUsage": "지출증빙용",
    "tradeType": "승인거래",
    "tradeOpt": "일반",
    "taxationType": "과세",
    "supplyCost": "10000",
    "tax": "1000",
    "serviceFee": "0",
    "totalAmount": "11000",
    "franchiseCorpNum": "1234567890",
    "identityNum": "12****7890",
    "printYN": false,
    "smssendYN": false,
    "faxsendYN": false,
    "confirmNum": "TB0000032"
}
```

## 4. CheckMgtKeyInUse - 문서번호 사용 여부 확인

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

- 파트너가 현금영수증 관리 목적으로 할당하는 문서번호 사용여부를 확인합니다.
- 응답 본문의 `itemKey` 필드에 값이 존재하면 사용 중인 문서번호이며, 값이 존재하지 않으면 사용 가능한 문서번호 입니다.
- 이미 사용 중인 문서번호는 중복 사용이 불가하고, 현금영수증이 삭제된 경우에만 문서번호의 재사용이 가능합니다.

### Request

**요청 헤더**

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

- MgtKey `type: string` `length: 24` `required: Y` `description: 파트너가 할당한 문서번호`

**요청 예시**

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

### Response

**응답 본문**

- itemKey `type: string` `length: 18` `description: 팝빌에서 할당한 식별번호`

**응답 예시**

```json
{
    "itemKey": "025102114360700001"
}
```

## 5. Search - 목록 조회

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

- 검색조건에 해당하는 현금영수증을 조회합니다. (최대 조회기간 : 6개월)

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

### Request

**요청 헤더**

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

- DType `type: string` `length: 1` `required: Y` `description: 검색일자 유형 (택 1)`
  - `R`: 등록일자
  - `T`: 작성일자
  - `I`: 발행일시
- 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: 현금영수증 상태코드`
  - 2, 3번째 자리에 와일드카드(\*) 사용가능. 예) 3\*\*
  - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/cashbill/response-code#state-code)
  - 기본값 : 전체조회
- TradeType `type: string` `length: -` `required: N` `description: 현금영수증 문서형태 (다중 선택 가능)`
  - `N`: 승인 현금영수증
  - `C`: 취소 현금영수증
  - 다중 선택시 콤마(',')로 구분. 예) N,C
  - 기본값 : 전체조회
- TradeUsage `type: string` `length: -` `required: N` `description: 거래구분 (다중 선택 가능)`
  - `P`: 소득공제용
  - `C`: 지출증빙용
  - 다중 선택시 콤마(',')로 구분. 예) P,C
  - 기본값 : 전체조회
- TradeOpt `type: string` `length: -` `required: N` `description: 거래유형 (다중 선택 가능)`
  - `N`: 일반
  - `B`: 도서공연
  - `T`: 대중교통
  - 다중 선택시 콤마(',')로 구분. 예) N,B
  - 기본값 : 전체조회
- TaxationType `type: string` `length: -` `required: N` `description: 과세형태 (다중 선택 가능)`
  - `T`: 과세
  - `N`: 비과세
  - 다중 선택시 콤마(',')로 구분. 예) T,N
  - 기본값 : 전체조회
- QString `type: string` `length: -` `required: N` `description: 조회 검색어(식별번호)`
  - 기본값 : 전체조회
- Page `type: number` `length: -` `required: N` `description: 목록 페이지번호`
  - 기본값 : 1
- PerPage `type: number` `length: -` `required: N` `description: 페이지당 표시할 목록 건수`
  - 최대 : 1,000건
  - 기본값 : 500건
- Order `type: string` `length: 1` `required: N` `description: 조회 기준일자 유형을 기준으로 하는 목록 정렬 방향`
  - `D`: 내림차순 : 기본값
  - `A`: 오름차순
- FranchiseTaxRegID `type: string` `length: -` `required: N` `description: 가맹점 종사업장번호`
  - 다수건 검색시 콤마(',')로 구분. 예) 1234,1000
  - 기본값 : 전체조회

**요청 예시**

```bash
curl --request GET \
  --url 'https://{domain}/Cashbill/Search?DType={DType}&SDate={SDate}&EDate={EDate}' \
  --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: -` `description: 현금영수증 상태/요약정보`
  - 함수 [\[GetInfo – 상태 확인\]](https://developers.popbill.com/api-reference/cashbill/api/info#GetInfo)의 리턴값 구성과 동일
  - 최대 : 1,000건
  - itemKey `type: string` `length: 18` `description: 팝빌에서 할당한 식별번호`
  - mgtKey `type: string` `length: 24` `description: 문서번호`
    - 파트너가 할당하는 식별번호
  - tradeDate `type: string` `length: 8` `description: 거래일자`
    - 형식 : yyyyMMdd
  - tradeDT `type: string` `length: 14` `description: 거래일시`
    - 형식 : yyyyMMddHHmmss
  - tradeType `type: string` `length: 4` `description: 문서형태`
    - `승인거래`
    - `취소거래`
  - tradeUsage `type: string` `length: 5` `description: 거래구분`
    - `소득공제용`
    - `지출증빙용`
  - tradeOpt `type: string` `length: 4` `description: 거래유형`
    - `일반`
    - `도서공연`
    - `대중교통`
  - taxationType `type: string` `length: 3` `description: 과세형태`
    - `과세`
    - `비과세`
  - totalAmount `type: string` `length: 9` `description: 거래금액`
    - 공급가액 + 부가세 + 봉사료
  - supplyCost `type: string` `length: 9` `description: 공급가액`
    - 양수만 입력
  - tax `type: string` `length: 9` `description: 부가세`
    - 양수만 입력
  - serviceFee `type: string` `length: 9` `description: 봉사료`
    - 양수 또는 0 입력
  - issueDT `type: string` `length: 14` `description: 발행일시`
    - 형식 : yyyyMMddHHmmss
  - regDT `type: string` `length: 14` `description: 등록일시`
    - 형식 : yyyyMMddHHmmss
  - stateMemo `type: string` `length: 200` `description: 상태메모`
  - stateCode `type: number` `length: 3` `description: 상태코드`
    - [\[참고\] 팝빌 상태코드](https://developers.popbill.com/api-reference/cashbill/response-code)
  - stateDT `type: string` `length: 14` `description: 상태 변경일시`
    - 형식 : yyyyMMddHHmmss
  - identityNum `type: string` `length: 19` `description: 식별번호`
    - {tradeUsage} 값이 "소득공제용" 경우 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 반환
    - {tradeUsage} 값이 "지출증빙용" 경우 사업자번호/휴대폰/카드번호 반환
  - itemName `type: string` `length: 70` `description: 주문상품명`
  - orderNumber `type: string` `length: 200` `description: 주문번호`
  - email `type: string` `length: 100` `description: 구매자 이메일`
  - hp `type: string` `length: 20` `description: 구매자 휴대폰`
  - customerName `type: string` `length: 70` `description: 구매자(고객) 성명`
  - confirmNum `type: string` `length: 9` `description: 국세청승인번호`
    - 현금영수증 발행 시점에 팝빌에서 자동으로 할당
  - orgConfirmNum `type: string` `length: 9` `description: 당초 국세청승인번호`
  - orgTradeDate `type: string` `length: 8` `description: 당초 거래일자`
  - ntssendDT `type: string` `length: 14` `description: 국세청 전송일시`
    - 형식 : yyyyMMddHHmmss
  - ntsresultDT `type: string` `length: 14` `description: 국세청 처리결과 수신일시`
    - 형식 : yyyyMMddHHmmss
  - ntsresultCode `type: string` `length: 4` `description: 국세청 결과코드`
    - [\[참고\] 국세청 결과코드](https://developers.popbill.com/api-reference/cashbill/response-code#nts-result)
  - ntsresultMessage `type: string` `length: 30` `description: 국세청 결과메시지`
  - printYN `type: boolean` `length: -` `description: 인쇄여부`
    - `true`: 인쇄
    - `false`: 미인쇄
  - interOPYN `type: boolean` `length: -` `description: 연동문서 여부`
    - `true`: API를 통해 발행한 연동문서
    - `false`: 팝빌 사이트를 통해 발행한 문서

**응답 예시**

```json
{
    "code": 1,
    "total": 4,
    "perPage": 500,
    "pageNum": 1,
    "pageCount": 1,
    "list": [
        {
            "itemKey": "025102315531300001",
            "mgtKey": "TEST0001",
            "tradeDate": "20251023",
            "tradeDT": "20251023155313",
            "issueDT": "20251023155313",
            "identityNum": "12****7890",
            "taxationType": "과세",
            "totalAmount": "11000",
            "tradeUsage": "지출증빙용",
            "tradeType": "승인거래",
            "tradeOpt": "일반",
            "stateCode": 304,
            "stateDT": "20251023155313",
            "printYN": false,
            "confirmNum": "TB0000032",
            "ntssendDT": "20251024000000",
            "ntsresultDT": "20251024091509",
            "ntsresultCode": "0000",
            "ntsresultMessage": "더미승인",
            "supplyCost": "10000",
            "tax": "1000",
            "serviceFee": "0",
            "interOPYN": true,
            "regDT": "20251023155314"
        }
    ],
    "message": "검색 완료"
}
```

## 6. GetURL - 문서함 팝업 URL

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

![문서함 팝업 URL 미리보기](https://developers.popbill.com/images/reference/cashbill/getURL.png)

**현금영수증 문서함의 팝업 URL을 반환합니다.**

- 권장 사이즈 : width = 1,280px (최소 1,000px) / height = 800px
- 반환되는 URL은 30초 동안만 사용이 가능합니다.
- 반환되는 URL은 팝빌회원의 로그인 세션을 포함하고 있으니 사용에 유의하여 주시기 바랍니다.

### Request

**요청 헤더**

- Authorization `required: Y` `description: 인증 토큰`
  - [\[참고\] 인증 및 헤더 설정](https://developers.popbill.com/api-reference/cashbill/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: 접근 메뉴 (택 1)`
  - `TBOX`: 임시 문서함
  - `PBOX`: 발행 문서함
  - `WRITE`: 현금영수증 작성

**요청 예시**

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

### Response

**응답 본문**

- url `type: string` `length: -` `description: 현금영수증 문서함 팝업 URL`

**응답 예시**

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