POPBill Developers
연동신청
  • 가이드 0
  • 레퍼런스 0
  • 오류코드 0
전자세금계산서
  • 전자세금계산서
  • 현금영수증
  • 전자명세서
  • 홈택스수집(세금)
  • 홈택스수집(현금)
  • 사업자등록상태조회
  • 기업정보조회
  • 계좌조회
  • 예금주조회
  • 카카오톡
  • 문자
  • 팩스
API 레퍼런스

기타 헤더 설정

팝빌 API는 기타 헤더를 설정하여 응답 메시지의 언어와 인코딩 방식을 지정할 수 있습니다.

Accept-Encoding - 응답 압축 방식 설정 헤더

팝빌 API는 클라이언트가 요청 헤더에 Accept-Encoding 값을 설정한 경우 인코딩된 응답을 제공합니다. 인코딩된 응답은 네트워크 전송량을 줄이고, 대량 데이터 조회 시 응답 속도 개선에 도움이 됩니다.

Accept-Encoding: gzip

클라이언트가 Accept-Encoding 헤더를 전송하지 않는 경우, 서버는 일반적으로 압축을 적용하지 않은 응답을 반환합니다. gzip과 같이 압축된 응답을 받으려면, 클라이언트는 요청한 압축 방식을 지원하고 응답 본문을 올바르게 압축 해제할 수 있어야 합니다.

Accept-Language - 응답 언어 설정 헤더

팝빌 API의 응답 메시지는 기본적으로 한글로 제공됩니다.
영문 응답이 필요한 경우 API 요청 헤더에 Accept-Language 값을 설정하여 응답 메시지 언어를 영문으로 지정할 수 있습니다.

Accept-Language: en-US

X-PB-Message-Digest - 요청 본문 무결성 검증 헤더

대량발행(Bulk) API 호출 시 요청 본문의 무결성을 검증하기 위해, 본문에 대한 MessageDigest 값을 생성한 뒤 이를 요청 헤더의 X-PB-Message-Digest 항목에 포함하여 전송해야 합니다.

샘플 코드

요청 본문을 SHA-1 해싱 후 Base64로 인코딩하는 샘플 코드입니다.

#!/bin/bash

BODY=$(cat << 'EOF'
{
    "invoices": [
        {
          "issueType": "정발행",
          "taxType": "과세",
          "chargeDirection" : "정과금",
          "writeDate": "20251016",
          "purposeType": "영수",
          "supplyCostTotal": "10000",
          "taxTotal": "1000",
          "totalAmount": "11000",
          "invoicerMgtKey": "TEST202510281800000",
          "invoicerCorpNum": "1234567890",
          "invoicerCorpName": "공급자 상호",
          "invoicerCEOName": "공급자 대표자 성명",
          "invoiceeType": "사업자",
          "invoiceeCorpNum": "1234567890",
          "invoiceeCorpName": "공급받는자 상호",
          "invoiceeCEOName": "공급받는자 대표자 성명"
        }
    ]
  }
EOF
)

MessageDigest=$(printf '%s' "$BODY" | openssl dgst -sha1 -binary | base64)

echo $MessageDigest

결과 확인

Fd13KyCZ14sRHX1TZxTLD1IR+E0=

요청 예시

curl --request POST \
  --url 'https://{domain}/Taxinvoice' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: BULKISSUE' \
  --header 'X-PB-Submit-ID: {submitID}' \
  --header 'X-PB-Message-Digest: Fd13KyCZ14sRHX1TZxTLD1IR+E0=' \
  --data '{
    "invoices": [
      {
        "issueType": "정발행",
        "taxType": "과세",
        "chargeDirection" : "정과금",
        "writeDate": "20251016",
        "purposeType": "영수",
        "supplyCostTotal": "10000",
        "taxTotal": "1000",
        "totalAmount": "11000",
        "invoicerMgtKey": "TEST202510281800000",
        "invoicerCorpNum": "1234567890",
        "invoicerCorpName": "공급자 상호",
        "invoicerCEOName": "공급자 대표자 성명",
        "invoiceeType": "사업자",
        "invoiceeCorpNum": "1234567890",
        "invoiceeCorpName": "공급받는자 상호",
        "invoiceeCEOName": "공급받는자 대표자 성명"
      }
    ]
  }'

요청 본문의 JSON 문자열은 공백이나 줄바꿈이 달라지면 해시값도 달라집니다. 요청에 실제 사용되는 JSON 문자열 그대로를 입력하여 MessageDigest를 생성해야 합니다.