commit d44a33e43fa2f490aa7b444c8e20e0a350384fa2 Author: andri Date: Mon Dec 1 09:10:11 2025 +0000 Add DOKUMENTASI_API.md diff --git a/DOKUMENTASI_API.md b/DOKUMENTASI_API.md new file mode 100644 index 0000000..394c121 --- /dev/null +++ b/DOKUMENTASI_API.md @@ -0,0 +1,165 @@ +Berikut adalah rangkuman teknis dokumentasi API **Teraskota Magelang (Ora Ribet v2)** yang disusun untuk kebutuhan pengembang (developer). Dokumentasi ini mencakup standar autentikasi, format request, dan daftar *endpoint* yang tersedia berdasarkan dokumen yang Anda unggah. + +----- + +# Dokumentasi API Teraskota Magelang (Ora Ribet v2) + +## 1\. Ikhtisar Umum + +[cite\_start]API ini menggunakan arsitektur **REST** dengan komunikasi via **HTTP** dan format pertukaran data menggunakan **JSON**[cite: 3]. + + * **Base URL:** `https://api.integrasvc.id` (Berdasarkan URL pada endpoint) + * **Content-Type:** `application/json` + +## 2\. Autentikasi (Security) + +Setiap permintaan (request) ke API wajib menyertakan kredensial keamanan di dalam **Header**. + + * [cite\_start]**Metode:** Basic Authentication[cite: 6]. + * **Mekanisme:** Mengirimkan *username* dan *password* yang telah dikodekan (encoded) dalam header setiap request. + * [cite\_start]**Catatan:** Kredensial (User & Password) diberikan terpisah dari dokumen teknis ini dan wajib dijaga kerahasiaannya oleh client[cite: 7, 8]. + * [cite\_start]**Access Token:** Dokumen juga menyebutkan aplikasi client harus menyertakan access token pada header, pastikan untuk mengecek apakah ini token statis atau dinamis bersamaan dengan Basic Auth[cite: 4]. + +----- + +## 3\. Daftar Endpoint + +### A. List Target Bantuan + +Mengambil daftar program bantuan yang tersedia. + + * [cite\_start]**URL:** `https://api.integrasvc.id/pbn3z` [cite: 10] + * [cite\_start]**Method:** `POST` [cite: 10] + * **Header:** `Authorization: Basic ` + * **Body Parameters:** *(Tidak disebutkan spesifik di dokumen, asumsikan kosong atau sesuai kebutuhan filter standar)* + +**Contoh Response:** + +```json +{ + "success": true, + "total": 6, + "result": [ + { + "program": "Bantuan Bahan Bangunan Rumah...", + "sasaran": "Perorangan/Keluarga", + "is_active": 1, + "icon": "pencil_443255.png" + }, + { + "program": "...", + "sasaran": "...", + "is_active": 1, + "icon": "..." + } + ] +} +``` + +[cite\_start]*[cite: 10]* + +----- + +### B. Detail Data Target Bantuan + +Menampilkan detail data penerima atau target dari jenis bantuan tertentu. + + * [cite\_start]**URL:** `https://api.integrasvc.id/qv2k9` [cite: 13] + * [cite\_start]**Method:** `POST` [cite: 14] + * **Header:** `Authorization: Basic ` + +**Body Parameters:** +| Parameter | Tipe Data | Keterangan | +| :--- | :--- | :--- | +| `id` | Integer | [cite\_start]ID Bantuan [cite: 16] | +| `id_kec` | String | [cite\_start]ID Kecamatan [cite: 17, 18] | +| `id_kel` | String | [cite\_start]ID Kelurahan [cite: 19, 20] | +| `rw` | String | [cite\_start]Nomor RW [cite: 21, 22] | +| `rt` | String | [cite\_start]Nomor RT [cite: 23, 24] | +| `start` | String | [cite\_start]Posisi awal data (Pagination) [cite: 25, 26] | +| `limit` | String | [cite\_start]Batas jumlah data (Pagination) [cite: 27, 28] | + +**Contoh Response:** + +```json +{ + "success": true, + "result": { + "data": [ + { + "nik": "3371014012870002", + "nama": "Firza Nurlita...", + "provinsi": "JAWA TENGAH", + "kabupaten": "KOTA MAGELANG", + "kecamatan": "MAGELANG SELATAN", + "kelurahan": "REJOWINANGUN SELATAN", + "alamat": "Paten Tegal...", + "rw": "006", + "rt": "003" + } + ] + } +} +``` + +[cite\_start]*[cite: 30, 31, 44-53]* + +----- + +### C. Profil Rekap RT + +Menampilkan data statistik atau profil rekapitulasi untuk tingkat RT berdasarkan kategori tertentu. + + * [cite\_start]**URL:** `https://api.integrasvc.id/pd32v` [cite: 57] + * [cite\_start]**Method:** `POST` [cite: 60] + * **Header:** `Authorization: Basic ` + +**Body Parameters:** +| Parameter | Tipe Data | Keterangan | +| :--- | :--- | :--- | +| `mode` | String | Pilihan mode profil. [cite\_start]Opsi: `perumahan`, `individu`, `aset`, `rtlh` [cite: 61, 87-90] | +| `id_kec` | Integer | [cite\_start]ID Kecamatan [cite: 63, 64] | +| `id_kel` | String | [cite\_start]ID Kelurahan [cite: 65, 66] | +| `rw` | String | [cite\_start]Nomor RW [cite: 67, 68] | +| `rt` | String | [cite\_start]Nomor RT [cite: 69, 70] | + +**Contoh Response:** + +```json +{ + "success": true, + "result": { + "val_ruta": 24276, + "val_kk": 25516, + "val_jiwa": 66268, + "val_draf": 0, + "val_verify": 0, + "val_tolak": 0, + "val_verified": 24276, + "dtakec": [ + { + "name": "MAGELANG SELATAN", + "y": 11423 + }, + { + "name": "MAGELANG TENGAH", + "y": 12536 + }, + { + "name": "MAGELANG UTARA", + "y": 10169 + } + ] + } +} +``` + +[cite\_start]*[cite: 75-86, 91, 102-104]* + +----- + +### Catatan Tambahan untuk Developer + +1. **Format Parameter:** Perhatikan tipe data (Integer vs String) pada setiap parameter di atas untuk menghindari kesalahan *Bad Request*. +2. **Pagination:** Endpoint *Detail Data Target Bantuan* mendukung pagination menggunakan parameter `start` dan `limit`. +3. **Mode Profil:** Pastikan parameter `mode` pada endpoint *Profil Rekap RT* diisi salah satu dari: `perumahan`, `individu`, `aset`, atau `rtlh` agar data yang keluar sesuai konteks. \ No newline at end of file