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

# Peringatan & Kode Skip Validasi Database

> Didit merinci setiap peringatan Validasi Database: COULD_NOT_PERFORM_DATABASE_VALIDATION, registri tak terjangkau, dan kolom yang belum terisi.

Fitur [Validasi Database](https://docs.didit.me/id/core-technology/database-validation/overview.md) Didit memverifikasi data identitas terhadap registri sipil otoritatif — RENAPER (Argentina), Receita Federal (Brasil), Tribunal Electoral (Panama, biometrik), Junta Central Electoral (Republik Dominika), dan banyak lagi — ditagih per kueri yang berhasil tanpa batas minimum bulanan.

Ketika tidak ada layanan yang dapat berjalan (kolom yang wajib diisi tidak ada atau formatnya salah, registri tidak tersedia), dokumen itu sendiri tidak dapat diperiksa (dokumen tidak memuat pengenal yang dibutuhkan oleh layanan yang dikonfigurasi — misalnya paspor tanpa nomor ID nasional), atau hasil agregat tidak meyakinkan (kecocokan parsial, tidak ada kecocokan), fitur ini memunculkan **peringatan** pada sesi. Jika negara penerbit sama sekali tidak diaktifkan di alur kerja, langkah ini dilewati secara senyap tanpa peringatan dan tanpa biaya. Halaman ini mendokumentasikan setiap kode peringatan, apa yang memicunya, dan cara mengonfigurasi respons alur kerja.

## Gambaran umum

Peringatan dihasilkan baik dalam sesi alur kerja maupun oleh API mandiri (`POST /v3/database-validation/`). Kelima risiko diberi tag fitur `DATABASE_VALIDATION`, muncul pada laporan di bagian `database_validations[].warnings[]`, dan mengikuti struktur [objek peringatan](https://docs.didit.me/id/reference/data-models.md#objek-peringatan) standar (`feature`, `risk`, `additional_data`, `log_type`, `short_description`, `long_description`, `node_id`).

Tidak ada pemicu penolakan otomatis mutlak untuk Validasi Database. Dua risiko hasil pencocokan, risiko dokumen yang digantikan, dan risiko tidak berlaku dipetakan ke **tindakan yang dapat dikonfigurasi** (`DECLINE`, `REVIEW`, atau `NO_ACTION`); `COULD_NOT_PERFORM_DATABASE_VALIDATION` adalah satu-satunya perilaku tetap — risiko ini selalu mengarahkan fitur ke **Dalam Peninjauan**.

## Risiko yang dapat dikonfigurasi

| Pengaturan | Kode risiko | Perilaku |
| - | - | - |
| Tindakan Tanpa Kecocokan | `DATABASE_VALIDATION_NO_MATCH` | `REVIEW` (default alur kerja) menetapkan fitur ke **Dalam Peninjauan**; `DECLINE` menolak; `NO_ACTION` mencatat peringatan tanpa memengaruhi status. Sebaliknya, parameter `no_match_action` pada API mandiri secara default bernilai `DECLINE`. |
| Tindakan Kecocokan Parsial | `DATABASE_VALIDATION_PARTIAL_MATCH` | `NO_ACTION` (default) mencatat peringatan tanpa memengaruhi status; `REVIEW` menetapkan fitur ke **Dalam Peninjauan**; `DECLINE` menolak. |
| Tindakan Tanpa Kecocokan | `DATABASE_VALIDATION_DOCUMENT_SUPERSEDED` | Berbagi pengaturan **Tindakan Tanpa Kecocokan** — tidak ada kontrol terpisah. Registri bertentangan dengan apa yang dikirimkan, sehingga organisasi yang menolak saat tidak cocok juga akan menolak kredensial yang sudah usang. |
| Tindakan Tidak Berlaku | `DATABASE_VALIDATION_NOT_APPLICABLE` | `NO_ACTION` (default) mencatat peringatan tanpa memengaruhi status; `REVIEW` menetapkan fitur ke **Dalam Peninjauan**; `DECLINE` menolak. Dipicu ketika dokumen tidak dapat diperiksa sama sekali — dokumen tidak memuat pengenal yang digunakan oleh layanan yang dikonfigurasi untuk membuat kueri (misalnya paspor tanpa nomor ID nasional). |

Tindakan yang dikonfigurasi juga menentukan `log_type` peringatan: `DECLINE` → `error`, `REVIEW` → `warning`, `NO_ACTION` → `information`.

Hasil pencocokan itu sendiri diagregasi dari entri `validation` per layanan (setiap kecocokan penuh → `full_match`; jika tidak, setiap kecocokan parsial → `partial_match`; jika tidak, `no_match`) — lihat [Metode pencocokan](https://docs.didit.me/id/core-technology/database-validation/database-validation-matching-methods.md) untuk logika keputusan lengkap yang menghasilkan keluaran 1×1 / 2×2.

## Peringatan yang dihasilkan

| Tag | Deskripsi singkat | Deskripsi |
| - | - | - |
| `COULD_NOT_PERFORM_DATABASE_VALIDATION` | Tidak dapat melakukan validasi database | Tidak ada layanan yang mengembalikan hasil yang dapat digunakan (`match_type` tetap `null`) — biasanya karena kolom yang diperlukan tidak ada atau salah format, atau registri mengembalikan kesalahan. `additional_data` memuat ringkasan pelewatan per layanan (`reason`, `database_validation_errors`, `missing_required_fields_by_service`, `invalid_format_fields_by_service`, `field_reasons_by_service`); API mandiri menggunakan `{ "validation_errors": [...] }` sebagai gantinya. **Anda tidak dikenakan biaya** saat peringatan ini dipicu; fitur berpindah ke **dalam peninjauan** hingga data diperbaiki. |
| `DATABASE_VALIDATION_NOT_APPLICABLE` | Validasi database tidak berlaku untuk dokumen ini | Dokumen yang diberikan tidak memuat pengenal yang diperlukan oleh layanan database yang dikonfigurasi (`match_type` tetap `null`) — contohnya, paspor Brasil tidak memuat CPF, sehingga registri CPF tidak dapat dikueri. Hal ini wajar untuk tipe dokumen tersebut dan tidak menunjukkan adanya masalah pada dokumen. `additional_data` memuat ringkasan pelewatan per layanan. **Anda tidak dikenakan biaya** saat peringatan ini dipicu. Tindakan dapat dikonfigurasi (default `NO_ACTION`). |
| `DATABASE_VALIDATION_PARTIAL_MATCH` | Kecocokan parsial validasi database | `match_type` gabungan adalah `partial_match` — beberapa kolom yang diperiksa cocok dengan registri tetapi tidak semuanya. Tindakan dapat dikonfigurasi (default `NO_ACTION`). |
| `DATABASE_VALIDATION_NO_MATCH` | Validasi database tidak cocok | `match_type` gabungan adalah `no_match` — registri tidak dapat mengonfirmasi identitas yang diperiksa. Tindakan dapat dikonfigurasi (default `REVIEW` dalam alur kerja, `DECLINE` pada API mandiri). |
| `DATABASE_VALIDATION_DOCUMENT_SUPERSEDED` | Edisi dokumen digantikan | Suatu layanan mengembalikan `DOCUMENT_SUPERSEDED`: registri mengonfirmasi orang tersebut, tetapi edisi dokumen yang diberikan bukan yang tercatat — edisi yang lebih baru telah diterbitkan sejak saat itu. Dimunculkan secara independen dari `match_type`, yang tetap bernilai `full_match` karena setiap kolom pribadi memang cocok, sehingga temuan ini tidak akan terlihat jika tidak demikian. `additional_data` menyebutkan layanan yang melaporkannya. Mengikuti pengaturan **No Match Action**. |

> [!NOTE]
>
> `COULD_NOT_PERFORM_DATABASE_VALIDATION` mencakup dua situasi berbeda, dan `long_description` peringatan (serta, untuk kegagalan per layanan, `database_validation_errors[].message`) sekarang menyatakan situasi mana yang berlaku alih-alih kalimat generik tunggal: data yang diperiksa tidak ada atau salah format sebelum layanan apa pun dapat dikueri, atau layanan telah dikueri dan tidak mengembalikan hasil yang dapat digunakan. Pada kasus kedua, ketika registri melaporkan detail diagnostiknya sendiri untuk upaya tersebut, detail tersebut disertakan dalam pesan sehingga Anda tidak perlu menghubungi tim dukungan untuk mengetahui alasannya. Layanan hulu tidak pernah disebutkan namanya di dalam respons.

> [!NOTE]
>
> Ketika `COULD_NOT_PERFORM_DATABASE_VALIDATION` atau `DATABASE_VALIDATION_NOT_APPLICABLE` dipicu dalam sesi alur kerja, pemeriksaan akan otomatis dipicu ulang setelah data yang hilang diisi pada halaman detail sesi di Console — menyimpan kolom akan menjalankan ulang validasi, dan peringatan akan dihapus jika berhasil. Ini juga berfungsi ketika tindakan untuk kondisi tidak berlaku menolak sesi, sehingga sesi yang ditolak dapat dipulihkan dengan memperbaiki datanya. Untuk `DATABASE_VALIDATION_NOT_APPLICABLE`, eksekusi ulang ini membantu saat dokumen dapat memuat pengenal tersebut tetapi tidak terbaca (misalnya, kartu izin tinggal yang nomor ID nasionalnya tidak terekstraksi); tipe dokumen yang tidak pernah memuat pengenal tersebut (misalnya, paspor tanpa nomor ID nasional) akan tetap menampilkan peringatan ini. **Tidak ada biaya yang dikenakan** untuk layanan yang dilewati; Anda hanya membayar saat suatu layanan mengembalikan hasil yang dapat ditagih.

## Contoh

```json theme={null}
{
  "warnings": [
    {
      "feature": "DATABASE_VALIDATION",
      "risk": "DATABASE_VALIDATION_NO_MATCH",
      "additional_data": null,
      "log_type": "warning",
      "short_description": "Database validation no match",
      "long_description": "The system identified a no match in the database validation, requiring further investigation.",
      "node_id": "feature_db_validation_1"
    }
  ]
}
```

## Jenis peringatan

Setiap risiko diberi tingkat keparahan berdasarkan konfigurasi aplikasi Anda. Tingkat keparahan terbagi ke dalam tiga kategori:

## Terkait

* [Gambaran umum Validasi Database](https://docs.didit.me/id/core-technology/database-validation/overview.md) — cara kerja fitur secara menyeluruh dan registri yang didukung.
* [Laporan Validasi Database](https://docs.didit.me/id/core-technology/database-validation/database-validation-report.md) — bentuk respons lengkap termasuk `validations[]` per layanan.
* [Metode pencocokan](https://docs.didit.me/id/core-technology/database-validation/database-validation-matching-methods.md) — bagaimana hasil 1×1 / 2×2 (`validation_type: one_by_one` / `two_by_two`) diturunkan dari kecocokan per layanan.
* [Kode hasil](https://docs.didit.me/id/core-technology/database-validation/database-validation-outcome-codes.md) — taksonomi lengkap per hasil dengan kode detail khusus negara.
* [Negara & layanan yang didukung](https://docs.didit.me/id/core-technology/database-validation/database-validation-supported-countries.md) — semua registri aktif, kolom yang diperlukan, dan harga per panggilan.
* [Model data — validasi database](https://docs.didit.me/id/reference/data-models.md#validasi-database) — skema kanonikal kolom demi kolom.


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