> ## 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.

# 주소 증명 API: 공과금 고지서 검증

> Didit의 주소 증명 API는 공과금 고지서, 은행 거래 내역서, 정부 문서에서 AI 기반 데이터 추출을 통해 거주지 주소를 검증합니다. 호출당 요금은 $0.20입니다.

주소 증명(Proof of Address, PoA) 인증을 사용하면 공식 문서로 사용자의 거주 주소를 확인할 수 있습니다. 이 기능은 사용자가 주소를 확인해 주는 문서를 촬영하거나 업로드할 수 있게 하여 주소 인증 과정을 간소화합니다.

주소 증명 연동 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\````# Goal
Integrate Didit Proof of Address (utility bill, bank statement, government letter OCR + cross-checks) into your app. Pick ONE mode.

\# Mode A — Session-based
Use this when the user uploads the document in a hosted Didit flow.

1\. Add the PROOF_OF_ADDRESS feature to the workflow (Business Console or POST /v3/workflows/). Configure: poa_languages_allowed, poa_document_age_months, and the per-risk actions (poa_issuer_not_identified_action, poa_name_mismatch_action, poa_address_mismatch_action, poa_document_expired_action, poa_language_not_allowed_action).
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open session.url for the user (or mount the Web/Mobile SDK).
4\. Fetch the decision — GET /v3/session/{sessionId}/decision/ or subscribe to session.status.updated.

Decision surface: `poa_verifications[]` array on the decision payload.

\# Mode B — Standalone API (server-to-server)
Use when you already have the document and want a one-shot check decoupled from a hosted flow.

POST https://verification.didit.me/v3/poa/
multipart/form-data — x-api-key: YOUR_API_KEY

Latency: OCR typically takes 5–15s (up to ~30s for multi-page PDFs). Use a client timeout of **at least 45s**. Max upload 15 MB (PDF, JPG, PNG, TIFF, WebP). Encrypted PDFs require `document_password` or you get HTTP 400 with `code: "encrypted_pdf"`.

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/poa/' \
-H "x-api-key: $DIDIT_API_KEY" \
-F "document=@./utility-bill.pdf" \
-F "expected_address=Av. Monseñor Tavella 3396, Salta" \
-F "expected_country=ARG" \
-F "expected_first_name=Sophia" \
-F "expected_last_name=Martinez" \
-F "poa_languages_allowed=en,es" \
-F "vendor_data=user-1234"
\```
Returns: { request_id, poa: { status, parsed_address, document_type, issuer, issue_date, language, document_metadata: { overlay_manipulation }, warnings: [...] } }.

\# Status enum (per poa_verifications[].status / poa.status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.PROOF_OF_ADDRESS)
warnings[] risk codes include:
ISSUER_NOT_IDENTIFIED, LANGUAGE_NOT_ALLOWED, DOCUMENT_EXPIRED, DOCUMENT_TOO_OLD, NAME_MISMATCH, ADDRESS_MISMATCH, COUNTRY_MISMATCH, OVERLAY_MANIPULATION_DETECTED, UNREADABLE_DOCUMENT.
Full catalogue: /core-technology/proof-of-address/warnings-proof-of-address.

\# Failure modes to handle
\- HTTP 400 with `code: "encrypted_pdf"` — the PDF is password-protected (or the password is wrong); supply the right `document_password` or a decrypted copy.
\- HTTP 400 with `code: "document_unreadable"` — the file is corrupt or cannot be opened; ask the user for a different file. Branch on `code`, not on the message text.
\- HTTP 503 with `code: "document_processing_busy"`: too many documents are being processed, so the upload was not processed. Send the same file again after the `Retry-After` seconds.
\- HTTP 403 — out of credits.
\- Client timeout — bump to 45s+ before retrying.
\- status="Declined" with NAME_MISMATCH / ADDRESS_MISMATCH — the extracted fields don't match expected_*; do not approve.
\- OVERLAY_MANIPULATION_DETECTED — PDF forensics caught edits; reject.

\# See also
\- Canonical schema: /reference/data-models#proof-of-address
\- Per-feature report: /core-technology/proof-of-address/report-proof-of-address
\- Risk catalogue: /core-technology/proof-of-address/warnings-proof-of-address
\- Full integration playbook: /integration/integration-prompt````

\</pre>



      
      

붙여넣을 곳

인증 결과 읽기에 관한 Academy 강의에서는 7:20에 주소 증명 확인을 다룹니다.[주소 증명 - Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=440\&rel=0\&playsinline=1)## 작동 방식Didit의 주소 증명 인증은 공식 문서를 통해 사용자의 거주지 주소를 검증하는 강력한 솔루션을 제공합니다. 고급 AI, 컴퓨터 비전, 포괄적인 보안 검사를 결합하여 대규모 환경에서도 빠르고 신뢰할 수 있는 주소 인증을 지원합니다.**1. 지능형 문서 캡처**사용자는 다음 방식을 통해 주소를 인증할 수 있습니다.| 방식 | 설명 |
| - | - |
| **자동 캡처** | AI가 최적의 문서 위치를 자동으로 감지하고 가장 이상적인 순간에 자동으로 촬영합니다. |
| **업로드 옵션** | 사용자가 다양한 형식(PDF, JPG, PNG)의 기존 문서를 업로드할 수 있습니다. |
| **다중 페이지 지원** | 은행 거래 내역서와 같은 다중 페이지 문서를 원활하게 처리합니다. |**2. 고급 데이터 추출 및 검증**강력한 처리 기능:- 주소 정보 추출을 위한 고정밀 OCR
- 문서 유형을 식별하는 지능형 문서 분류
- 교차 검증을 위한 신분증과의 성명 일치 확인
- 발급일 추출 및 구성된 요구 조건 대비 유효성 검증
- 모든 주소 필드에 대한 서식 및 패턴 일치 확인**3. 포괄적인 검증**AI 기반 시스템이 광범위한 검사를 수행합니다.| 검사 | 설명 |
| - | - |
| **문서 진위 확인** | 문서의 진위 검증 |
| **위변조 감지** | 조작을 감지하기 위한 이미지 무결성 분석 |
| **주소 표준화** | 주소 필드의 서식 지정 및 표준화 |
| **지오코딩** | 추출된 주소로부터 위치 좌표 제공 |
| **언어 감지** | 문서 언어 식별 및 유효성 확인 |**4. 원활한 결과 전송**다양한 채널을 통해 인증 결과에 액세스할 수 있습니다.- 실시간 대시보드 업데이트
- 즉각적인 webhook 알림
- RESTful API 연동
- 상세 인증 세션 정보가 포함된 종합 보고서## 문서 요건성공적인 주소 확인을 위해 문서는 다음 기준을 충족해야 합니다.#### 허용되는 문서 유형다음 표는 허용되는 문서 유형과 각각의 세부 유형을 보여줍니다. 별도로 지정되지 않는 한 모든 문서는 최근 3개월 이내에 발급된 것이어야 합니다.| 문서 유형 | 세부 유형 |
| - | - |
| **공과금 청구서** | 전기 요금 청구서, 수도 요금 청구서, 가스 요금 청구서, 인터넷 요금 청구서, 전화 요금 청구서, 케이블 TV 요금 청구서, 위성 TV 요금 청구서, 쓰레기 수거 요금 청구서, 하수도 요금 청구서, 난방비 청구서, 통합 공과금 청구서, 지방자치단체 서비스 요금 청구서 |
| **은행 거래명세서** | 계좌 내역서, 신용카드 명세서, 주소 확인 은행 서한, 모기지 명세서, 대출 명세서, 저축 예금 명세서, 당좌 예금 명세서, 투자 계좌 명세서, 기업 계좌 명세서, 신용협동조합 명세서, 직불카드 명세서, 신용 한도 명세서 |
| **정부 발급 문서** | 세무 평가서, 유권자 등록증, 신분증, 거주 증명서, 정부 서한/통지서, 인구조사 서한, 개인 등록 증명서, 재산세 고지서, 차량 등록증, 사회보장 명세서, 실업 급여 증빙 서한, 장애 급여 증빙 서한, 연금 명세서, 법원 소환장, 배심원 소집 통지서, 지자체 인허가증, 이민 서류 |
| **기타 주소 증명** | 임대차 계약서, 임대 계약서, 고용주 주소 확인 서한, 보험 증권 문서, 재학 증명서, 공증된 주소 진술서, 변호사 주소 확인 서한, 학자금 대출 명세서, 주소 확인 법원 문서, 주택 소유자 보험 증권, 임차인 보험 증권, 자동차 보험 증권, 건강보험 명세서, 의료비 청구서, 병원비 청구서, 구독 서비스 청구서, 헬스장 회원권 명세서, 부동산 관리업체 서한, 주택 소유자 협회 명세서, 대학교 성적증명서, 대학 재학 확인서, 급여 명세서, 재직 증명서, 퇴직 계좌 명세서, 증권 계좌 명세서 |#### 지원 국가기본적으로 주소 증명은 터크스 케이커스 제도(`TCA`) 및 투발루(`TUV`)를 포함하여 신분증 인증과 동일한 국가 및 영토를 지원합니다. 지원되는 모든 국가는 위에 나열된 네 가지 문서 카테고리를 제공합니다. 워크플로의 주소 증명 설정에서 이 기본 지원 범위를 제한할 수 있습니다.> [!NOTE]
>
> 기존 워크플로에 새로 지원되는 국가가 표시되지 않는 경우, 해당 워크플로의 주소 증명 설정을 열고 다시 저장하여 워크플로의 허용 국가 구성을 새로고침하세요.![Didit 주소 증명 허용 문서 유형 — 공과금 청구서, 은행 및 정부 명세서](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/proof-of-address-id-table.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=b065b2bb6f64408442b49d89ab16cb46)#### 일반 요건- 발급일로부터 90일 이내의 유효한 문서
- 물리적으로 훼손되지 않은 상태(손상, 긁힘, 얼룩이 없음)
- 전체 주소 정보가 명확히 보여야 함
- 문서 발급 기관 명칭 및 로고가 보여야 함
- 문서에 기재된 성명이 사용자의 인증된 성명과 일치해야 함
- 신분증과 다른 문서(신분증 인증에 사용된 것과 동일한 문서는 사용할 수 없음)#### 이미지 요건- 실시간으로 촬영된 원본 문서 또는 고화질 스캔본
- 지원 형식: JPG, JPEG, PNG, TIFF, PDF
- 최대 파일 크기: 15MB
- 모든 모서리가 보이는 풀컬러 이미지
- 디지털 편집이나 변조가 없을 것
- 여러 페이지로 된 문서의 경우 모든 페이지 포함


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