> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Document AI: 맞춤형 문서 데이터 추출

> Didit을 통해 최대 3개의 맞춤형 문서를 수집하고 AI로 정의한 필드를 정확히 추출한 후 다른 단계 및 자체 규칙과 대조 검증하세요.

Document AI를 사용하면 고정된 템플릿에 맞지 않는 문서(자금 증명, 급여 명세서, 자산 출처 확인서, 세금 명세서 등)를 수집하고 **나**가 정의한 필드를 정확하게 추출할 수 있습니다. 각 문서의 화면 표시 제목 및 설명(모든 인증 언어로 자동 번역됨)과 읽어올 데이터 항목 목록을 구성할 수 있습니다. Didit의 AI가 해당 필드를 추출하고, 선택적으로 다른 인증 단계와 상호 대조하며, 설정한 규칙을 적용하여 상태를 생성합니다.

Document AI 연동 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`# Goal
Integrate Didit Document AI (configurable multi-document upload + AI field extraction + cross-checks) into your app.

\# Setup (Business Console or POST /v3/workflows/)
Add the DOCUMENT_AI feature to your workflow and configure:
\- document_ai_documents: up to 3 documents. Each has { document_key, title, description, fields[] }.
Each field is { key, name, instruction, type: "text" | "number" | "date", required, is_full_name }.
title and description are auto-translated into every verification language on save.
\- is_full_name: optional boolean on a field. Marks the field whose value is compared automatically against the
verified subject: on a person (KYC) workflow the document holder's full name (the ID-verification name, or the
session's expected details), and on a business (KYB) workflow the verified company name (the registry-matched
company, or the session's expected company name). A low match below document_ai_name_match_score_threshold
triggers document_ai_name_mismatch_action. At most one field per document may set it, and it is optional — a
document may mark none (no name check runs).
\- Basic rules (per-risk action DECLINE | REVIEW | NO_ACTION): document_ai_unreadable_document_action,
document_ai_missing_required_fields_action, document_ai_document_tampering_action,
document_ai_name_mismatch_action, document_ai_unsupported_file_action, document_ai_max_attempts_exceeded_action.
\- document_ai_name_match_score_threshold (0-100), document_ai_max_retry_attempts (2-5).
\- status_rules[]: custom rules on any extracted field. Reference an extracted field as document_ai.<field_key>
and cross-reference other steps with value_type:"field" (e.g. document_ai.account_holder equals kyc.full_name).

\# Flow
1\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
2\. Open session.url for the user (or mount the Web/Mobile SDK). The user uploads each configured document.
3\. The user uploads documents to POST /v3/document-ai/documents/ (handled by the hosted flow/SDK):
multipart/form-data with { document_key, document, locale? }, Session-Token auth.
Response: { valid?, next_step, document_ai_status, uploaded_document_keys[], required_document_keys[] }.
The step completes once every configured document_key is uploaded.
4\. Fetch the decision — GET /v3/session/{sessionId}/decision/ or subscribe to session.status.updated.

\# Decision surface
DOCUMENT_AI appears in the decision features[] array as { feature: "DOCUMENT_AI", node_id }.
Per-document statuses combine via precedence Declined > In Review > Approved.

\# See also
\- Report: /core-technology/document-ai/report-document-ai
\- Rules & warnings: /core-technology/document-ai/warnings-document-ai
\- Configure in the console: /console/workflows
\- Standalone API (server-to-server, no hosted UI): POST /v3/document-ai/ — /standalone-apis/document-ai`

\</pre>



      
      

붙여넣을 곳

> [!NOTE]
>
> 문서가 이미 서버에 준비되어 있나요? [Document AI API](https://docs.didit.me/ko/standalone-apis/document-ai.md)를 직접 호출해 보세요. 단 한 번의 `POST /v3/document-ai/` 요청으로 파일과 필드 정의를 전송하면 호스팅 플로우 없이도 추출된 필드, 이름 일치 여부 및 상태를 동기식으로 반환받을 수 있습니다. 문서당 \$0.20입니다.## 작동 방식**1. 문서 및 필드 구성**워크플로 빌더에서 최대 **3개의 문서**를 정의할 수 있습니다. 각 문서에 대해 다음 항목을 설정합니다:| 설정 | 설명 |
| - | - |
| **제목 및 설명** | 업로드 화면에서 사용자에게 표시됩니다. 한 번만 입력하면 지원되는 모든 인증 언어로 **자동 번역**됩니다. |
| **추출할 필드** | 타입이 지정된 필드 목록입니다. 각 필드에는 이름, AI를 위한 추출 지침, 타입(`text`, `number`, `date`), 필수 여부 플래그, 선택적 **성명** 표시자가 포함됩니다. |
| **이름 필드** | 선택적으로 문서당 하나의 텍스트 필드를 일치 여부를 대조할 이름으로 지정할 수 있습니다. 개인(KYC) 워크플로에서는 인증된 신원과 비교되는 **성명**이며, 기업(KYB) 워크플로에서는 인증된 기업과 비교되는 **회사명**입니다. 일치하지 않을 때의 처리는 `document_ai_name_mismatch_action`으로 결정됩니다. 선택 사항이며, 설정하지 않으면 해당 문서에 대한 이름 확인을 건너뜁니다. |[템플릿](#기본-템플릿)에서 시작하거나 처음부터 새로 구성할 수 있습니다.**2. 사용자의 문서 업로드**사용자는 구성된 문서당 하나의 파일(PDF 또는 이미지)을 업로드합니다. 각 업로드는 독립적으로 처리되며, 필요한 모든 문서가 제출되면 단계가 완료됩니다.**3. AI 추출**Didit은 각 문서를 렌더링하고 필드 정의를 바탕으로 구축된 스키마를 사용하여 비전-언어 모델을 실행합니다. 추출된 값은 타입이 지정되어 반환되며(숫자는 숫자로, 날짜는 `YYYY-MM-DD` 형식으로 반환) 문서별로 저장됩니다. 위변조 여부를 감지하기 위해 PDF/EXIF 포렌식이 실행됩니다.**4. 상호 대조 및 규칙**추출된 필드는 다른 단계의 필드와 상호 대조할 수 있으며(예: 문서 소유자 이름을 인증된 신분증과 대조하거나, 모든 필드를 설문지 응답과 대조), 설정한 **기본 규칙** 및 **커스텀 상태 규칙**을 적용할 수도 있습니다. 결과로 산출된 문서별 상태가 취합되어 최종 기능 상태로 결정됩니다.## 기본 템플릿Document AI 노드를 추가할 때 제목, 설명 및 타입 지정 필드가 미리 채워진 기성 템플릿에서 시작할 수 있습니다. 이후 모든 항목을 자유롭게 맞춤 설정할 수 있습니다.| 템플릿 | 주요 필드 |
| - | - |
| **자금 증명** | 계좌 명의인, 잔액, 통화, 명세서 날짜 |
| **소득 증명(급여 명세서)** | 고용주, 직원 성명, 세전/세후 급여, 지급 기간 |
| **자산 출처** | 출처 유형, 금액, 일자, 기관 |
| **세금 서류** | 납세자 성명, 과세 연도, 신고 소득, 납세자 번호 |## 다른 단계와의 상호 대조Document AI 필드는 `document_ai.<field_key>` 형식으로 참조할 수 있으며, `value_type: "field"`가 지정된 커스텀 상태 규칙을 사용하여 완료된 다른 단계의 필드와 대조할 수 있습니다. 예:- `document_ai.account_holder` **equals** `kyc.full_name` — 문서 소유자가 인증된 신원과 일치합니다.
- `document_ai.balance` **greater\_than** `50000` — 고액 잔액을 검토 대상으로 표시합니다.일치 규칙은 플랫폼 우선순위 규칙인 **거부됨 > 검토 중 > 승인됨**에 따라 최종 결정에 통합되므로, 규칙을 통해 심각도를 높일 수는 있지만 더 엄격한 리스크 기반 상태를 재정의하여 낮출 수는 없습니다. 자세한 내용은 [규칙 및 경고](https://docs.didit.me/ko/core-technology/document-ai/warnings-document-ai.md)를 참고하세요.## 문서 요구사항| 요구사항 | 세부사항 |
| - | - |
| **단계당 문서 수** | 최대 3개, 각각 독립적으로 구성 |
| **지원 형식** | PDF, JPG, JPEG, PNG, TIFF, WebP |
| **페이지** | 다중 페이지 PDF 지원 |
| **품질** | 원본 문서 또는 고화질 스캔본, 디지털 편집이나 위변조가 없어야 함 |> [!NOTE]
>
> Document AI는 비정형 텍스트 읽기를 수행하므로 문서당 수 초의 지연 시간이 발생합니다. Webhook은 워크플로 단계 전체가 완료된 경우에만 전송되므로, 이 처리 시간 동안 결정 endpoint를 5초보다 짧은 주기로 폴링하지 마세요.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.