Add DOKUMENTASI_API.md

This commit is contained in:
andri 2025-12-01 09:10:11 +00:00
commit d44a33e43f
1 changed files with 165 additions and 0 deletions

165
DOKUMENTASI_API.md Normal file
View File

@ -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 <credentials>`
* **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 <credentials>`
**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 <credentials>`
**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.