🏛️ Dukcapil Mockup API

Sistem Validasi KTP dengan Whitelist

Tambah KTP ke Whitelist

Validasi Data KTP

Masukkan data hasil OCR KTP untuk divalidasi dengan whitelist

Memvalidasi data...

Daftar Whitelist KTP

Memuat data...

API Documentation

Dokumentasi lengkap Dukcapil Mockup API

Base URL

http://localhost:3000/api/dukcapil

1. Validasi KTP

Endpoint: POST /api/dukcapil/validate

Deskripsi: Validasi data KTP hasil OCR dengan data di whitelist

Request Body:

{
  "nik": "3174021234567890",
  "nama": "BUDI SANTOSO",
  "tempat_lahir": "JAKARTA",
  "tanggal_lahir": "1990-05-15",
  "jenis_kelamin": "LAKI-LAKI",
  "alamat": "JL. SUDIRMAN NO. 123",
  "rt_rw": "001/002",
  "kelurahan": "MENTENG",
  "kecamatan": "MENTENG",
  "agama": "ISLAM",
  "status_perkawinan": "KAWIN",
  "pekerjaan": "KARYAWAN SWASTA",
  "provinsi": "DKI JAKARTA",
  "kabupaten_kota": "JAKARTA PUSAT"
}

Response Success (Status: 00):

{
  "status": "00",
  "message": "Data KTP valid",
  "data": {
    "nik": "3174021234567890",
    "nama": "BUDI SANTOSO",
    "validation_status": "VALID",
    "matched_fields": 10
  }
}

Response Invalid (Status: 02):

{
  "status": "02",
  "message": "Data KTP tidak sesuai dengan database",
  "data": {
    "nik": "3174021234567890",
    "validation_status": "INVALID",
    "matched_fields": ["nik", "nama"],
    "mismatched_fields": [
      {
        "field": "alamat",
        "provided": "JL. SUDIRMAN 123",
        "expected": "JL. SUDIRMAN NO. 123"
      }
    ]
  }
}

2. Tambah ke Whitelist

Endpoint: POST /api/dukcapil/whitelist

Deskripsi: Menambahkan data KTP baru ke whitelist

Request Body:

{
  "nik": "3174021234567890",
  "nama": "BUDI SANTOSO",
  "tempat_lahir": "JAKARTA",
  "tanggal_lahir": "1990-05-15",
  "jenis_kelamin": "LAKI-LAKI",
  "alamat": "JL. SUDIRMAN NO. 123",
  "rt_rw": "001/002",
  "kelurahan": "MENTENG",
  "kecamatan": "MENTENG",
  "agama": "ISLAM",
  "status_perkawinan": "KAWIN",
  "pekerjaan": "KARYAWAN SWASTA",
  "kewarganegaraan": "WNI",
  "provinsi": "DKI JAKARTA",
  "kabupaten_kota": "JAKARTA PUSAT",
  "berlaku_hingga": "SEUMUR HIDUP"
}

3. Lihat Whitelist

Endpoint: GET /api/dukcapil/whitelist

Query Parameters:

  • limit - Jumlah data per halaman (default: 100)
  • offset - Offset data (default: 0)

4. Cari by NIK

Endpoint: GET /api/dukcapil/whitelist/:nik

Example: GET /api/dukcapil/whitelist/3174021234567890

Status Codes

  • 00 - Success
  • 01 - NIK tidak ditemukan
  • 02 - Data tidak valid/tidak sesuai
  • 03 - NIK sudah terdaftar
  • 04 - Data tidak lengkap
  • 05 - Format tidak valid
  • 99 - System error