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:
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:
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
{
"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 |
Salah satu* |
ID Region Polres tujuan. Diprioritaskan kalau diisi (lebih presisi). |
"RES_KNDL054" |
sender_name |
String |
Salah satu* |
Alternatif dari id_region — nama Polres tujuan, dicocokkan ke data satuan
(case-insensitive, spasi di awal/akhir diabaikan). Dipakai kalau id_region kosong.
|
"Polres Kendal" |
ref_no |
String |
Ya |
Nomor referensi unik dari ETLENAS |
"ETLENAS-REF-001" |
* Salah satu wajib diisi: id_region atau sender_name. Kalau
id_region diisi, sistem selalu memakainya (walau sender_name juga ikut
dikirim). Kalau id_region kosong, sistem mencocokkan sender_name ke nama
satuan Polres yang terdaftar — harus persis penulisannya (hanya kapitalisasi & spasi di
awal/akhir yang diabaikan, bukan pencocokan sebagian/typo). Kalau dua-duanya kosong, request ditolak.
Contoh Request Body
[
{
"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"
}
]
Contoh Request Body (alternatif, pakai sender_name)
Dipakai kalau sistem Anda belum punya daftar id_region — cukup kirim nama Polres tujuan
persis seperti yang terdaftar di sistem Kirim Dokumen.
[
{
"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-002",
"date": "2026-06-21T10:30:00Z",
"sender_name": "Polres Kendal",
"ref_no": "ETLENAS-REF-002"
}
]
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 — ID Region tidak ditemukan
{
"error": "Polres dengan ID Region 'RES_INVALID' tidak ditemukan",
"message": "Pastikan ID Region sudah benar dan terdaftar di sistem"
}
400 Bad
Request — sender_name tidak ditemukan
{
"error": "Polres dengan nama 'Polres Tidak Ada' tidak ditemukan",
"message": "Pastikan penulisan sender_name sudah sesuai dengan nama satuan yang terdaftar di sistem"
}
400 Bad
Request — keduanya kosong
{
"error": "id_region atau sender_name wajib diisi",
"message": "Sertakan salah satu untuk menentukan Polres tujuan"
}
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 (atau
kalau belum tersedia, pastikan Anda tahu nama satuan Polres tujuan persis untuk dipakai sebagai
sender_name).
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.