Dokumentasi API
Anda dapat melihat dokumentasi versi lama melalui tautan berikut.
Piramida menyediakan layanan API HTTP publik yang dapat diakses melalui tautan https://ojk-invest-api.vercel.app/api. Data yang disajikan oleh API Piramida diperbaharui setiap hari pada pukul 00:00 Waktu Indonesia Barat (WIB).
Seluruh respon dari permintaan yang dikirimkan pada API Piramida memiliki cache publik yang disimpan selama 24 jam sejak pengembalian respon pertama.
Terdapat dua bentuk API yang disediakan oleh Piramida, yaitu REST API dan GraphQL API.
Resource
API Piramida menyediakan data yang bersumber dari Otoritas Jasa Keuangan Republik Indonesia dalam bentuk kumpulan resource yang dapat dipanggil sebagai endpoint HTTP.
Terdapat tiga buah resource utama yang disediakan oleh API Piramida.
Apps
Apps merupakan entitas yang merepresentasikan sebuah aplikasi managemen reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
Berikut merupakan salah satu contoh dari entitas Apps.
{ "id": 1, "name": "ACME Inc.", "url": "https://www.example.com", "owner": "PT. Budi Makmur" }
Apps memiliki empat buah properti yang masing-masing menyimpan informasi-informasi berikut.
idinteger
Nomor ID aplikasi sesuai data yang disimpan oleh Otoritas Jasa Keuangan Republik Indonesia.
namestring
Nama aplikasi managemen reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
urlstring
Halaman situs pihak penyedia aplikasi.
ownerstring
Pihak pemilik aplikasi. Dapat berupa individu atau badan usaha resmi.
Illegals
Illegals merupakan sebuah entitas yang merepresentasikan sebuah produk investasi yang telah dinyatakan ilegal oleh Otoritas Jasa Keuangan Republik Indonesia.
Berikut merupakan salah satu contoh dari entitas Illegals.
{ "id": 1, "name": "Acme Inc.", "alias": [ "ACME" ], "address": "Jln. Merdeka Barat no. 2", "number": [ "08123456789" ], "email": [ "john.doe@acme.com" ], "urls": [ "http://acme.com" ], "type": "Investasi Saham", "inputDate": "18/08/2016", "details": "" }
Illegals memiliki sepuluh properti yang masing-masing menyimpan informasi berikut.
idinteger
Nomor ID produk investasi ilegal sesuai data yang disimpan oleh Otoritas Jasa Keuangan Republik Indonesia.
namestring
Nama produk investasi yang telah dinyatakan ilegal oleh Otoritas Jasa Keuangan Republik Indonesia.
aliasstring array
Nama alternatif atau alias yang dapat mewakili atau merepresentasikan produk investasi terkait.
addressstring
Alamat pihak penyedia produk investasi ilegal.
numberstring array
Nomor kontak yang digunakan oleh produk investasi ilegal.
emailstring array
Alamat email yang digunakan oleh produk investasi ilegal.
urlsstring array
Situs yang digunakan oleh produk investasi ilegal.
typestring
Jenis aktivitas investasi yang ditawarkan oleh produk investasi ilegal.
inputDatestring
Tanggal penambahan data produk investasi ilegal yang bersangkutan pada basis data Otoritas Jasa Keuangan Republik Indonesia. Disimpan dalam format
DD/MM/YYYY
.detailsstring
Informasi tambahan mengenai produk investasi ilegal.
Products
Products merupakan entitas yang merepresentasikan sebuah produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
Berikut merupakan salah satu contoh dari entitas Products.
{ "id": 1, "name": "Dana Obligasi ACME", "management": "Acme Inc.", "custodian": "Acme Inc.", "type": "Capital Protected Fund" }
Products memiliki lima buah properti yang masing-masing menyimpan informasi-informasi berikut.
idinteger
Nomor ID produk reksa dana sesuai data yang disimpan oleh Otoritas Jasa Keuangan Republik Indonesia.
namestring
Nama produk reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
managementstring
Pihak pengelola produk reksa dana.
custodianstring
Bank kustodian dari produk reksa dana.
typestring
Jenis produk reksa dana.
REST API
Bentuk Data
Setiap data yang dikembalikan oleh REST API akan dikembalikan dalam bentuk JSON. Berikut merupakan contoh data yang dikembalikan oleh API Piramida.
{ "data": {}, "error": "" }
Data kembalian dari REST API Piramida memiliki dua buah properti, yaitu:
dataobject
Data dari hasil permintaan yang dikembalikan. Akan bernilai
null
apabilaerror
tidak bernilainull
.errorstring
Pesan kesalahan yang terjadi selama API melayani permintaan. Akan bernilai
null
apabiladata
tidak bernilainull
.
Nilai kembalian dari data
akan selalu memiliki dua properti berikut.
<resource>object
Entitas yang dicari. Dapat merupakan kumpulan entitas dalam bentuk array atau sebuah entitas tunggal.
versionstring
Tanggal pembaharuan data. Disimpan dalam format
DD/MM/YYYY
.
Seluruh endpoint yang mengembalikan banyak entitas sekaligus akan memiliki satu buah properti tambahan.
countinteger
Jumlah entitas yang memenuhi kriteria pencarian.
Status HTTP
Terdapat tiga buah respon HTTP yang dapat dikembalikan sebagai respon permintaan oleh REST API Piramida, yaitu:
- 200
Permintaan berhasil diproses dan data berhasil dikembalikan.
- 400
Terdapat parameter permintaan yang salah atau memiliki nilai yang tidak diizinkan. Penyebab kesalahan ditunjukkan melalui properti
error
. - 404
Halaman atau resource yang Anda cari tidak dapat ditemukan pada API Piramida.
- 405
Permintaan dikirimkan menggunakan method HTTP yang tidak diizinkan. Seluruh endpoint dalam API Piramida hanya dapat dipanggil menggunakan method
GET
. - 500
Terdapat kesalahan tidak terduga yang dialami oleh peladen.
Endpoint Apps
Kumpulan endpoint yang dapat digunakan untuk memperoleh informasi mengenai aplikasi managemen reksa dana yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
GET — /api/apps
Mengembalikan seluruh aplikasi manajemen reksa dana yang telah dinyatakan legal oleh Otoritas Jasa Keuangan Republik Indonesia sesuai dengan parameter permintaan yang diberikan.
Parameter Permintaannamestring
Pola nama yang ingin dicari dari daftar aplikasi.
limitinteger
Jumlah data maksimum yang dapat dikembalikan.
offsetinteger
Indeks pertama dari data yang diminta.
Contoh penggunaan endpoint
Permintaan
curl https://ojk-invest-api.vercel.app/api/apps
Respon
{ "data": { "apps": [ { "id": 1, "name": "ACME", "url": "https://www.acme.com", "owner": "Acme Inc." } ], "count": 1, "version": "21/10/2021" }, "error": "" }
GET — /api/apps/:id
Mengembalikan sebuah aplikasi manajemen reksa dana legal yang diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia yang memiliki nomor ID yang sama dengan parameter id
.
idintegerrequired
Nomor identitas dari aplikasi manajemen reksa dana yang diinginkan.
Contoh penggunaan endpoint
Permintaan
curl https://ojk-invest-api.vercel.app/api/apps/1
Respon
{ "data": { "apps": { "id": 1, "name": "Ajaib", "url": "https://www.ajaib.co.id", "owner": "PT Takjub Teknologi Indonesia" }, "version": "21/10/2021" }, "error": "" }
Endpoint Illegals
Kumpulan endpoint yang melayani seluruh permintaan mengenai produk investasi yang telah dinyatakan ilegal beredar di Indonesia oleh Otoritas Jasa Keuangan Republik Indonesia.
GET — /api/illegals
Mengembalikan seluruh produk investasi yang telah dinyatakan ilegal beredar di Indonesia oleh Otoritas Jasa Keuangan Republik Indonesia sesuai dengan parameter permintaan yang diberikan.
Parameter Permintaannamestring
Pola nama yang ingin dicari dari daftar produk investasi ilegal.
limitinteger
Jumlah data maksimum yang dapat dikembalikan.
offsetinteger
Indeks pertama dari data yang diminta.
Contoh penggunaan endpoint
Permintaan
curl https://ojk-invest-api.vercel.app/api/illegals
Respon
{ "data": { "illegals": [ { "id": 1, "name": "Acme Inc.", "alias": [ "ACME", "A.C.M.E" ], "address": "Jl. Peta no. 2", "number": [ "08379670609" ], "email": [ "acme@company.co.id" ], "urls": [ "http://acme.com" ], "type": "Investasi Saham", "inputDate": "18/08/2016", "details": "" } ], "count": 1, "version": "21/10/2021" }, "error": "" }
GET — /api/illegals/:id
Mengembalikan sebuah produk investasi yang telah dinyatakan ilegal beredar di Indonesia oleh Otoritas Jasa Keuangan Republik Indonesia yang memiliki nomor ID yang sama dengan parameter id
.
idintegerrequired
Nomor identitas dari aplikasi manajemen reksa dana yang diinginkan.
Contoh penggunaan endpoint
Permintaan
curl https://ojk-invest-api.vercel.app/api/illegals/1
Respon
{ "data": { "illegals": { "id": 1, "name": "Acme Inc.", "alias": [ "ACME", "A.C.M.E" ], "address": "Jl. Peta no. 2", "number": [ "08379670609" ], "email": [ "acme@company.co.id" ], "urls": [ "http://acme.com" ], "type": "Investasi Saham", "inputDate": "18/08/2016", "details": "" }, "version": "21/10/2021" }, "error": "" }
Endpoint Products
Kumpulan endpoint yang dapat digunakan untuk memperoleh informasi mengenai produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
GET — /api/products
Mengembalikan seluruh produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia sesuai dengan parameter permintaan yang diberikan.
Parameter Permintaannamestring
Pola nama yang ingin dicari dari daftar produk investasi.
limitinteger
Jumlah data maksimum yang dapat dikembalikan.
offsetinteger
Indeks pertama dari data yang diminta.
Contoh penggunaan endpoint
Permintaan
curl https://ojk-invest-api.vercel.app/api/products
Respon
{ "data": { "products": [ { "id": 1, "name": "ACME", "management": "Acme Inc.", "custodian": "Acme Bank - Custody", "type": "Mixed Asset Fund" } ], "count": 1, "version": "21/10/2021" }, "error": "" }
GET — /api/products/:id
Mengembalikan sebuah produk reksa dana legal yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia yang memiliki nomor ID yang sama dengan parameter id
.
ididrequired
Nomor identitas dari aplikasi manajemen reksa dana yang diinginkan.
Contoh penggunaan endpoint
Permintaan
curl https://ojk-invest-api.vercel.app/api/apps/1
Respon
{ "data": { "products": { "id": 1, "name": "ACME", "management": "Acme Inc.", "custodian": "Acme Bank - Custody", "type": "Mixed Asset Fund" }, "version": "21/10/2021" }, "error": "" }
GraphQL API
Selain REST API, Piramida juga menyediakan sebuah API GraphQL yang dapat diakses melalui tautan https://ojk-invest-api.vercel.app/api/graphql.
GraphQL merupakan sebuah query language alternatif dari REST. Keunggulan dari GraphQL dibandingkan REST API konvensional adalah pengguna dapat menentukan properti-properti mana saja yang dikembalikan dalam permintaan yang dikirim di mana hal tersebut dapat menyelesaikan masalah over-fetching maupun under-fetching serta menyediakan API yang lebih fleksibel.
Informasi mengenai tata cara penggunaan API GraphQL dapat dilihat melalui dokumentasi resmi GraphQL.
Penggunaan API GraphQL Piramida
Seluruh resource yang disediakan oleh REST API juga tersedia melalui API GraphQL yang dapat dipanggil sebagai query GraphQL.
Berikut merupakan sebuah contoh penggunaan API GraphQL Piramida untuk memperoleh data seluruh aplikasi reksa dana yang telah diizinkan oleh Otoritas Jasa Keuangan Republik Indonesia.
{ apps { data { name owner } count version } }
Permintaan tersebut akan menghasilkan data seperti berikut.
{ "data": { "apps": { "data": [ { "name": "ACME", "owner": "Acme Inc." } ], "count": 1, "version": "21/10/2021" } } }
Untuk penggunaan lebih lanjut, Anda dapat mencoba menggunakan API GraphQL Piramida melalui sebuah antarmuka GraphQL playground yang dapat diakses melalui tautan https://ojk-invest-api.vercel.app/api/graphql.