소득금액증명 자료를 조회하기 위한 인증 요청입니다. 사용자에게 간편인증을 요청하고, 결과 조회에 쓸 transactionId 를 바로 돌려줍니다.
인증요청과 결과조회는 완전히 분리되어 있습니다. 이 호출은 인증요청만 보내고 transactionId 를 즉시 반환합니다. 결과는 사용자가 승인한 뒤 /rest/get_income_amount_cert 에 transactionId 를 넣어 확인합니다.
조회 항목은 엔드포인트로 정해지므로 별도로 지정하는 파라미터가 없습니다.
이 응답의 expiresAt 까지만 승인할 수 있습니다. 남은 시간을 화면에 표시하고, 만료되면 사용자가 다시 요청할 수 있게 해 주세요.
2단계 · 결과조회 엔드포인트
이 API 는 polling 용도입니다. 호출 자체는 언제든 무료이며, 실제 결과가 최초로 반환되는 1회에만 과금됩니다. 같은 transactionId 로 다시 조회하면 charged=false 로 추가 과금이 없습니다.
인증 대기(AUTH_WAITING)·조회 중(COLLECTING)·실패(FAILED)·만료(AUTH_EXPIRED) 응답은 과금되지 않습니다. 결과를 받을 때까지 안심하고 반복 조회하세요.
결과가 준비된 뒤에는 조회 시각 기준 24시간 동안 재조회할 수 있습니다. 이 기간의 재조회는 무과금입니다.
응답에는 실제 정보를 확인한 시각이 checkedAt 으로 포함됩니다. 저장해 둔 값을 돌려주는 것이 아니라 그 시점에 확인한 값입니다.
폴링은 resultAvailable=true 를 받는 순간 멈추세요. 최대 시간은 expiresAt(인증 대기)까지이고, 그 뒤로는 결과가 나올 때까지입니다. 자세한 값은 호출 제한과 재시도를 참고하세요.
조회 항목이 여러 개인 상품은 일부만 성공하면 PARTIAL_SUCCESS 로 반환하며, 이때도 실제 조회된 데이터가 있으면 최초 1회 과금됩니다. 어느 항목이 성공·실패했는지는 sources 에 표시됩니다.
결과 단가는 60P × 데이터셋 수(1)입니다 (기간 옵션 없음 → 1년). 이 상품은 조회 기간을 바꾸어도 기간 배수가 적용되지 않습니다.
요청과 응답
1인증 요청
POST/rest/req_income_amount_cert
Bearer 인증
multipart/form-data
JSON 응답
요청 파라미터 18개 · 필수 8
파라미터
설명
namestring필수
조회 대상의 이름입니다. 간편인증·개인 조회에서는 성명, 기업 조회에서는 법인명·상호를 뜻합니다. 생년월일·전화번호 같은 보조 식별자와 함께 확인하세요.
본인 명의 휴대전화 번호입니다. 하이픈 없이 숫자만 입력하며(예: 01012341234), 인증 문자를 받을 수 있는 번호여야 합니다.
예시
01011112222
authProviderstring필수
사용할 간편인증 수단의 식별자입니다. 예: kakao, naver, toss, pass. 지원 값과 표시 이름은 이 문서의 간편인증 목록을 확인하세요.
예시
kakao
yearstring필수
조회할 연도(4자리)입니다. 서비스별 지원 범위를 확인하세요.
예시
1234567890
use_purposestring필수
사용용도 코드(10097) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
submit_tostring필수
제출처 코드(10150) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
deliverystring필수
교부방법(06 프린터·10 화면·04 팩스·12 전자문서지갑) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
amount_open_ynstring선택
금액공개여부 Y/N 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
income_source_open_ynstring선택
소득발생처 공개여부 Y/N 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
withholding_all_print_ynstring선택
원천징수의무자 전체표시 Y/N 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
address_open_ynstring선택
주소공개여부 Y/N 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
resno_open_ynstring선택
주민등록번호공개여부 Y/N 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
예시
HRD-0000-0000
quantitystring선택
발급희망수량 1~5 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
emailstring선택
검증·발송할 이메일 주소입니다. @와 도메인을 포함한 전체 주소를 보내며, 형식이 맞지 않으면 조회 전에 거부됩니다.
fax_nostring선택
팩스번호(팩스 발송 시 필수) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
예시
HRD-0000-0000
wallet_addressstring선택
전자문서지갑 주소(지갑 발급 시 필수) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
formatstring선택
응답 형식(pdf=PDF만·json=PDF를 JSON으로 파싱·both=둘 다, 기본 both)
응답 필드 17개
응답 필드
설명
dataobject
요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.
data.schemaVersionstring
응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.
data.transactionIdstring
간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.
data.productstring
조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.
data.statusstring
현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.
data.resultAvailableboolean
결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.
data.chargedboolean
이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.
data.sourcesarray
자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.
data.messagestring
상태 메시지 (고정값: "인증 대기중입니다."). 안내 문구입니다. 오류 원인과 다음 행동을 설명합니다.
data.expiresAtstring
이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.
data.successinteger
업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.
data.approvalsinteger
필요한 간편인증 승인 횟수. 조회 항목 하나당 1회입니다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
apiobject
API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.
api.successboolean
API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.
api.costinteger
이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.
api.msinteger
서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.
api.pl_idinteger
포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.
하위 필드 0개 더 보기
이 경로의 응답 형식은 오른쪽 응답 예시를 확인하세요.
성공 판정 접수되면 transactionId를 저장하고 사용자에게 인증 앱 승인을 안내하세요. 이 응답은 자료 조회 완료를 뜻하지 않습니다.
2결과 조회
POST/rest/get_income_amount_cert
Bearer 인증
multipart/form-data
JSON 응답
요청 파라미터 1개 · 필수 1
파라미터
설명
transactionIdstring필수
/rest/req_income_amount_cert 가 반환한 트랜잭션 ID
예시
9f2c4a7b1d8e35c60a4f7b2d1e9c803a
응답 필드 41개
응답 필드
설명
dataobject
요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.
data.schemaVersionstring
응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.
data.transactionIdstring
간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.
data.productstring
조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.
data.statusstring
현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.
data.resultAvailableboolean
실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.
data.chargedboolean
이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.
data.sourcesarray
자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.
data.messagestring
안내 문구입니다. 오류 원인과 다음 행동을 설명합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.expiresAtstring
이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.
data.successinteger
업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.
data.progressobject
결과 준비 진행 상태 묶음입니다. 전체 자료 수와 완료된 자료 수를 담습니다.
data.checkedAtstring
실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다.
data.resultExpiresAtstring
결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다.
data.resultobject
조회 결과 본문입니다. 서비스가 찾은 실제 데이터가 들어 있으며, 자료가 없거나 조회에 실패하면 null이거나 필드가 생략됩니다.
data.errorCodestring
오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED 가능한 값은 4가지입니다. RESULT_EXPIRED = 결과 재조회 기간이 지난 경우(새로 인증해야 함), AUTH_EXPIRED = 승인 유효시간이 지난 경우, AUTH_REJECTED = 사용자가 인증을 거부한 경우, COLLECT_FAILED = 승인 뒤 결과 준비가 실패한 경우입니다. 오류가 없으면 null입니다.
apiobject
API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.
api.successboolean
API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.
api.costinteger
이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.
api.msinteger
서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.
api.pl_idinteger
포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.
하위 필드 20개 더 보기
응답 필드
설명
data.sources[].sourcestring
자료 항목의 표시 이름입니다. type과 함께 어떤 자료인지 구분할 때 사용합니다.
data.sources[].typestring
자료 유형 구분자입니다. 같은 상품 안에서 여러 종류의 자료를 묶어 받을 때 종류를 구분합니다.
data.sources[].statusstring
해당 자료 항목의 처리 상태입니다. SUCCESS는 정상, 그 외 값은 그 항목만 실패했거나 자료가 없음을 뜻합니다. 가능한 값은 2가지입니다. SUCCESS = 해당 자료 항목을 정상적으로 받은 경우, FAILED = 그 항목만 실패해 result에 그 자료가 빠진 경우입니다. 전체 status가 SUCCESS여도 항목별 FAILED가 있을 수 있습니다.
data.progress.totalinteger
이번 조회에서 준비할 전체 자료 항목 수입니다. 여러 자료를 묶은 상품에서 진행률 계산의 분모로 사용합니다.
data.progress.completedinteger
현재까지 준비를 마친 자료 항목 수입니다. total과 같아지면 모든 항목의 처리가 끝난 것입니다.
data.result.incomeAmountCertobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeAmountCert.문서확인번호string
발급된 소득금액증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.incomeAmountCert.소득금액string
귀속연도의 소득금액(원 단위 숫자). 금액이 없으면 빠진다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.응답형식string
요청한 응답 형식(pdf·json·both) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.발급문서string
발급된 PDF 원본을 base64 로 인코딩한 문자열. format 이 json 이면 빠진다.
data.result.incomeAmountCert.문서파일명string
발급 문서의 파일명 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.문서해시string
발급 문서의 SHA-256 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.문서크기integer
발급 문서의 바이트 크기 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.incomeAmountCert.PDF데이터object
PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. format 이 pdf 이면 빠진다.
data.result.incomeAmountCert.PDF데이터.사용가능boolean
PDF에서 글자를 뽑았는지 true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이 필드가 나타내는 조건이 성립한 경우, false = 성립하지 않은 경우입니다. 두 값 모두 정상 응답에 올 수 있으며, 값이 없으면 필드가 생략되거나 null일 수 있습니다.
data.result.incomeAmountCert.PDF데이터.페이지수integer
PDF 페이지 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.incomeAmountCert.PDF데이터.필드object
라벨로 찾은 값(원문 표기 그대로) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeAmountCert.PDF데이터.텍스트string
추출한 전체 텍스트 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.PDF데이터.사유string
글자를 뽑지 못한 이유. 성공이면 빠진다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
성공 판정 resultAvailable이 true이면 결과를 사용하고 폴링을 멈춥니다. SUCCESS와 PARTIAL_SUCCESS를 구분하고, charged와 api.cost는 이번 요청의 과금 판단에만 사용하세요.
입력 조건·전송 규칙
1단계 · 조회 인증 요청
모든 입력은 하위 객체 없이 최상위 이름 그대로 보냅니다.user·requestData·options 같은 묶음은 쓰지 않습니다. 형식별 예시는 요청 본문 형식을 참고하세요.
조회 항목마다 필요한 추가 입력 이 다릅니다. 값이 비어 있으면 인증을 보내지 않고 무과금으로 거절하며, 이때는 결과 단가도 발생하지 않습니다.
간편인증 방식(authProvider)
값
인증 방식
kakao
카카오톡
naver
네이버
toss
토스
pass
통신사 PASS
samsung
삼성패스
kb
KB국민은행
shinhan
신한은행
hana
하나은행
woori
우리은행
ibk
IBK기업은행
nh
NH농협은행
kakaobank
카카오뱅크
banksalad
뱅크샐러드
본문은 transactionId 하나입니다. 결과조회 엔드포인트는 인증요청과 짝이 되는 /rest/get_income_amount_cert 이며, 다른 항목의 엔드포인트로 조회하면 실패합니다.
조회 시각 기준 24시간이 지나면 RESULT_EXPIRED 가 반환됩니다. 이때는 인증요청부터 다시 시작해야 하며, 인증요청 단가(20P)가 다시 발생합니다.
HTTP 성공과 업무 결과를 구분하세요. 경로별 응답 필드와 예시는 위 요청과 응답에 함께 있습니다.
처리 상태(status)
값
의미
과금
AUTH_REQUESTED
조회 인증 요청 (/rest/req_income_amount_cert 응답)
인증요청 시 과금
AUTH_WAITING
사용자 인증 대기중
무과금
AUTH_COMPLETED
승인 완료, 조회 시작 전
무과금
COLLECTING
조회 결과를 준비하는 중
무과금
SUCCESS
모든 항목 조회 완료
최초 1회만
PARTIAL_SUCCESS
일부 항목만 조회 완료 (sources 참고)
최초 1회만
AUTH_REJECTED
사용자가 인증을 거부
무과금
AUTH_EXPIRED
제한 시간 안에 승인하지 않음
무과금
FAILED
조회 실패
무과금
결과 규격
result.incomeAmountCert
경로
타입
값 존재
설명
예시
문서확인번호
String
O
발급된 소득금액증명의 문서확인번호
0000-0000-0000-0000
귀속연도
String
O
증명의 귀속연도 4자리
2025
소득금액
String
조건부
귀속연도의 소득금액(원 단위 숫자). 금액이 없으면 빠진다.
12345678
응답형식
String
O
요청한 응답 형식(pdf·json·both)
both
발급문서
String
조건부
발급된 PDF 원본을 base64 로 인코딩한 문자열. format 이 json 이면 빠진다.
JVBERi0xLjQK...
문서파일명
String
조건부
발급 문서의 파일명
income_amount_cert.pdf
문서해시
String
조건부
발급 문서의 SHA-256
9f2c4a7b1d8e35c6
문서크기
Integer
조건부
발급 문서의 바이트 크기
165432
PDF데이터
Object
조건부
PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. format 이 pdf 이면 빠진다.
사용가능
Boolean
O
PDF에서 글자를 뽑았는지
true
페이지수
Integer
O
PDF 페이지 수
1
필드
Object
O
라벨로 찾은 값(원문 표기 그대로)
{"귀속연도":"2025"}
텍스트
String
O
추출한 전체 텍스트
문서확인번호 0000-...
사유
String
조건부
글자를 뽑지 못한 이유. 성공이면 빠진다.
PDF_TEXT_UNAVAILABLE
타입 읽는 법 — String 은 문자열, Integer 는 소수점 없는 정수(원 단위 금액 포함), Boolean 은 true/false, Object 는 이름이 있는 하위 항목 묶음, Array<Object> 는 같은 구조가 여러 건 오는 목록, Array<String> 은 문자열 목록입니다. String(YYYY-MM-DD) 처럼 괄호가 붙으면 그 형식의 문자열이라는 뜻이고 날짜 타입이 아닙니다.
값 존재 — O는 정상 결과에 있는 항목, 조건부는 해당 정보가 있을 때 제공하는 항목입니다. 누락·빈 문자열·빈 배열·0·null의 의미는 항목별 설명을 따릅니다. 부모 항목이 없으면 그 하위 항목도 없습니다.
예시 — 응답에 들어오는 형태 그대로의 값입니다. 실제 조회 결과가 아니며 개인을 특정할 수 없는 가상의 값입니다. 이 열이 비어 있으면 하위 항목이 있는 묶음이거나 값이 빠질 수 있는 항목입니다.
들여쓰기된 항목은 바로 위 부모 안에 들어 있는 하위 항목입니다. 경로 표기에서 . 는 하위 항목, [ ] 를 붙인 항목은 그 안에 여러 건이 오는 목록이라는 뜻입니다.
원문 응답 필드 표 보기
Body
이름
타입
설명
data
Object
인증 요청 결과
schemaVersion
String
결과 스키마 버전 (고정값: "1.0")
transactionId
String
결과 조회에 사용하는 트랜잭션 ID
product
String
조회 항목 코드. 결과조회에도 같은 값이 오므로 어느 항목의 결과인지 대조할 수 있습니다.
status
String
처리 상태 (AUTH_REQUESTED: 인증 요청 완료)
message
String
상태 메시지 (고정값: "인증 대기중입니다.")
approvals
Integer
필요한 간편인증 승인 횟수. 조회 항목 하나당 1회입니다.
resultAvailable
Boolean
결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다.
charged
Boolean
이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다.
expiresAt
String
인증 유효 기한(ISO 8601). 이 시각까지 승인하지 못하면 인증 실패 처리됩니다.
success
Integer
과금 여부 0: 실패 또는 재사용(무과금) 1: 발송 성공(과금)
api
Object
API 호출 공통 데이터
success
Boolean
API 서버 정상 응답 여부
cost
Integer
API 호출 요금
ms
Integer
API 응답 시간
pl_id
Integer
API 결제 로그 ID
Body
이름
타입
설명
data
Object
상태·결과
schemaVersion
String
결과 스키마 버전 (고정값: "1.0")
transactionId
String
트랜잭션 ID
product
String
조회 항목 코드. 인증요청 응답과 같은 값입니다.
status
String
처리 상태 (위 표 참고)
resultAvailable
Boolean
실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다.
charged
Boolean
이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다.
sources
Array
항상 포함됩니다. 값이 없으면 빈 배열 [] 입니다. 항목이 여러 개인 상품에서 어느 것이 성공·실패했는지 알려줍니다. 각 항목은 source(자료 이름), type(데이터 종류), status(SUCCESS/FAILED). 결과 준비가 끝나기 전에는 아직 확정되지 않은 항목이 FAILED 로 보일 수 있습니다.
progress
Object
진행률(COLLECTING 일 때). total(전체 항목), completed(완료 항목)
checkedAt
String
실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다.
위 값은 응답 구조를 보여주기 위한 예시입니다. 값은 가상이지만 필드 구성과 타입은 실제 응답과 같습니다. 전체 항목은 결과 규격을 참고하세요.
expiresAt 은 SUCCESS 응답에 없습니다. 인증 대기 기한(AUTH_WAITING)에만 있고, 결과를 받은 뒤에는 resultExpiresAt 이 그 역할을 대신합니다. 둘 중 어느 것이 오는지로 "지금이 승인 대기인지 결과 보관 기간인지"를 구분할 수 있습니다.
이 API로 조회되는 데이터
응답 필드
설명
문서확인번호String
발급된 소득금액증명의 문서확인번호
귀속연도String
증명의 귀속연도 4자리
소득금액String
귀속연도의 소득금액(원 단위 숫자). 금액이 없으면 빠진다.
응답형식String
요청한 응답 형식(pdf·json·both)
발급문서String
발급된 PDF 원본을 base64 로 인코딩한 문자열. format 이 json 이면 빠진다.
문서파일명String
발급 문서의 파일명
문서해시String
발급 문서의 SHA-256
문서크기Integer
발급 문서의 바이트 크기
PDF데이터Object
PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. format 이 pdf 이면 빠진다.
활용 사례
대출·심사 제출용 소득금액증명 PDF 내려받기
귀속연도별 소득금액을 사용자 신고자료와 대조하기
증명서 문서확인번호를 접수 기록에 남기기
조회 가능한 본인 자료와 응답 범위 안에서 활용하세요. 조회 결과는 심사·진단·거래 안전을 보장하지 않습니다.
자주 묻는 질문
소득금액증명 발급에서 어떤 자료를 받나요?
문서확인번호, 귀속연도, 소득금액, 응답형식, 발급문서, 문서파일명 등을 제공합니다. 전체 항목과 빈 값·선택 항목의 조건은 아래 응답 명세를 확인하세요.
소득금액증명 발급의 조회 비용은 어떻게 확인하나요?
현재 기본 단가는 인증 요청 20P, 결과 조회 60P입니다. 조회 기간·구성에 따른 조건과 실제 charged·api.cost는 요금 안내 및 응답에서 확인하세요.
소득금액증명 발급 자료가 비어 있으면 어떻게 처리하나요?
응답 상태와 각 필드의 빈 배열·null·선택 항목 조건을 확인하세요. 자료 없음만으로 소득금액증명 발급 대상의 상태를 단정하지 말고 오류 응답과 구분해 표시하세요.