BAGIAN I ARSITEKTUR WEB SERVICE BIOS
Arsitektur web service BIOS :
JSON
BIOS JSON Aplikasi Satker
Database
Dashboard Secara umum, cara kerja Webservice BIOS adalah sebagai berikut : 1. 2. 3. 4.
BIOS akan request token dengan username dan password yang telah diberikan. Dengan token yang sudah ada, BIOS akan request data berikutnya sebagaimana terlampir. Data yang di Request adalah Data Layanan dan Data Keuangan Jika terjadi kegagalan, BIOS akan memberikan log.
Requirement Penggunaan Arsitektur Teknologi
:
format data representation Element Data (HTTP atau HTTPS)
: :
Keamanan • Authentifikasi (Oauth): • Transport Security (TLS) :
:
Methods
:
Status Code & Response Error Handling REST Framework
: : :
RESTFul (Representational state transfer) MVC (Client/Server) Stateless Array Steps JSON (JavaScript Object Notation) Resources Oriented Services dengan URI (Uniform Resource Identifier) atau URL JWT (shortened from JSON Web Token) : RFC JOSE (JSON Object Signatures & Encryption) : Web Key atau Web Signature GET data BLU PUSH referensi kamus data dan trigger update data, serta tanggal update Trigger data dengan code response Error code, contoh : 5xx Server Error Bebas : • Rails Framework for Ruby (Ruby on Rails) • Django (Python) • Jersey /JAX-RS (Java) • Restlet (Java) • Sinatra (Ruby) • Express.js (JavaScript/Node.js), dll
BAGIAN II REQUEST TOKEN Request token bersifat optional (pilihan) bagi satuan kerja BLU yang mengembangkan web service dengan memerlukan autentifikasi saat melakukan requset dari BIOS (JWT). Request ini digunakan untuk mendapatkan token untuk autentikasi request-request selanjutnya. Methode yang digunakan adalah POST. Request ini memiliki format sebagai berikut : No 1 2
Nama username password
Type String String
Jika sukses, format data sebagai berikut : No Nama Type 1 access_token String 2 refresh_token String
Status Wajib Wajib
Deskripsi Diisi dengan username Diisi dengan password
Status Wajib Wajib
Deskripsi Diisi dengan session ID Diisi dengan session yang akan digunakan untuk request access_token kembali
Contoh Response : {"id":"https://xxx.com", "refresh_token":"5Aep8614iLM.Dq661ePDmPEgaAW9Oh_L3JKkDpB4xReb54_ pZebnUG0h6Sb4KUVDpNtWEofWM39yg==","access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0R NBaT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4"} Format access_token : Header : { "typ": "JWT", "alg": "HS256" } Payload Data : { "iat": 1440386575, "iss": "xxxxxxxxx", "data": “kode satker” } Keterangan : iat : issued date, Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970). iss : issued.
BAGIAN III DATA LAYANAN Data layanan pada BIOS dapat disi menggunakan metode web service. Dibagi menjadi tiga ketegori yaitu sebagai berikut : 1. Layanan Kesehatan diperuntukan bagi satuan kerja BLU rumpun kesehatan; 2. Layanan Pendidikan diperuntukan bagi satuan kerja BLU rumpun pendidikan; 3. Layanan Lainnya diperuntukan bagi seluruh satuan kerja BLU sesuai indikator. Format data untuk masing-masing rumpun dapat dijelaskan sebagai berikut
1. Layanan Kesehatan Digunakan untuk mengisi data layanan kesehatan. Metode yang digunakan adalah POST.
Parameter : No Nama 1 tanggal_update
Type Date
Status Wajib
Deskripsi Diisi tanggal update posisi data layanan kesehatan. Menggunakan format tanggal (yyyy/mm/dd).
Request ini memiliki format sebagai berikut : No Nama Type Status Deskripsi 1 kode_satker string Wajib Diisi oleh kode satker BLU (terdiri dari 6 digit). kode satker dapat dilihat dari menu referensi->Satker BLU pada aplikasi BIOS 2 tahun string Wajib Diisi oleh tahun layanan (terdiri dari 4 digit) 3 bulan string Wajib Diisi oleh bulan layanan (terdiri dari 2 digit) 4 kelas string Wajib Diisi oleh kode kelas layanan. Referensi kelas layanan dapat dilihat melalui link : http://bios.djpbn.kemenkeu.go.id/web_services/ref_kel as 5 jumlah_pasien string Wajib Diisi oleh jumlah pasien 6 Jumlah_hari string Wajib Diisi oleh jumlah hari layanan 7 tgl_update Datetime Wajib Diisi tanggal update data layanan menggunkan format tanggal (yyyy/mm/dd hh:mi:ss)
Contoh response : {"layanan_kesehatan":[ { "kode_satker":"415423", "tahun":"2012", “bulan”:”12”, "kelas":"01", "jumlah_pasien":"5", "jumlah_hari":"6", “tgl_update”:”2014/31/12 00:00:00”}] }
2. Layanan Pendidikan Digunakan untuk mengisi data layanan pendidikan. Metode yang digunakan adalah POST. Parameter : No Nama 1 tanggal_update
Type Date
Status Wajib
Request ini memiliki format sebagai berikut : No Nama Type Status 1 kode_satker string Wajib
2 3 4
tahun bulan kode_fakultas
string string string
Wajib Wajib Wajib
5
kode_program_ studi
string
wajib
6
kode_akreditasi
string
Wajib
7
kode_jurusan
string
wajib
8
tgl_update
Datetime
Wajib
Contoh response : { "layanan_pendidikan":[{ "kode_satker":"189662", "tahun":"2016", “bulan” : “12”, "kode_fakultas":"01", "kode_program_studi":"09", "kode_akreditasi":"B", "kode_jurusan":"188", “tanggal_update”: “2014/31/12 00:00:00”}] }
Deskripsi Diisi tanggal update posisi data layanan. Menggunakan format tanggal (yyyy/mm/dd).
Deskripsi Diisi oleh kode satker BLU (terdiri dari 6 digit). kode satker dapat dilihat dari menu referensi->Satker BLU pada aplikasi BIOS Diisi oleh tahun layanan (terdiri dari 4 digit) Diisi oleh bulan layanan (terdiri dari 2 digit) Diisi oleh kode fakultas. Referensi dapat dilihat melalui link : http://bios.djpbn.kemenkeu.go.id/web_services/ref_f akultas Diisi oleh kode program studi. Referensi dapat dilihat melalui link : http://bios.djpbn.kemenkeu.go.id/web_services/ref_p rgram_studi Diisi oleh kode akreditasi. Referensi dapat dilihat melalui link : http://bios.djpbn.kemenkeu.go.id/web_services/ref_a kreditasi Diisi oleh kode jurusan. Referensi dapat dilihat melalui link : http://bios.djpbn.kemenkeu.go.id/web_services/ref_j urusan Diisi tanggal update data layanan menggunkan format tanggal (yyyy/mm/dd hh:mi:ss)
3. Layanan Lainnya Digunakan untuk mengisi data layanan pendidikan. Metode yang digunakan adalah POST. Parameter : No Nama 1 tanggal_update
Type Date
Status Wajib
Request ini memiliki format sebagai berikut : No Nama Type Status 1 kode_satker string Wajib
2 3 4
tahun bulan indikator
string string string
Wajib Wajib Wajib
7
jumlah
string
Wajib
8
tgl_update
Datetime
Wajib
Contoh response : { "layanan_lainnya":[ { "kode_satker":"539060", "tahun":"2009", “bulan” : “12”, "indikator":"0062", "jumlah":"30", “tanggal_update”: “2014/31/12 00:00:00” } ] }
Deskripsi Diisi tanggal update posisi data layanan. Menggunakan format tanggal (yyyy/mm/dd).
Deskripsi Diisi oleh kode satker BLU (terdiri dari 6 digit). kode satker dapat dilihat dari menu referensi->Satker BLU pada aplikasi BIOS Diisi oleh tahun layanan (terdiri dari 4 digit) Diisi oleh bulan layanan (terdiri dari 2 digit) Diisi oleh indikator. Referensi dapat dilihat melalui link : http://bios.djpbn.kemenkeu.go.id/web_services/ref_i ndikator Diisi jumlah pengguna layanan pada bulan dan tahun layanan Diisi tanggal update data layanan menggunkan format tanggal (yyyy/mm/dd hh:mi:ss)
BAGIAN IV DATA KEUANGAN 1.
Request Data Penerimaan Request ini digunakan untuk melakukan request data penerimaan. Methode yang digunakan adalah POST. Parameter : No Nama Type Status Deskripsi 1 TanggalUpdate Datetime Wajib Diisi tanggal update posisi saldo data penerimaan. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970).
Request ini memiliki format sebagai berikut : No Nama Type Status Deskripsi 1 tanggal string Wajib Diisi tanggal posisi saldo data penerimaan. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970). 2 kodeAkun string Wajib Diisi dengan kode akun. Referensi kode akun penerimaan dapat dilihat di : http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiAkunPe nerimaan
3
Saldo
number
Wajib
4
TanggalUpdate
Datetime
Wajib
Diisi dengan jumlah akumulasi saldo penerimaan per kode akun dari tanggal 1 januari sampai dengan tanggal pada field tanggal Diisi tanggal update posisi saldo data penerimaan. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970).
Contoh Response: [{ "Penerimaan": [], "Tanggal": "2017-01-24T00:00:00", "KodeAkun": "424919", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }, { "Penerimaan": [], "Tanggal": "2017-01-24T00:00:00", "KodeAkun": "424914", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }, { "Penerimaan": [], "Tanggal": "2017-01-24T00:00:00", "KodeAkun": "424913", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }]
2.
Request Data Pengeluaran Request ini digunakan untuk melakukan request data pengeluaran. Methode yang digunakan adalah POST.
Parameter : No Nama 1 TanggalUpdate
Type Datetime
Status Wajib
Deskripsi Diisi tanggal update posisi saldo data pengeluaran. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970).
Request ini memiliki format sebagai berikut : No Nama Type Status Deskripsi 1 tanggal string Wajib Diisi tanggal posisi saldo data pengeluaran. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970). 2 kodeAkun string Wajib Diisi dengan kode akun. Referensi kode akun pengeluaran dapat dilihat di : http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiAkunPe ngeluaran
3
Saldo
number
Wajib
4
TanggalUpdate
Datetime
Wajib
Diisi dengan jumlah akumulasi saldo pengeluaran per kode akun dari tanggal 1 januari sampai dengan tanggal pada field tanggal Diisi tanggal update posisi saldo data pengeluaran. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970).
Contoh: [{ "Pengeluaran": [], "Tanggal": "2017-01-24T00:00:00", "KodeAkun": "424919", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }, { "Pengeluaran": [], "Tanggal": "2017-01-24T00:00:00", "KodeAkun": "424914", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }, { "Pengeluaran": [], "Tanggal": "2017-01-24T00:00:00", "KodeAkun": "424913", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }]
3.
Request Data Saldo Request ini digunakan untuk melakukan request data saldo rekening per Bank per Jenis Rekening. Methode yang digunakan adalah POST. Parameter : No Nama 1 TanggalUpdate
Type Datetime
Status Wajib
Deskripsi Diisi tanggal update posisi saldo. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970).
Request ini memiliki format sebagai berikut : No Nama Type Status 1 tanggal string Wajib 2
kodeJenisRekening
string
Wajib
Deskripsi Diisi tanggal posisi saldo. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970). Diisi dengan kode akun.
Referensi kode Jenis Rekening dapat dilihat di : http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiJeni sRekening
3 4
NamaBank Saldo
String number
Wajib Wajib
5
TanggalUpdate
Datetime
Wajib
Contoh Response: [{ "SaldoBLU": [], "Tanggal": "2017-01-24T00:00:00", "KodeJenisRekening": "1", "NamaBank": "Bank ABC", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" }, { "SaldoBLU": [], "Tanggal": "2017-01-24T00:00:00", "KodeJenisRekening": "1", "NamaBank": "Bank DEF", "Saldo": 987654321, "TanggalUpdate": "2017-01-23T00:00:00" },]
Diisi dengan nama Bank Diisi dengan jumlah akumulasi saldo Jenis Rekening per Bank, dari tanggal 1 januari sampai dengan tanggal pada field tanggal Diisi tanggal update posisi saldo. Menggunakan Unix epoch (00:00:00 UTC on 1 January 1970).
BAGIAN V LOG Log merupakan summary hasil proses web service seperti pesan gagal saat proses. Log akan di sediakan oleh BIOS melalui uri http://bios.djpbn.kemenkeu.go.id/web_services/log. Methode yang digunakan adalah POST. Parameter : No 1 2 3
Nama Tanggal Username Password
Type Datetime String String
Status Wajib Wajib Wajib
Contoh response yang akan didapatkan : [{ "log": [], “Tanggal": "2017-01-24T00:00:00", "summary": "authenticate failed", "errordetail": server error 500 }, { "log": [], "Tanggal": "2017-01-24T00:00:00", "summary": "authenticate failed", "errordetail": server error 403 }, { " log ": [], "Tanggal": "2017-01-24T00:00:00", "summary": "authenticate failed", "errordetail": access denied }]
Deskripsi Diisi tanggal log. Diisi username aplikasi bios.djpbn.kemenkeu.go.id Diisi username aplikasi bios.djpbn.kemenkeu.go.id
LIST REFERENSI No 1
Uraian Kode Fakultas
Link http://bios.djpbn.kemenkeu.go.id/web_services/ref_fakultas
2
Kode Akreditasi
http://bios.djpbn.kemenkeu.go.id/web_services/ref_akreditasi
3
Kode Jurusan
http://bios.djpbn.kemenkeu.go.id/web_services/ref_jurusan
4
Kode Kelas
http://bios.djpbn.kemenkeu.go.id/web_services/ref_kelas
5
Kode Indikator
http://bios.djpbn.kemenkeu.go.id/web_services/ref_indikator
6
Akun Penerimaan
http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiAkunPenerimaan
7
Akun Pengeluaran
http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiAkunPengeluaran
8
Jenis Rekening
http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiJenisRekening
Keterangan