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

# KYBクイックスタート: 10分でできる法人確認

> Didit なら10分以内に法人確認をエンドツーエンドで実施。登記簿の照会、UBO、役員、AML、Webhook。1回の確認あたり$2.00から、国とティアごとの価格、契約不要。

このガイドでは、10分以内に完了する KYB の法人確認の手順を一通り説明します。ワークフローを作成し、セッションを開始し、ホスト型の確認リンクを法人の担当者に届け、Webhook を待ち、最終的な判定を取得します。

## 前提条件

* KYB が有効になっている Didit のアプリケーション。必要な場合は [business.didit.me](https://business.didit.me) で作成してください。
* *開発者設定 → APIキー* で取得した API キー。
* インターネットから到達できる Webhook のエンドポイント (判定の Webhook 用)。

## 手順

**1. コンソールで KYB ワークフローを作成する**

*ワークフロー → ワークフローを作成* に進みます。ワークフローの種類として **法人確認** を選択します。

必要な機能を有効にします。

* **法人登記の照会** (必須)
* **法人 AML** (推奨)
* **主要人物** (規制対象のほとんどの業種で必須)
* **書類** (任意 - 必要とする書類の種類を選びます)

保存して `workflow_id` をコピーします。次のステップで使用します。

**2. API で法人確認 (KYB) のセッションを作成する**

```bash theme={null}
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_KYB_WORKFLOW_ID",
    "vendor_data": "biz-acme-001"
  }'
```

レスポンスには `session_id`、`session_number`、そして法人の担当者に届けるホスト型の確認リンクである `url` が含まれます。ワークフローの種類 (KYB) により、セッションは自動的に法人セッションとして扱われます。

**3. リンクを法人の担当者に送る**

`url` を、自社のメールやチャットで企業の管理者に届けます。管理者はリンクを開き、登記簿のデータを入力し、主要人物と UBO を追加し、書類をアップロードします。

ブランディング、ロゴ、ドメインで、ホスト型の画面をカスタマイズできます。[ホワイトラベル](https://docs.didit.me/ja/console/white-label.md) をご覧ください。

**4. ステータスの Webhook を受け取る**

法人がフローを完了し、KYB の処理が最終ステータスに到達すると、Didit は Webhook のエンドポイントに `status.updated` イベントを POST します。法人セッションのイベントは `data` の中に `session_kind: "business"` を持ちます。これでフィルタリングして、イベントを KYB のハンドラーに振り分けてください。

イベントを信頼する前に `X-Signature-V2` の HMAC 署名を検証し ([Webhook](https://docs.didit.me/integration/webhooks.md) を参照)、そのうえで後続の処理を実行します。送信先の `secret_shared_key` (Webhook を登録したときに返されます) は、`.env` に `DIDIT_WEBHOOK_SECRET` として保存してください。

ペイロードの例:

```json theme={null}
{
  "event": "status.updated",
  "application_id": "app_abc123",
  "timestamp": "2026-04-18T12:30:00Z",
  "data": {
    "session_id": "bs_01H...",
    "session_kind": "business",
    "vendor_data": "biz-acme-001",
    "status": "APPROVED",
    "previous_status": "IN_PROGRESS"
  }
}
```

**5. 判定を取得する (任意)**

> [!NOTE]
>
> `status.updated` の Webhook ペイロードには、判定の全体がすでに含まれています。このエンドポイントを呼び出す必要があるのは、Webhook を購読していない場合や、後で必要に応じて判定を取得したい場合だけです。

```bash theme={null}
curl https://verification.didit.me/v3/session/bs_01H.../decision/ \
  -H "x-api-key: YOUR_API_KEY"
```

判定には、登記簿のデータ、主要人物 (UBO、株主、取締役、代表者)、AML のヒット、書類、機能ごとの結果が含まれます。ペイロードの完全なリファレンスは [レスポンススキーマ](https://docs.didit.me/business-verification/response-schema.md) をご覧ください。

**6. 判定に基づいて対応する**

`status` に応じて対応します。

* `APPROVED` - 法人をオンボーディングします。
* `DECLINED` - 拒否し、理由コードを記録します。
* `IN_REVIEW` - アナリストの判断を待ちます。解決すると、別の Webhook が届きます。

## Node.js の例

```typescript theme={null}
import fetch from 'node-fetch';

const API_KEY = process.env.DIDIT_API_KEY!;
const WORKFLOW_ID = process.env.DIDIT_KYB_WORKFLOW_ID!;
const BASE_URL = 'https://verification.didit.me';

async function startKybVerification(vendorData: string) {
  const res = await fetch(`${BASE_URL}/v3/session/`, {
    method: 'POST',
    headers: {
      'x-api-key': API_KEY,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ workflow_id: WORKFLOW_ID, vendor_data: vendorData }),
  });
  if (!res.ok) throw new Error(`Session create failed: ${res.status}`);
  return res.json();
}

async function getDecision(sessionId: string) {
  const res = await fetch(`${BASE_URL}/v3/session/${sessionId}/decision/`, {
    headers: { 'x-api-key': API_KEY },
  });
  return res.json();
}

// Kick off the flow
const { session_id, url } = await startKybVerification('biz-acme-001');
console.log('Deliver this URL to your contact:', url);

// ... later, after the webhook confirms completion:
const decision = await getDecision(session_id);
console.log('KYB status:', decision.status);
```

## 自動で行われる処理

* 190+の法域にわたる、企業登記簿の照会。
* 登記簿のデータからの UBO と役員の抽出。
* 法人レベルの AMLスクリーニング (制裁、PEP、ネガティブニュース)。
* 特定されたすべての関係者に対する、個人レベルの AML。
* 書類の OCR と照合。
* `vendor_data` をキーとした [ビジネスプロフィール](https://docs.didit.me/business-verification/business-profiles.md) の作成と集約。

## 次のステップ

> **[連携ガイド](https://docs.didit.me/business-verification/integration-guide.md)**
>
> エンドツーエンドのアーキテクチャ、ポーリングと Webhook の比較、リトライのロジック。

> **[KYB Webhook](https://docs.didit.me/business-verification/webhooks.md)**
>
> すべての KYB イベントとペイロードの形式。

> **[ステータス](https://docs.didit.me/business-verification/statuses.md)**
>
> セッション、機能、登記簿のステータスのリファレンス。

> **[レスポンススキーマ](https://docs.didit.me/business-verification/response-schema.md)**
>
> KYB の判定ペイロードの全体。

> **[ビジネスエンティティ](https://docs.didit.me/entities/businesses/overview.md)**
>
> プロフィールがセッションをまたいでどのように集約されるか。


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