개요
신분증 인증 보고서는 Didit이 여권, 신분증, 운전면허증, 거주 허가증 등 정부 발급 신분증에서 추출하고 검증한 모든 정보를 담고 있습니다. 여기에는 OCR로 인식된 인적 사항 및 신분증 필드, 캡처된 미디어의 서명된 URL, 파싱 및 지오코딩된 주소 데이터, 면별 이미지 품질 점수, MRZ 내용, 다중 문자 체계(라틴/비라틴) 분석, 크로스 세션 신분증 일치 여부 등이 모두 포함됩니다. 이 보고서는 사용자가 워크플로에서 문서 캡처 단계를 완료한 후(또는 독립형 OCR endpoint를 직접 호출한 후) 생성됩니다. Didit은 문서 유형을 식별하고, OCR을 실행하며, MRZ / 바코드 / QR 코드를 검증하고, 주소를 파싱하며, 변조 여부(화면 캡처, 인쇄물 복사본, 인물 사진 조작)를 스크리닝하고, 해당 애플리케이션에서 캡처된 다른 모든 문서와 비교합니다. 각 보고서는 전체 세션 상태와 무관하게 신분증 인증 단계 자체의 결과만을 반영하는 자체status를 갖습니다.
- 승인됨 — 문서가 인식되었고, 모든 필수 필드가 추출되었으며, 거부로 라우팅되는 경고가 발생하지 않았습니다.
- 검토 중 — 하나 이상의 경고가 발생했으며, 워크플로 설정에 따라 해당 경고가 검토로 라우팅되었습니다.
- 거부됨 — 자동 거부 조건(지원되지 않는 문서, 만료된 문서, 인물 사진 누락, 차단 목록 일치, 적응형 연령 확인 실패)이 트리거되었거나 설정된 작업이 ‘거부’인 경고가 발생했습니다(최소/최대 연령의 기본 작업은 거부입니다).
- 만료됨 — 인증 완료 이후에 문서의
expiration_date가 지났습니다. Didit의 지속적인 만료 모니터링을 통해 보고서가Approved에서Expired로 전환되고,DOCUMENT_EXPIRED경고가 추가되며, 승인되었던 세션 상태가Kyc Expired로 변경됩니다. - 완료되지 않음 — 사용자가 캡처 단계를 끝까지 완료하지 않았습니다.
API 응답에서 나타나는 위치
신분증 보고서는 단일id_verification 객체가 아니라 항상 JSON 배열인 id_verifications[] 배열 내에 포함되어 전달됩니다. 워크플로에서 둘 이상의 문서 단계를 실행하는 경우(예: 기본 신분증 단계와 단계 상향(step-up) 단계를 실행하는 경우) 여러 항목이 나타납니다.
- 세션 결정 API —
GET /v3/session/{sessionId}/decision/은 최상위 수준에서id_verifications[]를 반환합니다. 세션 결정 조회를 참고하십시오. - Webhook — 단계에서 데이터가 생성되면
session.status.updatedpayload에 동일한id_verifications[]배열이 포함됩니다. Webhook을 참고하십시오. - 독립형 OCR API — 문서를 직접 제출하면 동일한 필드를 가진 단일
id_verification객체가 반환됩니다. 독립형 OCR API를 참고하십시오.
response.id_verifications[0]을 읽고 배열을 순회하십시오. 단일 id_verification 형태는 독립형 OCR API에만 존재하며, v3 결정 endpoint에는 존재하지 않습니다.스키마
필드별 표준 스키마는 데이터 모델 참조 페이지에서 확인할 수 있습니다. 아래 필드는IDVerificationV2Serializer를 확장하고 node_id, 세션 간 matches[] 배열, Silent Capture document_selfie_face_matches[] 배열을 추가한 IDVerificationV3Serializer에서 직접 제공됩니다.
최상위 필드
issuing_state는 항상 국가 수준이며, 하위 지역 수준이 아닙니다. 주나 도에서 발급한 운전면허증(호주, 미국, 캐나다)을 포함한 모든 문서 유형에서 issuing_state 및 issuing_state_name은 주(state)가 아닌 국가(예: AUS / Australia)를 보고합니다. 문서에 하위 지역 값이 있는 경우 parsed_address.region에서 별도로 제공됩니다(일부 문서 유형에서는 extra_fields.state로 대체). Business Console 세션 개요에서는 해당 값이 있는 경우 발급 국가 아래에 Region 행으로 표시됩니다.두 개의 번호가 있는 운전면허증(호주). 호주 면허증에는 소지자의 운전 자격을 식별하며 카드가 재발급되어도 변경되지 않는 면허 번호와, 실물 카드를 식별하며 재발급할 때마다 변경되는 카드 번호가 모두 인쇄되어 있습니다. 이러한 면허증에 대해 Didit은 항상 번호를 다음과 같이 매핑합니다.
personal_number— 면허 번호document_number— 카드 번호
document_number와 personal_number 모두로 보고되므로, 인증이 완료되면 document_number에는 항상 식별자가 포함됩니다. 어느 경우든 personal_number는 면허 번호입니다. 다른 문서 유형에서 document_number는 여전히 OCR로 추출된 기본 번호로 유지되며, 그 자체가 소지자 수준의 식별자일 수 있습니다.아르헨티나 CUIL은
personal_number가 아닌 extra_fields.tax_number에 저장됩니다.
아르헨티나 문서는 AFIP, ANSES 및 신용평가기관의 기준 키가 되는 11자리 식별자인 CUIL을 문서마다 서로 다른 위치에 인쇄하며, DNI에는 그 옆에 또 다른 11자리 숫자가 인쇄되어 있습니다:- 운전면허증의 경우, CUIL은
personal_number에 전달됩니다. - DNI의 경우,
personal_number에는 카드 신청 건을 식별하는 번호이자 소지자의 식별자가 아닌 número de trámite가 전달됩니다. DNI의 CUIL은 자체 인쇄 필드에서 읽어옵니다.
personal_number는 아르헨티나의 신뢰할 수 있는 CUIL이 아닙니다. DNI에서 이 번호는 11자리 숫자이지만 어떤 등록부에서도 결과를 반환하지 않습니다. 대신 extra_fields.tax_number를 확인하십시오. Didit은 소지자가 어떤 아르헨티나 문서를 제시했든 관계없이 해당 값이 실제 CUIL(개인 접두사 및 모듈로-11 검증 숫자)로 검증될 때만 구분 기호 없는 표준 숫자 형태(27111111117)로 보고합니다. 카드의 CUIL을 읽을 수 없는 경우, CUIL이 아닌 숫자로 채워지는 대신 해당 키가 생략되므로 이러한 사용자를 처리하려면 운전면허증을 두 번째 문서로 캡처하거나 설문지 답변 또는 세션의 metadata를 통해 CUIL을 수집하십시오.이미지 품질 점수
front_image_quality_score 및 back_image_quality_score는 각각 다음을 반환합니다:
문서 라이브니스 점수
document_liveness는 경고 발생 여부와 관계없이 문서 라이브니스 검사가 측정한 내용을 보고합니다. 경고는 점수가 워크플로의 임계값 중 하나 아래로 떨어졌을 때만 존재하므로, 이 필드가 도입되기 전에는 승인된 문서에 라이브니스 증거가 전혀 포함되지 않았습니다. 즉, 이 필드를 통해 통과된 세션을 감사할 수 있습니다. 검사가 실행되지 않은 경우(예: 신분증이 아닌 방식이거나 세션 로그에 모델 가동 중단이 기록된 경우)에는 null이 됩니다.
여기에는 사기 유형별(portrait_replace, printed_copy, screen_replay)로 각각 다음을 포함하는 객체가 하나씩 전달됩니다:
bucket은 모두 null입니다. 과거 결과를 재구성하기 위해 현재 워크플로 설정을 사용하는 일은 절대 없습니다. 문서 평가가 아직 완료되지 않은 캡처에도 동일하게 적용됩니다.
Business Console의 세션 신분증 인증 섹션에 있는 문서 라이브니스 블록에도 동일한 세 행이 표시됩니다.
세션 간 일치 항목
matches[]는 애플리케이션 내에서 이 문서와 일치하는 다른 문서를 최대 5개까지 나열합니다. 기준은 동일한 생년월일, 동일한 발급 국가, 그리고 유사도가 매우 높은 성명입니다. 차단 목록에 등록된 문서의 경우 추가로 문서 번호가 정확히 일치해야 합니다. 동일한 사용자(동일한 vendor_data)에 속한 세션은 제외됩니다.
각 항목에는 session_id, session_number, vendor_data, verification_date, user_details(name, document_type, document_number), status, is_blocklisted(문서가 차단 목록에 추가된 경우 true), api_service, 그리고 서명된 front_image_url이 포함됩니다.
상태 값
다중 문자 체계 문서 (라틴 / 비라틴)
키르기스스탄, 카자흐스탄, 러시아, 일본, 한국, 중국, 아랍, 태국 등 일부 문서에는 소지자의 성명, 주소 또는 출생지가 라틴 문자 음역 표기와 현지 문자 체계 모두로 인쇄되어 있습니다. 워크플로(또는 독립형 API) 설정인preferred_characters를 사용하여 최상위 응답을 채울 문자 체계를 선택할 수 있습니다:
대체 문자 체계 값은
extra_fields 내부의 접미사가 붙은 키 아래에 저장됩니다: first_name_non_latin, last_name_non_latin, middle_name_non_latin, full_name_non_latin, address_non_latin, place_of_birth_non_latin (또는 이에 상응하는 _latin 변형).
대체 문자 체계 필드가 표시되는 경우
- 두 문자 체계가 실제로 문서에 모두 존재하는 경우에만 나타납니다. 명목상 “Surname-Kyrgyz (Cyrillic)“으로 라벨이 지정된 OCR 필드가 라틴 문자 텍스트(동형 문자 또는 라틴 문자 음역 표기)로 추출된 경우, 이는 비라틴 대체 항목으로 인정되지 않으며 해당 키는 생략됩니다.
full_name_non_latin(및full_name_latin)은 두 문자 체계가 모두 제공되는 경우 항상 개별 이름, 중간 이름 및 성 구성 요소를 바탕으로 재구성됩니다. 일관성을 유지하기 위해 OCR의 원시 “Full Name” 필드는 무시됩니다.preferred_characters=latin이지만 문서에 비라틴 텍스트만 포함되어 있는 경우(따라서 최상위 필드가 비라틴으로 채워짐), Didit은 음역 과정을 실행하고 라틴 폴백으로first_name_latin,last_name_latin,middle_name_latin,full_name_latin,place_of_birth_latin및address_latin을 제공합니다.
last_name_non_latin이 없습니다. 즉, 추출할 실제 비라틴 문자로 된 성이 존재하지 않았습니다.
예시
Approved — 정상 스페인 신분증 (모든 필드)
In Review — QR 코드가 있어야 하는 문서에서 QR이 감지되지 않음
요약본입니다. 실제 응답에는 항상 위에 표시된 전체 필드 세트가 포함됩니다.보안 참고 사항
문서 이미지 및 동영상에 대해 반환되는 서명된 URL은 일시적이며, 제한된 유효 기간이 지나면 만료됩니다. 단기간만 유효한 것으로 취급하십시오. 필요한 항목은 즉시 다운로드하고 캐시하거나 공개적으로 노출하지 마십시오. 일반적으로 애플리케이션에는status, 몇 가지 인적 사항 필드 및 경고만 필요합니다. 향후 침해 위험을 최소화할 수 있도록 가능한 한 적은 데이터만 저장하십시오.