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

# Panduan Cepat Verifikasi Bisnis KYB dalam 10 Menit

> Verifikasi bisnis dalam 10 menit dengan Didit: registri perusahaan, pemilik manfaat, direktur, AML, webhook. Mulai $2.00 per pemeriksaan.

Panduan ini memandu Anda melalui verifikasi KYB lengkap dalam waktu kurang dari 10 menit. Anda akan membuat alur kerja, memulai sesi, mengirimkan tautan verifikasi yang di-hosting kepada kontak bisnis Anda, menunggu webhook, lalu mengambil keputusan akhir.

## Prasyarat

* Aplikasi Didit dengan KYB aktif. Buat di [business.didit.me](https://business.didit.me) jika belum ada.
* Kunci API dari *Developer Settings → API Keys*.
* Endpoint webhook yang dapat dijangkau dari internet (untuk webhook keputusan).

## Langkah-langkah

**1. Buat alur kerja KYB di konsol**

Buka *Workflows → Create workflow*. Pilih **Verifikasi Bisnis** sebagai jenis alur kerja.

Aktifkan fitur yang Anda butuhkan:

* **Pencarian registri perusahaan** (wajib)
* **AML Perusahaan** (direkomendasikan)
* **Pihak Kunci** (wajib untuk sebagian besar industri yang diatur)
* **Dokumen** (opsional, pilih jenis dokumen yang Anda perlukan)

Simpan dan salin `workflow_id`, karena Anda akan menggunakannya pada langkah berikutnya.

**2. Buat sesi Verifikasi Bisnis (KYB) melalui API**

```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"
  }'
```

Respons berisi `session_id`, `session_number`, dan `url`, yaitu tautan verifikasi yang di-hosting yang Anda kirimkan kepada kontak bisnis. Jenis alur kerja (KYB) secara otomatis menandai sesi sebagai sesi bisnis.

**3. Kirim tautan kepada kontak bisnis Anda**

Kirimkan `url` kepada admin perusahaan melalui email atau chat Anda sendiri. Mereka akan membukanya, mengisi data registri, menambahkan pihak kunci dan UBO, lalu mengunggah dokumen.

Anda dapat menyesuaikan pengalaman yang di-hosting dengan branding, logo, dan domain. Lihat [White Label](https://docs.didit.me/id/console/white-label.md).

**4. Terima webhook status**

Ketika bisnis menyelesaikan alur dan pemrosesan KYB mencapai status terminal, Didit mengirimkan event `status.updated` dengan metode POST ke endpoint webhook Anda. Event sesi bisnis membawa `session_kind: "business"` di dalam `data`. Gunakan nilai tersebut untuk memfilter dan mengarahkan event ke handler KYB Anda.

Verifikasi tanda tangan HMAC `X-Signature-V2` sebelum mempercayai event (lihat [webhooks](https://docs.didit.me/id/integration/webhooks.md)), lalu jalankan logika downstream Anda. Simpan `secret_shared_key` dari tujuan (dikembalikan saat Anda mendaftarkan webhook) sebagai `DIDIT_WEBHOOK_SECRET` di `.env` Anda.

Contoh payload:

```json theme={null}
{
  "event_id": "7f3c2c1e-6a1d-4c36-9d8e-0d3b5f4e2a10",
  "webhook_type": "status.updated",
  "session_id": "a1b2c3d4-5678-4abc-9def-1234567890ab",
  "business_session_id": "a1b2c3d4-5678-4abc-9def-1234567890ab",
  "session_kind": "business",
  "vendor_data": "biz-acme-001",
  "status": "Approved",
  "created_at": 1776515400,
  "timestamp": 1776515401,
  "decision": { "...": "full KYB decision" }
}
```

**5. Ambil keputusan (opsional)**

> [!NOTE]
>
> Payload webhook `status.updated` sudah berisi keputusan lengkap. Anda hanya perlu memanggil endpoint ini jika tidak berlangganan webhook, atau jika Anda ingin mengambil keputusan sesuai permintaan nanti.

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

Keputusan mencakup data registri, pihak kunci (UBO, pemegang saham, direktur, dan perwakilan), temuan AML, dokumen, dan hasil per fitur. Lihat [skema respons](https://docs.didit.me/id/business-verification/response-schema.md) untuk referensi payload lengkap.

**6. Tindak lanjuti keputusan**

Berdasarkan `status`:

* `"Approved"`: lakukan onboarding bisnis.
* `"Declined"`: tolak dan catat tag `warnings[]` dari keputusan.
* `"In Review"`: tunggu keputusan analis. Anda akan menerima webhook lain saat hasilnya sudah final.

## Contoh 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);
```

## Yang terjadi secara otomatis

* Pencarian registri perusahaan di 190+ yurisdiksi.
* Ekstraksi UBO dan pejabat dari data registri.
* Skrining AML tingkat perusahaan (sanksi, PEP, media negatif).
* AML tingkat individu untuk setiap pihak yang teridentifikasi.
* OCR dokumen dan pencocokan silang.
* Pembuatan dan agregasi [profil bisnis](https://docs.didit.me/id/business-verification/business-profiles.md) yang dikelompokkan berdasarkan `vendor_data`.

## Langkah berikutnya

> [card] [Panduan integrasi](https://docs.didit.me/id/business-verification/integration-guide.md)
>
> Arsitektur end-to-end, polling vs webhook, dan logika coba lagi.

> [card] [Webhook KYB](https://docs.didit.me/id/business-verification/webhooks.md)
>
> Setiap event KYB dan bentuk payload-nya.

> [card] [Status](https://docs.didit.me/id/business-verification/statuses.md)
>
> Referensi status sesi, fitur, dan registri.

> [card] [Skema respons](https://docs.didit.me/id/business-verification/response-schema.md)
>
> Payload keputusan KYB lengkap.

> [card] [Entitas bisnis](https://docs.didit.me/id/entities/businesses/overview.md)
>
> Cara profil diagregasi lintas sesi.


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