Seluruh produk dilayani lewat bentuk permintaan dan respons yang sama — dataset yang diunggah penjual, API pihak ketiga yang direlai, maupun script yang dieksekusi. Contoh di halaman ini dibangun dari produk yang benar-benar ada di katalog, bukan skema karangan.
Tujuh kanal distribusi, satu model data. Kanal yang belum dibuka ditandai dengan tahapnya.
Autentikasi token, paginasi, dan filter. Versi eksplisit di URL — tidak pernah diganti diam-diam.
CSV, Parquet, dan GeoJSON/GeoPackage untuk data spasial — lewat presigned URL.
Webhook, object storage, SFTP, atau spreadsheet daring, dengan opsi delta: hanya baris yang berubah.
Endpoint DataDiti untuk API pihak ketiga: respons ternormalisasi, cache sesuai TTL, kuota per tier.
Pembungkus API untuk produk script: sinkron atau asinkron (job + webhook selesai), dengan batas sumber daya per panggilan.
Lapisan tipis di atas API yang sudah rapi — menjadikan DataDiti sumber data tepercaya untuk agen AI.
Setiap permintaan membawa token bearer milik akun Anda. Token bisa dibatasi cakupannya per dataset dan dicabut kapan saja dari area pembeli.
Authorization, tidak pernah sebagai parameter URL — parameter URL ikut tercatat di log perantara.Tiga endpoint menutup sebagian besar kebutuhan: metadata produk, baris data, dan skema kolomnya.
| Metode | Jalur | Kegunaan |
|---|---|---|
| GET | /v1/datasets | Daftar produk yang bisa Anda akses. |
| GET | /v1/datasets/{slug} | Metadata produk: versi terbaru, skor, cakupan, kelas akses. |
| GET | /v1/datasets/{slug}/rows | Baris data, dengan paginasi dan filter. |
| GET | /v1/datasets/{slug}/schema | Kamus data versi tersebut: nama kolom, tipe, satuan, keterangan. |
Contoh di bawah memakai Proyeksi Penduduk Kabupaten 2020-2025 — produk sungguhan di katalog, beserta nama kolomnya yang sebenarnya.
Permintaan
Respons
Satu baris ditampilkan; sisanya mengikuti paginasi.
Paginasi berbasis halaman dengan batas 100 baris per permintaan. Filter memakai nama kolom pada kamus data produk yang bersangkutan — tidak ada nama filter khusus yang harus dihafal.
halaman dan per_halaman mengatur potongan; meta.total memberi jumlah seluruh baris yang cocok.Kode status HTTP dipakai sebagaimana mestinya, dan badan responsnya selalu menyebutkan sebab yang bisa ditindaklanjuti.
| 401 | Token tidak ada, kedaluwarsa, atau sudah dicabut. |
| 403 | Token sah, tetapi produk ini di luar cakupannya — atau yurisdiksi Anda tidak boleh menerima data ini. |
| 404 | Produk atau versi tidak ada. Produk yang ditarik lewat takedown juga menjawab 404. |
| 410 | Versi ini sudah dipensiunkan setelah masa layannya habis. |
| 429 | Kuota tier terlampaui. Header respons menyebutkan kapan kuota disetel ulang. |
Integrasi bisa rusak diam-diam bila nama kolom berubah tanpa peringatan. Tiga janji di bawah ini mencegahnya.
Setiap endpoint memuat versinya. Versi yang sudah terbit tidak pernah diubah isinya — perbaikan terbit sebagai versi baru.
Minimal 90 hari sebelum rilis, lewat changelog, notifikasi, dan email.
Minimal 180 hari setelah penggantinya terbit, lalu dipensiunkan dengan pengingat bertahap.
Agen AI memanggil alat, bukan URL. Responsnya membawa provenance — versi, sumber, dan skor — supaya jawaban yang mengutip angkanya bisa ditelusuri asal-usulnya.
Panggilan alat
Respons