Sandbox Dashboard Pengiriman Surat Konfirmasi

Dokumentasi: Panduan integrasi API ETLENAS, detail endpoint, request payload, dan response code.
Autentikasi Integrator
Status Token: No Token
Petunjuk & Informasi

1. Login: Gunakan akun dengan Role Integrator untuk mendapatkan Bearer Token JWT.

2. Cek ID Region: Digunakan untuk validasi Polres tujuan sebelum mengirim data pelanggaran.

3. Kirim Capture: Mengirim array pelanggaran lalu lintas. Data yang berhasil dikirim akan terdaftar sebagai dokumen di sistem Kirim Dokumen.

4. Lacak Dokumen: Cek status pengiriman fisik surat konfirmasi menggunakan nomor referensi (`ref_no`).

Random Data Generator (Dinamis)

Pastikan ID Region terdaftar dan aktif di tabel/dropdown satuan dengan tipe 'polres'.

Gunakan nomor referensi unik dari data violation yang telah Anda kirimkan sebelumnya.

Response Console Log
Belum ada aktivitas. Silakan lakukan aksi/request di atas untuk melihat logs response.
Login Polres/Polda/Admin
Daftar Dokumen Pelanggaran (Penerima)
Mulai:
Sampai:
Silakan login terlebih dahulu untuk mengakses data pengiriman.
Ringkasan & Auth
POST 1. Login
POST 2. Kirim Capture
GET 3. Check Region
GET 4. Check Status
Langkah Integrasi

Ringkasan Integrasi API: Dashboard Pengiriaman Surat Konfirmasi x ETLENAS

Dokumentasi API ini digunakan untuk integrasi antara sistem ETLENAS dengan Dashboard Pengiriman Surat Konfirmasi ETLE Korlantas (Kirim Dokumen Polri). Melalui integrasi ini, sistem ETLENAS dapat mengirim data pelanggaran secara otomatis, memvalidasi ID Region Polres, serta melacak status dokumen.

Base URL API

Semua pemanggilan endpoint API diarahkan ke Base URL berikut:

Base URL
https://api.dashboardkonfirmasi.org
PENTING: Untuk dapat melakukan integrasi, akun yang digunakan harus memiliki role Integrator. Hubungi administrator sistem untuk mendapatkan kredensial (username & password) dengan role tersebut sebelum memulai.

Mekanisme Autentikasi

Semua API (kecuali login) memerlukan autentikasi menggunakan Bearer Token yang dikirimkan melalui header HTTP:

HTTP Header
Authorization: Bearer {your_jwt_token_here}

Token diperoleh dari endpoint /user/login dan memiliki masa kedaluwarsa sesuai waktu yang ditentukan pada response login.

1. Authentication (Login)

Digunakan untuk mendapatkan Bearer Token.

POST /user/login

Request Body

Field Tipe Wajib Keterangan Contoh
username String Ya Username akun Integrator "admin_integrator"
password String Ya Password akun Integrator "password123"

Contoh Request Body

JSON Payload
{
  "username": "admin_integrator",
  "password": "password123"
}

Responses

200 OK (Success)

{
  "code": 200,
  "expire": "2026-12-12T10:30:00Z",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

401 Unauthorized (Error)

{
  "code": 401,
  "message": "incorrect Username or Password"
}

2. Kirim Data Violation (Capture)

Mengirimkan data pelanggaran lalu lintas dari ETLENAS ke sistem Kirim Dokumen. Endpoint ini mendukung pengiriman tunggal (single) maupun banyak (multiple) data sekaligus dalam satu request.

POST /integrate/etlenas/capture

Request Body (Array of ViolationData)

Field Tipe Wajib Keterangan Contoh
plate_no String Ya Nomor plat kendaraan "B1234ABC"
violation String Ya Jenis/deskripsi pelanggaran "Melanggar Rambu Lalu Lintas"
location_description String Ya Lokasi kejadian pelanggaran "Jl. Sudirman KM 5"
owner_name String Ya Nama pemilik kendaraan "Budi Santoso"
owner_address String Ya Alamat pemilik kendaraan "Jl. Merdeka No. 123, Jakarta Pusat"
phone_number String Tidak Nomor telepon pemilik (opsional) "081234567890"
confirmation_code String Ya Kode konfirmasi unik surat konfirmasi "CONF-2026-001"
date String Ya Tanggal & waktu kejadian (ISO 8601) "2026-06-21T10:30:00Z"
id_region String Ya ID Region Polres tujuan "RES_KNDL054"
ref_no String Ya Nomor referensi unik dari ETLENAS "ETLENAS-REF-001"

Contoh Request Body

JSON Payload
[
  {
    "plate_no": "B1234ABC",
    "violation": "Melanggar Rambu Lalu Lintas",
    "location_description": "Jl. Sudirman KM 5",
    "owner_name": "Budi Santoso",
    "owner_address": "Jl. Merdeka No. 123, Jakarta Pusat",
    "phone_number": "081234567890",
    "confirmation_code": "CONF-2026-001",
    "date": "2026-06-21T10:30:00Z",
    "id_region": "RES_KNDL054",
    "ref_no": "ETLENAS-REF-001"
  }
]

Responses

200 OK (Success)

{
  "message": "Documents received successfully",
  "data": [
    {
      "plate_no": "B1234ABC",
      "violation": "Melanggar Rambu Lalu Lintas",
      "location_description": "Jl. Sudirman KM 5",
      "owner_name": "Budi Santoso",
      "owner_address": "Jl. Merdeka No. 123, Jakarta Pusat",
      "phone_number": "081234567890",
      "confirmation_code": "CONF-2026-001",
      "date": "2026-06-21T10:30:00Z",
      "id_region": "RES_KNDL054",
      "ref_no": "ETLENAS-REF-001"
    }
  ],
  "count": 1
}

400 Bad Request (Error)

{
  "error": "Polres dengan ID Region 'RES_INVALID' tidak ditemukan",
  "message": "Pastikan ID Region sudah benar dan terdaftar di sistem"
}

3. Check ID Region

Validasi apakah ID Region Polres tujuan valid dan aktif, serta mendapatkan sisa alokasi pengiriman (volume remaining).

GET /integrate/etlenas/check-region/{id_region}

Path Parameters

Parameter Tipe Wajib Keterangan Contoh
id_region String Ya ID Region Polres yang ingin dicek "RES_KNDL054"

Responses

200 OK (Success)

{
  "valid": true,
  "polres": {
    "id": 1,
    "name": "Polres Kendal",
    "id_region": "RES_KNDL054",
    "address": "Jl. Soekarno Hatta No. 1, Kendal",
    "phone": "0294-381234",
    "active": true,
    "volume_remaining": 500,
    "polda": {
      "id": 1,
      "name": "Polda Jawa Tengah"
    }
  },
  "message": "ID Region valid dan siap menerima data"
}

404 Not Found (Error)

{
  "valid": false,
  "message": "ID Region tidak ditemukan",
  "id_region": "INVALID_ID",
  "suggestion": "Pastikan ID Region sudah terdaftar di sistem"
}

4. Check Document Status (Tracking)

Melacak status terkini dokumen pengiriman yang telah dikirim ke sistem berdasarkan nomor referensi (ref_no).

GET /integrate/etlenas/document/{ref_no}

Path Parameters

Parameter Tipe Wajib Keterangan Contoh
ref_no String Ya Nomor referensi unik pelanggaran dari ETLENAS "ETLENAS-REF-001"

Status Alur Dokumen

Nilai status dokumen pada response dapat berubah secara dinamis seiring jalannya proses pengiriman fisik surat konfirmasi:

new preprocess process assigned pickup delivered / returned

Responses

200 OK (Success)

{
  "found": true,
  "document": {
    "id": 123,
    "ref_no": "ETLENAS-REF-001",
    "plate_no": "B1234ABC",
    "status": "new",
    "violation": "Melanggar Rambu Lalu Lintas",
    "recipient": "Budi Santoso",
    "created_at": "2026-06-21T10:30:00Z",
    "polres": {
      "id": 1,
      "name": "Polres Kendal"
    }
  },
  "message": "Dokumen ditemukan"
}

404 Not Found (Error)

{
  "found": false,
  "message": "Dokumen tidak ditemukan",
  "ref_no": "INVALID-REF",
  "suggestion": "Pastikan reference number sudah benar atau dokumen sudah dikirim"
}

Alur & Langkah Integrasi

Berikut adalah tahapan umum untuk menghubungkan sistem ETLENAS dengan sistem Kirim Dokumen:

1

Dapatkan Akses

Hubungi administrator sistem Kirim Dokumen untuk mendapatkan akun partner (username & password) dengan role Integrator serta daftar id_region Polres tujuan.

2

Dapatkan Token Autentikasi (JWT)

Lakukan request ke endpoint POST /user/login dengan kredensial integrator Anda untuk mendapatkan token Bearer JWT.

3

Validasi Wilayah (Opsional)

Validasi id_region target menggunakan endpoint GET /integrate/etlenas/check-region/{id_region} untuk memastikan target aktif dan kuota pengiriman mencukupi.

4

Kirim Data Pelanggaran

Kirim array JSON objek pelanggaran ke endpoint POST /integrate/etlenas/capture dengan menyertakan token JWT pada header Authorization.

5

Pantau Status Pengiriman

Lacak status pengiriman fisik surat konfirmasi secara berkala dengan memanggil endpoint GET /integrate/etlenas/document/{ref_no} menggunakan reference number unik Anda.