diff --git a/DOKUMENTASI_API.md b/DOKUMENTASI_API.md index 5d557e9..1f12d71 100644 --- a/DOKUMENTASI_API.md +++ b/DOKUMENTASI_API.md @@ -1,39 +1,47 @@ -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. +Tentu, ini adalah draf dokumentasi API untuk **Teraskota Magelang** yang diformat khusus untuk repositori **GitHub** (format Markdown `.md`). Dokumentasi ini disusun agar mudah dibaca oleh developer, mencakup autentikasi, daftar endpoint, parameter, dan contoh response. + +Silakan salin kode di bawah ini ke dalam file bernama `README.md` atau `API_REFERENCE.md`. ----- -# Dokumentasi API Teraskota Magelang (Ora Ribet v2) +# Dokumentasi API Teraskota Magelang -## 1\. Ikhtisar Umum +Dokumentasi ini menyediakan panduan penggunaan API Service Teraskota Magelang. [cite_start]API ini menggunakan arsitektur REST dengan komunikasi HTTP dan format data JSON[cite: 3]. -API ini menggunakan arsitektur **REST** dengan komunikasi via **HTTP** dan format pertukaran data menggunakan **JSON**[cite: 3]. +## Informasi Umum - * **Base URL:** `https://api.integrasvc.id` (Berdasarkan URL pada endpoint) - * **Content-Type:** `application/json` + * **Base URL:** Bervariasi per endpoint (lihat detail di bawah). + * [cite_start]**Format Data:** JSON[cite: 3]. + * [cite_start]**Protokol:** HTTP/REST[cite: 3]. -## 2\. Autentikasi (Security) +## Autentikasi -Setiap permintaan (request) ke API wajib menyertakan kredensial keamanan di dalam **Header**. +Setiap permintaan (request) ke API ini **wajib** menyertakan kredensial keamanan. - * **Metode:** Basic Authentication[cite: 6]. - * **Mekanisme:** Mengirimkan *username* dan *password* yang telah dikodekan (encoded) dalam header setiap request. - * **Catatan:** Kredensial (User & Password) diberikan terpisah dari dokumen teknis ini dan wajib dijaga kerahasiaannya oleh client[cite: 7, 8]. - * **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]. + * [cite_start]**Metode:** Basic Authentication[cite: 6]. + * **Header:** `Authorization: Basic ` + * **Catatan Keamanan:** + * [cite_start]Kredensial (User dan Password) diberikan secara terpisah dari dokumen ini[cite: 7]. + * [cite_start]Client wajib menjaga kerahasiaan kredensial yang diberikan[cite: 8]. ----- -## 3\. Daftar Endpoint +## Daftar Endpoint -### A. List Target Bantuan +### 1\. Menampilkan List Target Bantuan -Mengambil daftar program bantuan yang tersedia. +Mengambil daftar program atau target bantuan yang tersedia. - * **URL:** `https://api.integrasvc.id/pbn3z` [cite: 10] - * **Method:** `POST` [cite: 10] - * **Header:** `Authorization: Basic ` - * **Body Parameters:** *(Tidak disebutkan spesifik di dokumen, asumsikan kosong atau sesuai kebutuhan filter standar)* + * [cite_start]**URL:** `https://api.integrasvc.id/pbn3z` [cite: 10] + * [cite_start]**Method:** `POST` [cite: 10] + * [cite_start]**Deskripsi:** Menampilkan list target bantuan[cite: 10]. -**Contoh Response:** +**Request Header:** +| Key | Value | +| :--- | :--- | +| Authorization | Basic (user:password) | + +**Response Example:** ```json { @@ -41,45 +49,40 @@ Mengambil daftar program bantuan yang tersedia. "total": 6, "result": [ { - "program": "Bantuan Bahan Bangunan Rumah...", - "sasaran": "Perorangan/Keluarga", + "id": 1, + "program": "Bantuan Bahan Memasak...", + "sasaran": "...", "is_active": 1, - "icon": "pencil_443255.png" - }, - { - "program": "...", - "sasaran": "...", - "is_active": 1, - "icon": "..." + "icon": "pencil_443265..." } ] } ``` -*[cite: 10]* +[cite_start]*[cite: 10]* ----- -### B. Detail Data Target Bantuan +### 2\. Menampilkan Data Target Bantuan Tertentu -Menampilkan detail data penerima atau target dari jenis bantuan tertentu. +Mengambil detail spesifik dari target bantuan berdasarkan filter wilayah dan ID. - * **URL:** `https://api.integrasvc.id/qv2k9` [cite: 13] - * **Method:** `POST` [cite: 14] - * **Header:** `Authorization: Basic ` + * [cite_start]**URL:** `https://api.integrasvc.id/qv2k9` [cite: 13] + * [cite_start]**Method:** `POST` [cite: 14] + * [cite_start]**Deskripsi:** Menampilkan detail dari target bantuan[cite: 12]. -**Body Parameters:** +**Body Parameters (form-data/json):** | Parameter | Tipe Data | Keterangan | | :--- | :--- | :--- | -| `id` | Integer | ID Bantuan [cite: 16] | -| `id_kec` | String | ID Kecamatan [cite: 17, 18] | -| `id_kel` | String | ID Kelurahan [cite: 19, 20] | -| `rw` | String | Nomor RW [cite: 21, 22] | -| `rt` | String | Nomor RT [cite: 23, 24] | -| `start` | String | Posisi awal data (Pagination) [cite: 25, 26] | -| `limit` | String | Batas jumlah data (Pagination) [cite: 27, 28] | +| `id` | Integer | [cite_start]ID Data [cite: 15, 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]Pagination start [cite: 25, 26] | +| `limit` | String | [cite_start]Pagination limit [cite: 27, 28] | -**Contoh Response:** +**Response Example:** ```json { @@ -87,13 +90,13 @@ Menampilkan detail data penerima atau target dari jenis bantuan tertentu. "result": { "data": [ { - "nik": "3371014012870002", - "nama": "Firza Nurlita...", + "nik": "337101xxxxxx", + "nama": "Firma Nurlita Desvitasari", "provinsi": "JAWA TENGAH", "kabupaten": "KOTA MAGELANG", "kecamatan": "MAGELANG SELATAN", "kelurahan": "REJOWINANGUN SELATAN", - "alamat": "Paten Tegal...", + "alamat": "Paten Tegal 113", "rw": "006", "rt": "003" } @@ -102,40 +105,40 @@ Menampilkan detail data penerima atau target dari jenis bantuan tertentu. } ``` -*[cite: 30, 31, 44-53]* +[cite_start]*[cite: 44-53]* ----- -### C. Profil Rekap RT +### 3\. Menampilkan Profil Rekap RT -Menampilkan data statistik atau profil rekapitulasi untuk tingkat RT berdasarkan kategori tertentu. +Mengambil data statistik dan rekapitulasi profil berdasarkan tingkat RT. - * **URL:** `https://api.integrasvc.id/pd32v` [cite: 57] - * **Method:** `POST` [cite: 60] - * **Header:** `Authorization: Basic ` + * [cite_start]**URL:** `https://api.integrasvc.id/pd32v` [cite: 57] + * [cite_start]**Method:** `POST` [cite: 60] + * [cite_start]**Deskripsi:** Menampilkan data profil rekap RT[cite: 56]. **Body Parameters:** | Parameter | Tipe Data | Keterangan | | :--- | :--- | :--- | -| `mode` | String | Pilihan mode profil. Opsi: `perumahan`, `individu`, `aset`, `rtlh` [cite: 61, 87-90] | -| `id_kec` | Integer | ID Kecamatan [cite: 63, 64] | -| `id_kel` | String | ID Kelurahan [cite: 65, 66] | -| `rw` | String | Nomor RW [cite: 67, 68] | -| `rt` | String | Nomor RT [cite: 69, 70] | +| `mode` | String | [cite_start]Pilihan: `perumahan`, `individu`, `aset`, atau `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:** +**Response Example:** ```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, + "val_kk": "25516", + "val_jiwa": "66268", + "val_draf": "0", + "val_verify": "0", + "val_tolak": "0", + "val_verified": "24276", "dtakec": [ { "name": "MAGELANG SELATAN", @@ -154,12 +157,20 @@ Menampilkan data statistik atau profil rekapitulasi untuk tingkat RT berdasarkan } ``` -*[cite: 75-86, 91, 102-104]* +[cite_start]*[cite: 75-104]* ----- -### Catatan Tambahan untuk Developer +### Implementasi Client (Contoh cURL) -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 +```bash +curl --location --request POST 'https://api.integrasvc.id/qv2k9' \ +--header 'Authorization: Basic ' \ +--form 'id="123"' \ +--form 'id_kec="3371"' \ +--form 'limit="10"' +``` + +----- + +*Generated based on API Service Documentation v2.* \ No newline at end of file