{
    "info": {
        "_postman_id": "b7483d99-843e-4b61-9c87-8923f6e1a491",
        "name": "Rapid Assessment Bangunan Pasca Gempa NTT — External API Service (Read-Only)",
        "description": "Dokumentasi Resmi Layanan API Eksternal (Hanya Baca / Read-Only) dan Manajemen Akun API untuk Sistem Evaluasi Keamanan Bangunan Pasca Gempa Wilayah Nusa Tenggara Timur (NTT).\n\n### 🔒 Kebijakan & Aturan Layanan:\n1. **Hanya-Baca (Strict Read-Only)**: Pihak eksternal (BPBD, BNPB, PUPR, Peneliti, LSM) hanya memiliki izin baca data (GET). Operasi penambahan atau perubahan data dilarang.\n2. **Otentikasi Kredensial**: Menggunakan User & Password API yang didaftarkan administrator. Klien dapat masuk melalui endpoint `/auth/login` untuk memperoleh Bearer Token, atau menggunakan header `Authorization: Basic <base64>` secara langsung.\n3. **Format Data**: Mendukung JSON RESTful, GeoJSON (EPSG:4326) untuk aplikasi GIS, dan CSV tabular.\n\nHubungi Admin Survei NTT untuk permohonan akun atau perpanjangan kuota.",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://rapid.cemapp.com/api/v1",
            "type": "string",
            "description": "URL dasar server API"
        },
        {
            "key": "username",
            "value": "bnpb_api",
            "type": "string",
            "description": "Username akun API eksternal (BNPB)"
        },
        {
            "key": "password",
            "value": "Bnpb#Ntt2026Secure!",
            "type": "string",
            "description": "Kata sandi akun API eksternal (BNPB)"
        },
        {
            "key": "token",
            "value": "2|VM5fnfuawU2whljdnhGrrFkkH1ScTRshngHnd7yR01c3630f",
            "type": "string",
            "description": "Bearer token yang didapat setelah login berhasil atau token statis BNPB"
        }
    ],
    "item": [
        {
            "name": "1. Otentikasi Eksternal (User & Password API)",
            "description": "Endpoint autentikasi akun API untuk pihak luar guna memperoleh atau mengelola token sesi.",
            "item": [
                {
                    "name": "Login API (User & Password)",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "type": "text/javascript",
                                "exec": [
                                    "var res = pm.response.json();",
                                    "if (res.token) {",
                                    "    pm.collectionVariables.set(\"token\", res.token);",
                                    "    console.log(\"Token API eksternal berhasil disimpan ke variable {{token}}\");",
                                    "}"
                                ]
                            }
                        }
                    ],
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"username\": \"{{username}}\",\n    \"password\": \"{{password}}\",\n    \"perangkat\": \"Postman Client\"\n}"
                        },
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/auth/login",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "auth",
                                "login"
                            ]
                        },
                        "description": "Masuk dengan username dan kata sandi API untuk mendapatkan token Bearer Sanctum dengan hak akses read-only."
                    },
                    "response": [
                        {
                            "name": "200 OK — Berhasil Masuk",
                            "originalRequest": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Content-Type",
                                        "value": "application/json"
                                    }
                                ],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\"username\":\"bpbd_ntt_api\",\"password\":\"BpbdNtt#2026Secure!\"}"
                                },
                                "url": "{{baseUrl}}/eksternal/auth/login"
                            },
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"pesan\": \"Autentikasi API berhasil.\",\n    \"token\": \"12|gT78kL90pQrsTuvWxYz1234567890abcdefghijklmnop\",\n    \"jenis_token\": \"Bearer\",\n    \"kedaluwarsa\": \"2026-12-31T23:59:59+08:00\",\n    \"akun\": {\n        \"id\": 1,\n        \"nama_instansi\": \"BPBD Provinsi Nusa Tenggara Timur\",\n        \"nama_kontak\": \"Budi Santoso (Kabid Kedaruratan & Logistik)\",\n        \"email\": \"kedaruratan@bpbd.nttprov.go.id\",\n        \"username\": \"bpbd_ntt_api\",\n        \"status\": \"aktif\",\n        \"keterangan\": \"Integrasi Sistem Peringatan Dini & Dashboard Bencana NTT\",\n        \"rate_limit\": 120,\n        \"ip_whitelist\": null,\n        \"kadaluwarsa_pada\": \"2026-12-31\",\n        \"terakhir_digunakan_pada\": \"2026-09-17T12:00:00+08:00\",\n        \"dibuat_pada\": \"2026-09-01T08:30:00+08:00\",\n        \"hak_akses\": {\n            \"mode\": \"read_only\",\n            \"deskripsi\": \"Akses hanya baca data asesmen bangunan, statistik, foto, dan spasial GeoJSON.\",\n            \"izin\": [\n                \"eksternal:baca\"\n            ]\n        }\n    }\n}"
                        },
                        {
                            "name": "401 Unauthorized — Kata Sandi Salah",
                            "status": "Unauthorized",
                            "code": 401,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"message\": \"Username atau password API tidak sesuai.\",\n    \"errors\": {\n        \"username\": [\n            \"Username atau password API tidak sesuai.\"\n        ]\n    }\n}"
                        },
                        {
                            "name": "403 Forbidden — Akun Nonaktif",
                            "status": "Forbidden",
                            "code": 403,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"pesan\": \"Akun API ini berstatus nonaktif. Hubungi administrator sistem untuk mengaktifkannya kembali.\",\n    \"status_akun\": \"nonaktif\"\n}"
                        }
                    ]
                },
                {
                    "name": "Profil Akun API (/auth/me)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/auth/me",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "auth",
                                "me"
                            ]
                        },
                        "description": "Melihat profil akun API yang sedang digunakan, sisa masa aktif, kuota rate-limit, dan IP terdeteksi."
                    },
                    "response": [
                        {
                            "name": "200 OK",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"akun\": {\n        \"id\": 1,\n        \"nama_instansi\": \"BPBD Provinsi Nusa Tenggara Timur\",\n        \"nama_kontak\": \"Budi Santoso\",\n        \"email\": \"kedaruratan@bpbd.nttprov.go.id\",\n        \"username\": \"bpbd_ntt_api\",\n        \"status\": \"aktif\",\n        \"keterangan\": \"Integrasi Sistem Peringatan Dini & Dashboard Bencana NTT\",\n        \"rate_limit\": 120,\n        \"ip_whitelist\": null,\n        \"kadaluwarsa_pada\": \"2026-12-31\",\n        \"terakhir_digunakan_pada\": \"2026-09-17T12:05:00+08:00\",\n        \"dibuat_pada\": \"2026-09-01T08:30:00+08:00\",\n        \"hak_akses\": {\n            \"mode\": \"read_only\",\n            \"deskripsi\": \"Akses hanya baca data asesmen bangunan, statistik, foto, dan spasial GeoJSON.\",\n            \"izin\": [\n                \"eksternal:baca\"\n            ]\n        }\n    },\n    \"ip_klien\": \"127.0.0.1\",\n    \"waktu_server\": \"2026-09-17T12:05:00+08:00\"\n}"
                        }
                    ]
                },
                {
                    "name": "Logout API (/auth/logout)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/auth/logout",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "auth",
                                "logout"
                            ]
                        },
                        "description": "Mencabut token Bearer aktif yang sedang digunakan saat ini."
                    },
                    "response": [
                        {
                            "name": "200 OK",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"pesan\": \"Token API eksternal telah berhasil dicabut.\"\n}"
                        }
                    ]
                }
            ]
        },
        {
            "name": "2. Informasi & Statistik Agregat (Read-Only)",
            "description": "Statistik ringkasan dan data agregat hasil asesmen bangunan pasca gempa.",
            "item": [
                {
                    "name": "Informasi Metadata Layanan API",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/info",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "info"
                            ]
                        },
                        "description": "Informasi versi API, batasan akses (read-only), dan dokumentasi publik."
                    },
                    "response": [
                        {
                            "name": "200 OK",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"aplikasi\": \"API Eksternal Rapid Assessment Bangunan Pasca Gempa NTT\",\n    \"versi\": \"1.0.0\",\n    \"mode_akses\": \"READ-ONLY (Hanya Baca)\",\n    \"deskripsi\": \"Layanan pertukaran data resmi hasil evaluasi keamanan bangunan terdampak bencana gempa bumi...\",\n    \"otentikasi\": {\n        \"tipe\": \"User & Password API atau Bearer Token (Sanctum)\",\n        \"endpoint_login\": \"https://rapid.cemapp.com/api/v1/eksternal/auth/login\",\n        \"header_bearer\": \"Authorization: Bearer <token>\",\n        \"header_basic\": \"Authorization: Basic base64(username:password)\"\n    },\n    \"dokumentasi_postman\": \"https://rapid.cemapp.com/api/v1/eksternal/postman\",\n    \"waktu_server\": \"2026-09-17T12:05:00+08:00\"\n}"
                        }
                    ]
                },
                {
                    "name": "Ringkasan Statistik Kerusakan Bangunan",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/ringkasan",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "ringkasan"
                            ]
                        },
                        "description": "Statistik agregat kerusakan seluruh bangunan pasca gempa: total dinilai, pembagian stiker hijau/kuning/merah, distribusi per kelas kerusakan, per fungsi, per jenis struktur, dan per kabupaten/kota."
                    },
                    "response": [
                        {
                            "name": "200 OK",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                },
                                {
                                    "key": "X-Api-Access-Mode",
                                    "value": "read-only"
                                }
                            ],
                            "body": "{\n    \"total\": 248,\n    \"berkoordinat\": 245,\n    \"lengkap\": 238,\n    \"rerata_indeks\": 38.45,\n    \"per_stiker\": {\n        \"hijau\": 142,\n        \"kuning\": 68,\n        \"merah\": 38\n    },\n    \"per_kelas_kerusakan\": {\n        \"Rusak Ringan\": 125,\n        \"Rusak Sedang\": 70,\n        \"Rusak Berat\": 35,\n        \"Runtuh / Sangat Parah\": 18\n    },\n    \"per_provinsi\": {\n        \"NUSA TENGGARA TIMUR\": 248\n    },\n    \"per_kabupaten\": {\n        \"KABUPATEN SIKKA\": 112,\n        \"KABUPATEN FLORES TIMUR\": 76,\n        \"KABUPATEN ALOR\": 45,\n        \"KABUPATEN ENDE\": 15\n    },\n    \"per_fungsi\": {\n        \"Hunian / Rumah Tinggal\": 182,\n        \"Pendidikan (Sekolah / Kampus)\": 32,\n        \"Kesehatan (RS / Puskesmas)\": 14,\n        \"Pemerintahan / Kantor\": 12,\n        \"Tempat Ibadah\": 8\n    },\n    \"per_jenis_struktur\": {\n        \"Pasangan Bata Dinding Pemikul\": 140,\n        \"Rangka Beton Bertulang (RC Frame)\": 85,\n        \"Kayu / Tradisional\": 23\n    },\n    \"penyaring\": [],\n    \"waktu_server\": \"2026-09-17T12:05:00+08:00\"\n}"
                        }
                    ]
                },
                {
                    "name": "Ringkasan Terfilter (Kabupaten & Stiker)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/ringkasan?kabupaten=KABUPATEN SIKKA&stiker=merah",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "ringkasan"
                            ],
                            "query": [
                                {
                                    "key": "kabupaten",
                                    "value": "KABUPATEN SIKKA"
                                },
                                {
                                    "key": "stiker",
                                    "value": "merah"
                                }
                            ]
                        },
                        "description": "Statistik agregat dengan parameter filter spesifik wilayah dan tingkat bahaya stiker."
                    },
                    "response": [
                        {
                            "name": "200 OK",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"total\": 18,\n    \"berkoordinat\": 18,\n    \"lengkap\": 18,\n    \"rerata_indeks\": 74.2,\n    \"per_stiker\": {\n        \"hijau\": 0,\n        \"kuning\": 0,\n        \"merah\": 18\n    },\n    \"per_kabupaten\": {\n        \"KABUPATEN SIKKA\": 18\n    },\n    \"penyaring\": {\n        \"kabupaten\": \"KABUPATEN SIKKA\",\n        \"stiker\": \"merah\"\n    },\n    \"waktu_server\": \"2026-09-17T12:05:00+08:00\"\n}"
                        }
                    ]
                }
            ]
        },
        {
            "name": "3. Data Asesmen Bangunan (Read-Only)",
            "description": "Daftar dan detail lengkap hasil evaluasi fisik bangunan pasca gempa.",
            "item": [
                {
                    "name": "Daftar Bangunan & Foto Dokumentasi",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/bangunan?per_halaman=10&urut=diperbarui&arah=desc",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "bangunan"
                            ],
                            "query": [
                                {
                                    "key": "per_halaman",
                                    "value": "10"
                                },
                                {
                                    "key": "urut",
                                    "value": "diperbarui"
                                },
                                {
                                    "key": "arah",
                                    "value": "desc"
                                },
                                {
                                    "key": "stiker",
                                    "value": "merah",
                                    "disabled": true
                                },
                                {
                                    "key": "kabupaten",
                                    "value": "KABUPATEN SIKKA",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Mengambil daftar bangunan hasil asesmen lengkap dengan lampiran foto dokumentasi kerusakan fisik, koordinat GPS, stiker keamanan, serta filter wilayah dan paginasi."
                    },
                    "response": [
                        {
                            "name": "200 OK",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"data\": [\n        {\n            \"uid\": \"e7b1a2f4-3d5c-4e89-9a1b-0123456789ab\",\n            \"kode\": \"SKK-2026-0042\",\n            \"nama\": \"Puskesmas Pembantu Wailiti\",\n            \"fungsi\": \"Kesehatan (RS / Puskesmas)\",\n            \"jenis_struktur\": \"Rangka Beton Bertulang (RC Frame)\",\n            \"jumlah_lantai\": 2,\n            \"luas_m2\": 450,\n            \"alamat\": \"Jl. Trans Maumere-Larantuka Km 7\",\n            \"kabupaten\": \"KABUPATEN SIKKA\",\n            \"kecamatan\": \"ALOK BARAT\",\n            \"lat\": -8.61842,\n            \"lon\": 122.18953,\n            \"stiker\": \"merah\",\n            \"label_stiker\": \"MERAH (Bahaya / Dilarang Masuk)\",\n            \"warna_stiker\": \"#dc2626\",\n            \"status_keamanan\": \"Dilarang Masuk / Bangunan Sangat Berbahaya\",\n            \"kelas_kerusakan\": \"Rusak Berat\",\n            \"indeks_total\": 78.5,\n            \"evaluator\": \"Ir. Yohanes D. (Tim Reaksi Cepat)\",\n            \"tanggal\": \"2026-09-15\",\n            \"jam\": \"14:20\",\n            \"diperbarui\": \"2026-09-16T10:15:30+08:00\",\n            \"foto\": [\n                {\n                    \"id\": 101,\n                    \"kategori\": \"Tampak Depan\",\n                    \"slot\": \"depan\",\n                    \"nama\": \"tampak_depan_pustu_wailiti.jpg\",\n                    \"keterangan\": \"Foto tampak muka bangunan Puskesmas\",\n                    \"url\": \"https://rapid.cemapp.com/api/v1/foto/101/berkas\"\n                },\n                {\n                    \"id\": 102,\n                    \"kategori\": \"Kerusakan Struktur\",\n                    \"slot\": \"struktur\",\n                    \"nama\": \"kolom_retak_lantai1.jpg\",\n                    \"keterangan\": \"Keretakan geser diagonal pada kolom sudut\",\n                    \"url\": \"https://rapid.cemapp.com/api/v1/foto/102/berkas\"\n                }\n            ]\n        }\n    ],\n    \"links\": {\n        \"first\": \"https://rapid.cemapp.com/api/v1/eksternal/bangunan?page=1\",\n        \"last\": \"https://rapid.cemapp.com/api/v1/eksternal/bangunan?page=25\",\n        \"prev\": null,\n        \"next\": \"https://rapid.cemapp.com/api/v1/eksternal/bangunan?page=2\"\n    },\n    \"meta\": {\n        \"current_page\": 1,\n        \"from\": 1,\n        \"last_page\": 25,\n        \"per_page\": 10,\n        \"to\": 10,\n        \"total\": 248\n    }\n}"
                        }
                    ]
                },
                {
                    "name": "Detail Lengkap Bangunan (by ID / Kode)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/bangunan/SKK-2026-0042",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "bangunan",
                                "SKK-2026-0042"
                            ]
                        },
                        "description": "Melihat data evaluasi komprehensif 1 bangunan: mencakup identitas, koordinat, 13 parameter kerusakan (kolom, balok, dinding, pondasi), stiker, status keamanan, rekomendasi tindakan darurat, dan daftar foto."
                    },
                    "response": [
                        {
                            "name": "200 OK — Detail Lengkap",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"id\": 42,\n    \"uid\": \"e7b1a2f4-3d5c-4e89-9a1b-0123456789ab\",\n    \"kode\": \"SKK-2026-0042\",\n    \"nama\": \"Puskesmas Pembantu Wailiti\",\n    \"fungsi\": \"Kesehatan (RS / Puskesmas)\",\n    \"sub_fungsi\": \"Klinik Rawat Inap & IGD\",\n    \"jenis_struktur\": \"Rangka Beton Bertulang (RC Frame)\",\n    \"jumlah_lantai\": 2,\n    \"tahun\": 2018,\n    \"panjang\": 25,\n    \"lebar\": 18,\n    \"luas\": 450,\n    \"alamat\": \"Jl. Trans Maumere-Larantuka Km 7\",\n    \"desa\": \"Wailiti\",\n    \"kecamatan\": \"ALOK BARAT\",\n    \"kabupaten\": \"KABUPATEN SIKKA\",\n    \"provinsi\": \"NUSA TENGGARA TIMUR\",\n    \"lat\": -8.61842,\n    \"lon\": 122.18953,\n    \"akurasi\": 3.5,\n    \"kontak_nama\": \"dr. Maria Fransiska\",\n    \"kontak_telepon\": \"081234567890\",\n    \"evaluator\": \"Ir. Yohanes D. (Tim Reaksi Cepat)\",\n    \"instansi\": \"Dinas PUPR & BPBD Sikka\",\n    \"tanggal\": \"2026-09-15\",\n    \"jam\": \"14:20\",\n    \"jawaban\": {\n        \"runtuh_total\": {\n            \"kode\": \"TIDAK\"\n        },\n        \"miring\": {\n            \"kode\": \"YA\",\n            \"keterangan\": \"Kemiringan struktur lantai 1 terdeteksi 3 derajat\"\n        },\n        \"kerusakan_kolom\": {\n            \"kode\": \"PARAH\",\n            \"distribusi\": {\n                \"a\": 25,\n                \"b\": 50,\n                \"c\": 25\n            }\n        },\n        \"kerusakan_balok\": {\n            \"kode\": \"SEDANG\",\n            \"distribusi\": {\n                \"a\": 40,\n                \"b\": 40,\n                \"c\": 20\n            }\n        },\n        \"pondasi_amblas\": {\n            \"kode\": \"TIDAK\"\n        }\n    },\n    \"stiker\": \"merah\",\n    \"label_stiker\": \"MERAH (Bahaya / Dilarang Masuk)\",\n    \"warna_stiker\": \"#dc2626\",\n    \"status_keamanan\": \"Dilarang Masuk / Bangunan Sangat Berbahaya\",\n    \"kelas_kerusakan\": \"Rusak Berat\",\n    \"indeks_struktur\": 82,\n    \"indeks_nonstruktur\": 65,\n    \"indeks_total\": 78.5,\n    \"catatan\": \"Kolom utama sisi utara mengalami spalling beton dan tulangan tertekuk (buckling). Dilarang dimasuki tenaga medis maupun pasien sampai dilakukan retrofitting struktur.\",\n    \"foto\": [\n        {\n            \"id\": 101,\n            \"kategori\": \"Tampak Depan\",\n            \"slot\": \"depan\",\n            \"nama\": \"tampak_depan_pustu_wailiti.jpg\",\n            \"url\": \"https://rapid.cemapp.com/api/v1/foto/101/berkas\"\n        },\n        {\n            \"id\": 102,\n            \"kategori\": \"Kerusakan Struktur\",\n            \"slot\": \"struktur\",\n            \"nama\": \"kolom_retak_lantai1.jpg\",\n            \"url\": \"https://rapid.cemapp.com/api/v1/foto/102/berkas\"\n        }\n    ],\n    \"dibuat\": \"2026-09-15T15:00:00+08:00\",\n    \"diperbarui\": \"2026-09-16T10:15:30+08:00\"\n}"
                        }
                    ]
                }
            ]
        },
        {
            "name": "4. Integrasi Spasial GIS & Ekspor Data (Read-Only)",
            "description": "Endpoint ekspor data spasial GeoJSON dan format tabular CSV.",
            "item": [
                {
                    "name": "Data Spasial GeoJSON (ArcGIS / QGIS / WebGIS)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/geojson?kabupaten=KABUPATEN SIKKA",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "geojson"
                            ],
                            "query": [
                                {
                                    "key": "kabupaten",
                                    "value": "KABUPATEN SIKKA"
                                },
                                {
                                    "key": "stiker",
                                    "value": "merah",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Format GeoJSON standar FeatureCollection Point (EPSG:4326 WGS84) yang langsung dapat dimuat ke ArcGIS Online, QGIS Desktop, Geoserver BNPB, Leaflet, atau Mapbox."
                    },
                    "response": [
                        {
                            "name": "200 OK — Standar GeoJSON",
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                }
                            ],
                            "body": "{\n    \"type\": \"FeatureCollection\",\n    \"name\": \"survei_bangunan_ntt\",\n    \"crs\": {\n        \"type\": \"name\",\n        \"properties\": {\n            \"name\": \"urn:ogc:def:crs:OGC:1.3:CRS84\"\n        }\n    },\n    \"features\": [\n        {\n            \"type\": \"Feature\",\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    122.18953,\n                    -8.61842\n                ]\n            },\n            \"properties\": {\n                \"kode\": \"SKK-2026-0042\",\n                \"nama\": \"Puskesmas Pembantu Wailiti\",\n                \"fungsi\": \"Kesehatan (RS / Puskesmas)\",\n                \"stiker\": \"MERAH\",\n                \"status\": \"Dilarang Masuk / Bangunan Sangat Berbahaya\",\n                \"kelas_kerusakan\": \"Rusak Berat\",\n                \"indeks_total\": 78.5,\n                \"warna_hex\": \"#dc2626\",\n                \"kabupaten\": \"KABUPATEN SIKKA\",\n                \"kecamatan\": \"ALOK BARAT\",\n                \"tanggal\": \"2026-09-15\"\n            }\n        }\n    ]\n}"
                        }
                    ]
                },
                {
                    "name": "Ekspor Data Tabular CSV",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Authorization",
                                "value": "Bearer {{token}}",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/eksternal/ekspor/csv",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "eksternal",
                                "ekspor",
                                "csv"
                            ]
                        },
                        "description": "Mengunduh stream berkas CSV (pemisah titik-koma dengan BOM UTF-8) yang langsung rapi dibuka di Microsoft Excel, Google Sheets, SPSS, atau Python Pandas."
                    },
                    "response": [
                        {
                            "name": "200 OK — File Download CSV",
                            "status": "OK",
                            "code": 200,
                            "header": [
                                {
                                    "key": "Content-Type",
                                    "value": "text/csv; charset=UTF-8"
                                },
                                {
                                    "key": "Content-Disposition",
                                    "value": "attachment; filename=\"survei-bangunan-20260917.csv\""
                                }
                            ],
                            "body": "kode;nama_bangunan;fungsi;jenis_struktur;stiker;kelas_kerusakan;lat;lon;kabupaten\nSKK-2026-0042;Puskesmas Pembantu Wailiti;Kesehatan;RC Frame;MERAH;Rusak Berat;-8.618420;122.189530;KABUPATEN SIKKA"
                        }
                    ]
                }
            ]
        }
    ]
}