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

# KYCアンケートAPI: 動的フォームビルダー

> Didit のアンケートは、ドラッグ&ドロップのビルダーでカスタムKYCアンケートを作成。多言語、条件ロジック、手動レビューへの振り分けに対応。1回$0.10の従量課金。

Didit のアンケートを使うと、確認中にユーザーから追加情報を収集するための、構造化された動的フォームを設計できます。ビジュアルビルダーで要素をドラッグ&ドロップし、内容をセクションに整理し、複数の言語に合わせてテキストをローカライズし、必要に応じて結果を手動レビューに振り分けられます。

アンケート連携プロンプト
        Copy prompt to clipboard



      
      

\<pre>

\````# Goal
Integrate Didit Questionnaires (custom KYC/KYB forms with conditional logic and manual-review routing) into your app.

\# Delivery mode
Questionnaires are **session-only**. The form is designed in the Business Console (drag-and-drop builder) and bound to a workflow via the QUESTIONNAIRE feature. There is no standalone questionnaire submission API — answers are collected through the hosted Didit flow.

\# Steps
1\. Build the questionnaire in the Business Console (Questionnaires tab). Define sections, fields, conditional visibility, multi-language labels, and **custom status rules** (e.g. "if source_of_funds = 'crypto' set status to In Review").
2\. Add the QUESTIONNAIRE feature to a workflow and select the questionnaire id (POST /v3/workflows/ or the Console).
3\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
4\. Open session.url for the user (or mount the Web/Mobile SDK) — the form renders inside the flow.
5\. Fetch the decision — GET /v3/session/{sessionId}/decision/ or subscribe to session.status.updated.

curl (create session):
\```bash
curl -X POST 'https://verification.didit.me/v3/session/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"workflow_id": "YOUR_WORKFLOW_ID",
"vendor_data": "user-1234",
"callback": "https://yourapp.com/post-kyc"
}'
\```

\# Decision surface
The result lands under `questionnaire_responses[]` on the decision payload (one entry per questionnaire node). Each entry includes:
\- `status` — final status for this questionnaire instance (driven by your custom status rules).
\- `answers` — array of { question_id, question_label, value } pairs (or nested sections).
\- `warnings` — any rule-triggered warnings.

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

\# Warnings (LogWarningChoices.QUESTIONNAIRE)
The dominant risk code is CUSTOM_STATUS_RULE_TRIGGERED — emitted whenever an answer matches a Console-configured rule that escalates the status. The warning's `additional_data` carries the rule id and matched answer so reviewers can see why the session was routed.

Full catalogue: questionnaire warnings are documented inside the report page — see /core-technology/questionnaires/report-questionnaire.

\# Failure modes to handle
\- questionnaire_responses[] empty — user abandoned the form. The session status will reflect "Abandoned"; treat per your retention policy.
\- status="In Review" with CUSTOM_STATUS_RULE_TRIGGERED — answers crossed your manual-review rule; surface the relevant answers in your reviewer UI.
\- status="Declined" — answers crossed a decline rule (e.g. user declared they are a sanctioned-country resident); do not approve.

\# See also
\- Canonical schema: /reference/data-models#questionnaire-response
\- Per-feature report: /core-technology/questionnaires/report-questionnaire
\- Full integration playbook: /integration/integration-prompt````

\</pre>



      
      

Paste into

確認結果の読み方に関するアカデミーのレッスンでは、11:54 の章で Document AI とアンケートを取り上げています。[Document AI とアンケート - Didit アカデミー](https://www.youtube.com/embed/7htTWCWsl60?start=714\&rel=0\&playsinline=1)***## アンケートを作成する2つの方法Didit には、アンケートを作成する **2つの異なる方法** があり、必要な複雑さに合わせて選べます。![Didit の KYC アンケートの、簡易モードと高度モードのビルダーを並べて比較した画面](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/questionnaires-simple-and-complex.jpg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=71d18d67b4684cca46c7809ba43cfcb6)### 1. 簡易モード: クイックフォームビルダー**簡易モード** は、シンプルなフォームをすばやく作成するのに最適です。直感的なドラッグ&ドロップのインターフェースで、要素を追加し、必須項目を設定して、数分で公開できます。![Didit のアンケートの簡易モードで、ドラッグ&ドロップでフォームを作成するビルダー画面](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/questionnaires-simple.jpg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=8e777d8fc72ca16e8e2deb65a0a66e92)**最適な用途:**- すばやいデータ収集用のフォーム
- シンプルな調査や誓約書
- フォーム作成に慣れていないチーム
- 単一言語のアンケート**使い方:**1) アンケートビルダーを開く
2) パレットから要素をフォームにドラッグする
3) 各要素 (ラベル、必須、プレースホルダー) を設定する
4) プレビューして公開する***### 2. 高度モード: ビジュアルグラフビルダー**高度モード** は、**ノードベースのビジュアルエディター** を使って、複雑なデータ収集のシナリオに対応する強力な機能を提供します。条件ロジック、分岐するパス、フローの完全な制御を備えた、高度なアンケートを構築できます。![分岐ロジックを備えた、Didit の高度なアンケートのビジュアルなノードベースのグラフエディター](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/questionnaires-node-based.jpg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=7ff0c1d79f500ed3f78dca4ff89b0698)**最適な用途:**- 多言語のアンケート
- 条件分岐を伴う複雑なフォーム
- 異なるパスを持つ、コンプライアンス主導のデータ収集
- 手動レビューのワークフローが必要なフォーム**主な機能:**- **ビジュアルノードエディター**: 無限のキャンバス上で、ノードをドラッグ、ドロップ、接続します
- **スマートな接続**: ノードのハンドルから何もない場所にドラッグすると、新しいノードが即座に作成・接続されます
- **条件分岐**: 以前の回答に基づいてユーザーを別の質問へ振り分け、その後 [共通のステップでパスを合流](#分岐したパスを共通のステップに合流させる) させられます
- **多言語対応**: ユーザーに表示されるすべてのコンテンツを翻訳できます
- **キーボードショートカット**: 元に戻す (Ctrl/Cmd+Z)、やり直し (Ctrl/Cmd+Shift+Z)、削除 (Delete/Backspace)
- **ズームとパン**: スクロールでのズームとドラッグでのパンで、複雑なフォームを移動できます#### グラフビルダーのノードの種類| ノードの種類 | 色 | 説明 | 使いどき |
| - | - | - | - |
| **質問ノード** | 青 | ユーザーのデータを収集する入力要素 | テキスト入力、ドロップダウン、ファイルのアップロード、日付など |
| **テキストノード** | 緑 | ユーザーに表示される読み取り専用のコンテンツ | 手順、説明、法的な文言 |
| **分岐ノード** | オレンジ | 回答に基づく条件付きのルーティング | 「国が米国なら、税務フォームを表示する」 |
| **セクションノード** | グレー | 関連する要素の視覚的なグループ化 | 質問を論理的なセクションに整理する |> **接続のルール:** セクションノードとテキストノードは、質問ノードや他のテキストノードに接続できますが、分岐ノードには直接接続できません。分岐ノードは、あらゆる種類のノードに接続できます。#### 分岐したパスを共通のステップに合流させる分岐は一方通行である必要はありません。複数のパスの終端を同じ下流のノードに接続すると、アンケートはそこから1回だけ続きます。共通の質問を、すべてのパスの末尾で繰り返すのではなく、1か所で作成して管理できます。**実例: Yes の場合に追加の質問をして、その後は共通の流れにする**1) **質問ノード** を追加し、Yes と No を選択肢とする **単一選択** の質問を設定します。その後ろに **分岐ノード** を追加し、`Yes` のパスと `No` のパスを作ります。
2) `Yes` のパスに、回答が Yes の場合にのみ適用される追加の質問を加えます。
3) そのパスの末尾に、分岐の後にすべての回答者が答える最初の質問、つまり共通の流れの先頭を追加します。
4) `No` のパスをその質問に向けます。`No` のパスの末尾にある **+** メニューを開いて **既存のステップに接続** を選ぶか、`No` のパスのコネクターからドラッグして、共通の質問の上端で離します。キャンバスはカードの上部にある小さなターゲットにのみ接続するため、カードの中央で離しても何も起こりません。
5) 最初の質問の後に、残りの共通の質問を追加し続けて、公開します。キャンバスには、共通の流れが、そこへ至るパスの下に1回だけ描画されます。このように、パスは既存のノードに合流でき、複数のパスが同じノードを指すこともできます。合流させると、そのパスがどこから続くかが決まるため、パスがそこで終わっている間は、**+** メニューに **既存のステップに接続** が表示されます。以前のノードに戻ってループを閉じてしまう接続は拒否されます。回答者は、どのパスを通ったかにかかわらず、共通の質問に1回だけ回答します。通らなかったパスにある質問はスキップされます。判定のペイロードも同じルールに従い、`questionnaire_responses[].sections[].items` には、回答者が通ったパスにある項目だけが含まれます。[条件付きの表示](https://docs.didit.me/core-technology/questionnaires/report-questionnaire.md#conditional-visibility) をご覧ください。***## アンケートのテンプレートテンプレートを使うと、一般的なユースケース向けにあらかじめ設定されたフォームから、すばやく始められます。そのまま使うことも、ニーズに合わせてカスタマイズすることもできます。![資金源や KYC コンプライアンス向けの、Didit のあらかじめ用意されたアンケートテンプレート](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/questionnaires-template.jpg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=97a45bd55692379ffc057e11f4530a54)### あらかじめ用意されたテンプレート| テンプレート | 説明 | 代表的な要素 |
| - | - | - |
| **資金源** | 収入源と裏付けとなる書類を収集します | ドロップダウン、長文テキスト、ファイルのアップロード |
| **雇用の詳細** | 役職、雇用主、収入の範囲を収集します | 短文テキスト、ドロップダウン、数値 |
| **口座の利用目的** | 意図する口座の使い方を把握します | 単一選択、複数選択、長文テキスト |
| **実質的支配者** | UBO と所有構造を特定します | 短文テキスト、数値、ファイルのアップロード |
| **税務上の居住地** | 税に関する申告を収集します | 国、同意、ファイルのアップロード |
| **リスク評価** | リスクに関連する情報を収集します | 複数選択、ドロップダウン、長文テキスト |***## 仕組みアンケートのワークフローは、柔軟性と監査可能性を考慮して設計されています。### 1. コンソールで作成する (ノーコード)- 要素をドラッグ&ドロップして、アンケートを作成します
- 内容を複数のセクションに整理して、わかりやすくします
- 要素を必須または任意に設定します
- プレースホルダーと補足の説明を設定します
- ドロップダウンと単一選択に、(任意の自由記述の追加入力を伴う) 選択肢を追加します
- 要素ごとに、ファイルや画像のアップロードの上限を設定します### 2. コンテンツをローカライズする- アンケートの `default_language` で、コンテンツを一度だけ書きます
- 対応する `languages` を定義します。公開すると、すべてのタイトル、説明、プレースホルダー、選択肢のラベル、検証メッセージが、それらすべての言語に **自動で翻訳** されます
- ビルダーで、任意の翻訳を手作業で微調整できます。手動での編集は、元のテキストが変更されるまで保持されます
- エンドユーザーには、利用可能な最適な言語でコンテンツが自動的に表示されます### 3. 公開して収集する- アンケートを有効にして、確認フローに組み込みます
- エンドユーザーがセクションに回答し、回答を送信します
- ファイルのアップロード (書類、画像) は保存され、回答に紐づけられます### 4. レビューして判断する* 回答は `status` とともに保存されます: `Approved`、`In Review`、`Not Finished`
* すべてのアンケートの回答を `In Review` にするように強制し、担当者が手動で承認するようにできます
* コンソールで回答とファイルを確認してから、`Approved` にします> 注: アンケートはリスク警告を生成しません。ガバナンスは、必須項目、検証、レビューのワークフローによって実現します。***## 主な機能| 機能 | 簡易モード | 高度モード |
| - | - | - |
| ドラッグ&ドロップのビルダー | ✅ | ✅ |
| 必須/任意の項目 | ✅ | ✅ |
| プレースホルダーと説明 | ✅ | ✅ |
| 複数のセクション | ✅ | ✅ |
| ファイルアップロードの上限 | ✅ | ✅ |
| ビジュアルグラフエディター | ❌ | ✅ |
| 条件分岐 | ❌ | ✅ |
| 多言語の翻訳 | ❌ | ✅ |
| 選択肢のロジック (テキストを必須にする) | ❌ | ✅ |
| 手動レビューを強制する | ❌ | ✅ |
| 元に戻す/やり直しのサポート | ❌ | ✅ |
| キーボードショートカット | ❌ | ✅ |**機能の完全な一覧:**- **ビジュアルビルダー**: 直感的なドラッグ&ドロップのエディターで、アンケートを作成・管理します
- **セクション**: 関連する質問をまとめ、ヘッダーとセパレーターを追加してユーザーを案内します
- **自動翻訳**: 1つの言語でコンテンツを書くと、選択した他のすべての言語に、ユーザーに表示されるすべてのテキストが公開時に翻訳されます。手動での微調整にも対応します
- **検証**: 項目を必須にします。アップロード要素ごとの最大ファイル数を強制します
- **選択肢のロジック**: ドロップダウン/単一選択で、選択された選択肢ごとに追加のテキストを必須にできます
- **アップロード**: ファイル数の上限 (たとえば最大3ファイル) 付きで、書類や画像を収集します
- **手動レビュー**: 必要に応じて、人による承認を待つために、すべての回答を `In Review` にするように強制します
- **有効化の切り替え**: アプリケーションごとに、アンケートを有効または無効にします
- **ワークフローとの統合**: アンケートを KYC に追加するか、アンケート確認のワークフローとして単独で実行します
- **API と Webhook**: API で構造化された結果を読み取り、更新を受け取ります***## 要素の種類ビルダーでは、次の種類の要素を追加できます (コンソールから選択できます)。### 入力要素| 要素 | 説明 | 設定オプション |
| - | - | - |
| **SHORT\_TEXT** | 1行の自由記述テキスト | プレースホルダー、必須 |
| **LONG\_TEXT** | 複数行の自由記述テキスト | プレースホルダー、必須 |
| **NUMBER** | 数値の入力 | プレースホルダー、必須 |
| **EMAIL** | 検証付きのメールアドレスの入力 | プレースホルダー、必須 |
| **PHONE** | 電話番号の入力 | プレースホルダー、必須 |
| **ADDRESS** | 住所の入力 | プレースホルダー、必須 |
| **DATE\_PICKER** | 日付の選択 | プレースホルダー、必須 |
| **TIME** | 時刻の入力 | プレースホルダー、必須 |### 選択要素| 要素 | 説明 | 設定オプション |
| - | - | - |
| **DROPDOWN** | リストからの単一選択 | 選択肢、選択肢ごとの `requires_text_input` |
| **SINGLE\_CHOICE** | ラジオボタン形式の単一選択 | 選択肢、選択肢ごとの `requires_text_input` |
| **MULTIPLE\_CHOICE** | 複数選択のチェックリスト | 選択肢 |
| **COUNTRY** | 国の選択 | 必須 |
| **CONSENT** | チェックボックスまたは確認 | 必須、カスタムのラベル |### アップロード要素| 要素 | 説明 | 設定オプション |
| - | - | - |
| **IMAGE** | 画像のアップロード | `max_files` (1-5)、必須 |
| **FILE\_UPLOAD** | 書類のアップロード | `max_files` (1-5)、必須 |### レイアウト要素| 要素 | 説明 | 備考 |
| - | - | - |
| **PARAGRAPH** | 読み取り専用の説明テキスト | 回答不可 |
| **SECTION\_HEADER** | 視覚的なセクションヘッダー | 回答不可、必須にできない |
| **SEPARATOR** | 視覚的な区切り線 | 回答不可、必須にできない |**動作に関する注意:**- `SECTION_HEADER` と `SEPARATOR` は、表示専用です。必須、プレースホルダー、選択肢、ファイルの上限は無視されます。
- 選択要素では、選択肢を `{ label, value, requires_text_input? }` として定義します。
- アップロード要素では、`max_files` (1-5) を設定して、添付できるファイル数を制御します。***## 手動レビューの強制コンプライアンスのワークフローによっては、すべての回答を人がレビューする必要があります。コンソールから、アンケートが常に `In Review` になるように設定できます。担当者が承認または変更を依頼すると、回答は `Approved` になります。**手動レビューを使うべき場面:**- 高リスクの顧客のオンボーディング
- 機密性の高いデータの収集 (資金源、UBO の申告)
- 人による監督を求める規制上の要件
- 初期展開時の品質保証***## ユースケースの例### 資金源収入源、金額を収集し、裏付けとなる書類 (給与明細、取引明細書など) をアップロードしてもらいます。ドロップダウン、長文テキスト、ファイルのアップロードを組み合わせます。**代表的な構成:**- セクション1: 雇用状況 (ドロップダウン)
- セクション2: 収入源 (複数選択 + 長文テキスト)
- セクション3: 裏付けとなる書類 (ファイルのアップロード)
- セクション4: 申告 (同意)***### 団体または会員資格所属、役割、会員資格の証明を記録し、申告のための同意要素を含めます。**代表的な構成:**- 組織名 (短文テキスト)
- 役割/役職 (ドロップダウン)
- 会員期間 (日付ピッカー)
- 会員資格の証明 (ファイルのアップロード)
- 申告 (同意)***### 取引関係の目的と想定される口座の利用状況意図、想定される取引量、活動する国、想定される取引先を収集します。コンテキストを補うために、単一/複数選択、数値入力、段落を使います。**代表的な構成:**- セクション1: 口座の利用目的 (複数選択)
- セクション2: 月間の想定取引量 (数値 + 通貨のドロップダウン)
- セクション3: 活動する国 (国 - 複数)
- セクション4: 取引の種類 (複数選択)
- セクション5: 追加情報 (長文テキスト)***## 簡易モードと高度モード: それぞれの使いどき| シナリオ | 推奨のモード |
| - | - |
| 単一言語の基本的なフォーム | 簡易 |
| 多言語対応が必要 | 高度 |
| 社内のすばやい調査 | 簡易 |
| コンプライアンスのアンケート | 高度 |
| 一度きりのデータ収集 | 簡易 |
| 条件分岐のパス | 高度 |
| 手動レビューを強制する | 高度 |
| 複数セクションの複雑なフォーム | 高度 |***## はじめに1. **アンケートは初めてですか?** まずは **簡易モード** で、ビルダーの使い方を学びましょう
2. **翻訳や条件ロジックが必要ですか?** ビジュアルグラフエディターのある **高度モード** に切り替えましょう> 結果がどのように構造化されるかは、[アンケートのレポート](https://docs.didit.me/core-technology/questionnaires/report-questionnaire.md) のページをご覧ください。


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