기타 헤더 설정
팝빌 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를 생성해야 합니다.
