Update DOKUMENTASI_API.md
This commit is contained in:
parent
7d73b3cd05
commit
f058e25293
|
|
@ -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)
|
* **Base URL:** Bervariasi per endpoint (lihat detail di bawah).
|
||||||
* **Content-Type:** `application/json`
|
* [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].
|
* [cite_start]**Metode:** Basic Authentication[cite: 6].
|
||||||
* **Mekanisme:** Mengirimkan *username* dan *password* yang telah dikodekan (encoded) dalam header setiap request.
|
* **Header:** `Authorization: Basic <base64_user:password>`
|
||||||
* **Catatan:** Kredensial (User & Password) diberikan terpisah dari dokumen teknis ini dan wajib dijaga kerahasiaannya oleh client[cite: 7, 8].
|
* **Catatan Keamanan:**
|
||||||
* **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]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]
|
* [cite_start]**URL:** `https://api.integrasvc.id/pbn3z` [cite: 10]
|
||||||
* **Method:** `POST` [cite: 10]
|
* [cite_start]**Method:** `POST` [cite: 10]
|
||||||
* **Header:** `Authorization: Basic <credentials>`
|
* [cite_start]**Deskripsi:** Menampilkan list target bantuan[cite: 10].
|
||||||
* **Body Parameters:** *(Tidak disebutkan spesifik di dokumen, asumsikan kosong atau sesuai kebutuhan filter standar)*
|
|
||||||
|
|
||||||
**Contoh Response:**
|
**Request Header:**
|
||||||
|
| Key | Value |
|
||||||
|
| :--- | :--- |
|
||||||
|
| Authorization | Basic (user:password) |
|
||||||
|
|
||||||
|
**Response Example:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
@ -41,45 +49,40 @@ Mengambil daftar program bantuan yang tersedia.
|
||||||
"total": 6,
|
"total": 6,
|
||||||
"result": [
|
"result": [
|
||||||
{
|
{
|
||||||
"program": "Bantuan Bahan Bangunan Rumah...",
|
"id": 1,
|
||||||
"sasaran": "Perorangan/Keluarga",
|
"program": "Bantuan Bahan Memasak...",
|
||||||
|
"sasaran": "...",
|
||||||
"is_active": 1,
|
"is_active": 1,
|
||||||
"icon": "pencil_443255.png"
|
"icon": "pencil_443265..."
|
||||||
},
|
|
||||||
{
|
|
||||||
"program": "...",
|
|
||||||
"sasaran": "...",
|
|
||||||
"is_active": 1,
|
|
||||||
"icon": "..."
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
*[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]
|
* [cite_start]**URL:** `https://api.integrasvc.id/qv2k9` [cite: 13]
|
||||||
* **Method:** `POST` [cite: 14]
|
* [cite_start]**Method:** `POST` [cite: 14]
|
||||||
* **Header:** `Authorization: Basic <credentials>`
|
* [cite_start]**Deskripsi:** Menampilkan detail dari target bantuan[cite: 12].
|
||||||
|
|
||||||
**Body Parameters:**
|
**Body Parameters (form-data/json):**
|
||||||
| Parameter | Tipe Data | Keterangan |
|
| Parameter | Tipe Data | Keterangan |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| `id` | Integer | ID Bantuan [cite: 16] |
|
| `id` | Integer | [cite_start]ID Data [cite: 15, 16] |
|
||||||
| `id_kec` | String | ID Kecamatan [cite: 17, 18] |
|
| `id_kec` | String | [cite_start]ID Kecamatan [cite: 17, 18] |
|
||||||
| `id_kel` | String | ID Kelurahan [cite: 19, 20] |
|
| `id_kel` | String | [cite_start]ID Kelurahan [cite: 19, 20] |
|
||||||
| `rw` | String | Nomor RW [cite: 21, 22] |
|
| `rw` | String | [cite_start]Nomor RW [cite: 21, 22] |
|
||||||
| `rt` | String | Nomor RT [cite: 23, 24] |
|
| `rt` | String | [cite_start]Nomor RT [cite: 23, 24] |
|
||||||
| `start` | String | Posisi awal data (Pagination) [cite: 25, 26] |
|
| `start` | String | [cite_start]Pagination start [cite: 25, 26] |
|
||||||
| `limit` | String | Batas jumlah data (Pagination) [cite: 27, 28] |
|
| `limit` | String | [cite_start]Pagination limit [cite: 27, 28] |
|
||||||
|
|
||||||
**Contoh Response:**
|
**Response Example:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
@ -87,13 +90,13 @@ Menampilkan detail data penerima atau target dari jenis bantuan tertentu.
|
||||||
"result": {
|
"result": {
|
||||||
"data": [
|
"data": [
|
||||||
{
|
{
|
||||||
"nik": "3371014012870002",
|
"nik": "337101xxxxxx",
|
||||||
"nama": "Firza Nurlita...",
|
"nama": "Firma Nurlita Desvitasari",
|
||||||
"provinsi": "JAWA TENGAH",
|
"provinsi": "JAWA TENGAH",
|
||||||
"kabupaten": "KOTA MAGELANG",
|
"kabupaten": "KOTA MAGELANG",
|
||||||
"kecamatan": "MAGELANG SELATAN",
|
"kecamatan": "MAGELANG SELATAN",
|
||||||
"kelurahan": "REJOWINANGUN SELATAN",
|
"kelurahan": "REJOWINANGUN SELATAN",
|
||||||
"alamat": "Paten Tegal...",
|
"alamat": "Paten Tegal 113",
|
||||||
"rw": "006",
|
"rw": "006",
|
||||||
"rt": "003"
|
"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]
|
* [cite_start]**URL:** `https://api.integrasvc.id/pd32v` [cite: 57]
|
||||||
* **Method:** `POST` [cite: 60]
|
* [cite_start]**Method:** `POST` [cite: 60]
|
||||||
* **Header:** `Authorization: Basic <credentials>`
|
* [cite_start]**Deskripsi:** Menampilkan data profil rekap RT[cite: 56].
|
||||||
|
|
||||||
**Body Parameters:**
|
**Body Parameters:**
|
||||||
| Parameter | Tipe Data | Keterangan |
|
| Parameter | Tipe Data | Keterangan |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| `mode` | String | Pilihan mode profil. Opsi: `perumahan`, `individu`, `aset`, `rtlh` [cite: 61, 87-90] |
|
| `mode` | String | [cite_start]Pilihan: `perumahan`, `individu`, `aset`, atau `rtlh` [cite: 61, 87-90] |
|
||||||
| `id_kec` | Integer | ID Kecamatan [cite: 63, 64] |
|
| `id_kec` | Integer | [cite_start]ID Kecamatan [cite: 63, 64] |
|
||||||
| `id_kel` | String | ID Kelurahan [cite: 65, 66] |
|
| `id_kel` | String | [cite_start]ID Kelurahan [cite: 65, 66] |
|
||||||
| `rw` | String | Nomor RW [cite: 67, 68] |
|
| `rw` | String | [cite_start]Nomor RW [cite: 67, 68] |
|
||||||
| `rt` | String | Nomor RT [cite: 69, 70] |
|
| `rt` | String | [cite_start]Nomor RT [cite: 69, 70] |
|
||||||
|
|
||||||
**Contoh Response:**
|
**Response Example:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"success": true,
|
"success": true,
|
||||||
"result": {
|
"result": {
|
||||||
"val_ruta": 24276,
|
"val_ruta": 24276,
|
||||||
"val_kk": 25516,
|
"val_kk": "25516",
|
||||||
"val_jiwa": 66268,
|
"val_jiwa": "66268",
|
||||||
"val_draf": 0,
|
"val_draf": "0",
|
||||||
"val_verify": 0,
|
"val_verify": "0",
|
||||||
"val_tolak": 0,
|
"val_tolak": "0",
|
||||||
"val_verified": 24276,
|
"val_verified": "24276",
|
||||||
"dtakec": [
|
"dtakec": [
|
||||||
{
|
{
|
||||||
"name": "MAGELANG SELATAN",
|
"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*.
|
```bash
|
||||||
2. **Pagination:** Endpoint *Detail Data Target Bantuan* mendukung pagination menggunakan parameter `start` dan `limit`.
|
curl --location --request POST 'https://api.integrasvc.id/qv2k9' \
|
||||||
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.
|
--header 'Authorization: Basic <YOUR_BASE64_CREDENTIALS>' \
|
||||||
|
--form 'id="123"' \
|
||||||
|
--form 'id_kec="3371"' \
|
||||||
|
--form 'limit="10"'
|
||||||
|
```
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
*Generated based on API Service Documentation v2.*
|
||||||
Loading…
Reference in New Issue