Alur Integrasi

Urutan endpoint yang dipakai

Filter dataset memakai ID dan slug dari endpoint referensi. Dengan begitu pengguna API tahu year yang tersedia, producer_id dan nama topiknya, serta opd_id dan nama OPD-nya sebelum mengambil data.

01 Ambil Tahun

GET /dataset-years

https://satudata.bandarlampungkota.go.id/api/v1/dataset-years Gunakan nilai dari response ini untuk filter year.
02 Ambil Topik / Producer

GET /data-producers

https://satudata.bandarlampungkota.go.id/api/v1/data-producers Response berisi producer_id, name, slug topic, dan OPD yang terkait.
03 Ambil OPD

GET /opds

https://satudata.bandarlampungkota.go.id/api/v1/opds Gunakan id dari response ini sebagai opd_id.
04 Ambil Dataset

GET /dataset-records

https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?year=2025&producer_id=7&opd_id=21 Filter year, producer_id, topic, opd_id, dan search bisa digabung.

Endpoint Referensi

Ambil data filter dulu

Gunakan endpoint ini untuk mengambil referensi filter secara resmi. Response menampilkan pasangan ID dan nama agar integrator tidak menebak angka ID.

GET https://satudata.bandarlampungkota.go.id/api/v1/dataset-years

Daftar tahun dataset

Mengembalikan daftar tahun yang tersedia pada dataset published.

200 OKResponse year
{
  "data": [
    2025,
    2024,
    2023
  ]
}
GET https://satudata.bandarlampungkota.go.id/api/v1/data-producers

Daftar producer/topik

Pakai id sebagai producer_id, atau slug sebagai parameter topic. Field opds menunjukkan OPD yang terkait dengan topik tersebut.

200 OKResponse producer
{
  "data": [
    {
      "id": 7,
      "name": "Kelompok Kerja Pemerintahan dan Sumber Daya Manusia",
      "slug": "pemerintahan-sumber-daya-manusia",
      "work_group": "Pemerintahan dan Sumber Daya Manusia",
      "opds": [
        {
          "id": 40,
          "name": "BADAN KEPEGAWAIAN DAN PENGEMBANGAN SUMBER DAYA MANUSIA",
          "slug": "badan-kepegawaian-dan-pengembangan-sumber-daya-manusia"
        },
        {
          "id": 44,
          "name": "BADAN KESATUAN BANGSA DAN POLITIK",
          "slug": "badan-kesatuan-bangsa-dan-politik"
        },
        {
          "id": 43,
          "name": "BADAN PENDAPATAN DAERAH",
          "slug": "badan-pendapatan-daerah"
        }
      ]
    },
    {
      "id": 8,
      "name": "Kelompok Kerja Ekonomi dan Pembangunan Berkelanjutan",
      "slug": "ekonomi-pembangunan-berkelanjutan",
      "work_group": "Ekonomi dan Pembangunan Berkelanjutan",
      "opds": [
        {
          "id": 42,
          "name": "BADAN  KEUANGAN DAN ASET DAERAH",
          "slug": "badan-keuangan-dan-aset-daerah"
        },
        {
          "id": 5,
          "name": "BAGIAN PEREKONOMIAN",
          "slug": "bagian-perekonomian"
        },
        {
          "id": 11,
          "name": "BAGIAN PERENCANAAN DAN KEUANGAN",
          "slug": "bagian-perencanaan-dan-keuangan"
        }
      ]
    }
  ]
}
GET https://satudata.bandarlampungkota.go.id/api/v1/opds

Daftar OPD

Pakai id sebagai opd_id saat filter dataset.

200 OKResponse OPD
{
  "data": [
    {
      "id": 42,
      "name": "BADAN  KEUANGAN DAN ASET DAERAH",
      "slug": "badan-keuangan-dan-aset-daerah"
    },
    {
      "id": 40,
      "name": "BADAN KEPEGAWAIAN DAN PENGEMBANGAN SUMBER DAYA MANUSIA",
      "slug": "badan-kepegawaian-dan-pengembangan-sumber-daya-manusia"
    },
    {
      "id": 44,
      "name": "BADAN KESATUAN BANGSA DAN POLITIK",
      "slug": "badan-kesatuan-bangsa-dan-politik"
    },
    {
      "id": 45,
      "name": "BADAN PENANGGULANGAN BENCANA DAERAH",
      "slug": "badan-penanggulangan-bencana-daerah"
    },
    {
      "id": 43,
      "name": "BADAN PENDAPATAN DAERAH",
      "slug": "badan-pendapatan-daerah"
    }
  ]
}

Endpoint Data

GET /dataset-records

Endpoint list untuk mengambil banyak dataset terbuka sekaligus. Response berisi metadata dataset, struktur tabel, nilai per tahun, pagination, dan filter yang diterapkan.

GET https://satudata.bandarlampungkota.go.id/api/v1/dataset-records
ParameterTipeSumber NilaiKeterangan
pagenumberManualNomor halaman. Default 1.
per_pagenumberManualJumlah data per halaman. Maksimum 100.
yearnumber atau CSVGET /dataset-yearsContoh year=2025 atau year=2024,2025.
producer_idnumber atau CSVGET /data-producersFilter berdasarkan ID topik/produsen data. Contoh 7 = Kelompok Kerja Pemerintahan dan Sumber Daya Manusia.
topicstring atau CSVGET /data-producersAlternatif filter topik memakai slug. Contoh pemerintahan-sumber-daya-manusia.
opd_idnumber atau CSVGET /opdsFilter OPD. Contoh 21 = DINAS PENGENDALIAN PENDUDUK DAN KELUARGA BERENCANA.
searchstringManualPencarian pada judul, deskripsi, kategori, topik, dan OPD.
Semua dataset terbuka https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?per_page=10
Dataset tahun 2025 https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?year=2025
Dataset topik Kelompok Kerja Pemerintahan dan Sumber Daya Manusia https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?producer_id=7
Dataset memakai slug topic https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?topic=pemerintahan-sumber-daya-manusia
Dataset OPD DINAS PENGENDALIAN PENDUDUK DAN KELUARGA BERENCANA https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?opd_id=21
Dataset prioritas https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?priority_status=priority
Dataset biasa https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?is_priority=false
Filter campuran https://satudata.bandarlampungkota.go.id/api/v1/dataset-records?year=2025&producer_id=7&opd_id=21&priority_status=regular
200 OK Contoh response /dataset-records
{
  "data": [
    {
      "dataset": {
        "id": 1266,
        "identifier": "291a1589-139b-4255-b860-fd940ba89bf3",
        "code_dssd": "2.14.000059",
        "name_dssd": "Materi Promosi dan Konseling Kespro dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal",
        "unit": "Dokumen",
        "code_area": "1871",
        "code_bps": "-",
        "opd_id": 21,
        "opd_name": "DINAS PENGENDALIAN PENDUDUK DAN KELUARGA BERENCANA",
        "producer_id": 7,
        "producer_name": "Kelompok Kerja Pemerintahan dan Sumber Daya Manusia",
        "producer_work_group": "Pemerintahan dan Sumber Daya Manusia",
        "category_id": 32,
        "category_name": "Pengendalian Penduduk dan Keluarga Berencana",
        "subject": "Materi Promosi dan Konseling Kespro dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal",
        "description": "Materi Promosi dan Konseling Kesehatan Reproduksi dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal adalah materi edukasi, informasi, dan komunikasi yang disusun dengan memperhatikan nilai, norma, adat istiadat, dan karakteristik masyarakat setempat untuk mendukung pemahaman, peningkatan kesadaran, serta akses terhadap layanan kesehatan reproduksi dan pemenuhan hak-hak reproduksi secara tepat, mudah dipahami, dan sesuai dengan konteks budaya lokal.",
        "measurement_method": "Kompilasi Produk Administrasi",
        "coverage": "Kota",
        "indicator_code": "-",
        "note": "-",
        "publisher_name": "Dinas Pengendalian Penduduk dan Keluarga Berencana",
        "publisher_contact": "Jl. Bung Tomo",
        "periodicity": "Tahunan",
        "status": "published",
        "access_status": "open",
        "is_priority": false,
        "views_count": 86,
        "created_at": "2026-05-24T06:21:34Z",
        "updated_at": "2026-06-19T08:51:04Z",
        "published_at": "2026-05-24T06:21:34Z"
      },
      "table": {
        "code_dssd": "2.14.000059",
        "uraian_dssd": "Materi Promosi dan Konseling Kespro dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal",
        "code_area": "1871",
        "unit": "Dokumen"
      },
      "values": [
        {
          "year": 2024,
          "value": "1"
        },
        {
          "year": 2025,
          "value": "1"
        }
      ]
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 10,
    "total": 1,
    "total_pages": 1
  },
  "filters": {
    "access_status": "open",
    "is_priority": false,
    "year": [
      2025
    ],
    "producer_id": [
      7
    ],
    "opd_id": [
      21
    ]
  }
}

Detail Dataset

GET /datasets/{identifier}/record

Endpoint ini dipakai saat pengguna sudah berada di detail dataset dan ingin mengambil satu full record saja. Response tidak dipaginasi karena hanya mengembalikan satu dataset.

GET https://satudata.bandarlampungkota.go.id/api/v1/datasets/291a1589-139b-4255-b860-fd940ba89bf3/record
200 OK Contoh response full record
{
  "data": {
    "dataset": {
      "id": 1266,
      "identifier": "291a1589-139b-4255-b860-fd940ba89bf3",
      "code_dssd": "2.14.000059",
      "name_dssd": "Materi Promosi dan Konseling Kespro dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal",
      "unit": "Dokumen",
      "code_area": "1871",
      "code_bps": "-",
      "opd_id": 21,
      "opd_name": "DINAS PENGENDALIAN PENDUDUK DAN KELUARGA BERENCANA",
      "producer_id": 7,
      "producer_name": "Kelompok Kerja Pemerintahan dan Sumber Daya Manusia",
      "producer_work_group": "Pemerintahan dan Sumber Daya Manusia",
      "category_id": 32,
      "category_name": "Pengendalian Penduduk dan Keluarga Berencana",
      "subject": "Materi Promosi dan Konseling Kespro dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal",
      "description": "Materi Promosi dan Konseling Kesehatan Reproduksi dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal adalah materi edukasi, informasi, dan komunikasi yang disusun dengan memperhatikan nilai, norma, adat istiadat, dan karakteristik masyarakat setempat untuk mendukung pemahaman, peningkatan kesadaran, serta akses terhadap layanan kesehatan reproduksi dan pemenuhan hak-hak reproduksi secara tepat, mudah dipahami, dan sesuai dengan konteks budaya lokal.",
      "measurement_method": "Kompilasi Produk Administrasi",
      "coverage": "Kota",
      "indicator_code": "-",
      "note": "-",
      "publisher_name": "Dinas Pengendalian Penduduk dan Keluarga Berencana",
      "publisher_contact": "Jl. Bung Tomo",
      "periodicity": "Tahunan",
      "status": "published",
      "access_status": "open",
      "is_priority": false,
      "views_count": 86,
      "created_at": "2026-05-24T06:21:34Z",
      "updated_at": "2026-06-19T08:51:04Z",
      "published_at": "2026-05-24T06:21:34Z"
    },
    "table": {
      "code_dssd": "2.14.000059",
      "uraian_dssd": "Materi Promosi dan Konseling Kespro dan Hak-Hak Reproduksi yang telah Dikembangkan dan Disediakan sesuai dengan Kearifan Budaya Lokal",
      "code_area": "1871",
      "unit": "Dokumen"
    },
    "values": [
      {
        "year": 2024,
        "value": "1"
      },
      {
        "year": 2025,
        "value": "1"
      }
    ]
  }
}

Riwayat Aktivitas

GET /datasets/{identifier}/activity

Endpoint ini mengembalikan audit trail dataset terbuka, seperti dibuat, dipublikasi, perubahan status/akses, download, dan permintaan data yang aman ditampilkan.

GET https://satudata.bandarlampungkota.go.id/api/v1/datasets/291a1589-139b-4255-b860-fd940ba89bf3/activity?limit=50
200 OK Contoh response activity
{
  "data": [
    {
      "id": 2353,
      "action": "dataset_downloaded",
      "actor_type": "public",
      "actor_name": "Pengunjung publik",
      "metadata": {
        "format": "pdf"
      },
      "created_at": "2026-06-23T09:39:24+07:00"
    },
    {
      "id": 2080,
      "action": "dataset_published",
      "actor_type": "system",
      "actor_name": "Sistem",
      "created_at": "2026-05-24T06:21:34Z"
    },
    {
      "id": 904,
      "action": "dataset_created",
      "actor_type": "system",
      "actor_name": "Sistem",
      "created_at": "2026-05-24T06:21:34Z"
    }
  ]
}

Aturan Akses

Hanya dataset terbuka yang mengirim isi data

Dataset restricted dan closed boleh tampil di katalog untuk transparansi metadata, tetapi endpoint publik tidak mengirim isi tabel dan nilai tahunannya.

open Metadata + table + values

Bisa diambil dari endpoint record dan dataset-records.

restricted Butuh permintaan akses

Isi data tidak dikirim dari API publik.

closed Tidak dibuka publik

Isi data tidak dikirim dari API publik.

Response Error

Format error dan kode status

Error selalu memakai envelope { error: { code, message } }. Untuk endpoint data terbuka, dataset yang tidak ditemukan, belum published, atau tidak open akan dianggap tidak tersedia. Jika rate limiter aktif, response juga membawa header X-RateLimit-Limit, X-RateLimit-Remaining, dan X-RateLimit-Reset.

StatusCodeKapan TerjadiAksi Integrator
400invalid_requestParameter query, path, atau body tidak valid.Periksa format UUID, angka ID, tahun, pagination, dan JSON body.
404not_foundIdentifier tidak valid, dataset belum published, atau status akses bukan open.Cek identifier dan status akses dataset.
429rate_limitedRequest melewati batas rate limit publik.Tunggu header X-RateLimit-Reset lalu ulangi request.
500internal_errorGangguan server atau database.Retry dengan backoff dan laporkan jika konsisten.
HeaderArtiContoh
X-RateLimit-LimitBatas request dalam window aktif.120
X-RateLimit-RemainingSisa quota request pada window aktif.119
X-RateLimit-ResetUnix timestamp saat window rate limit di-reset.1782182400
400 Bad RequestInvalid request
{
  "error": {
    "code": "invalid_request",
    "message": "Invalid request parameter"
  }
}
404 Not FoundNot found
{
  "error": {
    "code": "not_found",
    "message": "Dataset not found"
  }
}
429 Too Many RequestsRate limit
{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests"
  }
}
500 Internal Server ErrorServer error
{
  "error": {
    "code": "internal_error",
    "message": "Failed to load dataset records"
  }
}