Anda di halaman 1dari 11

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. BIOS akan request token dengan username dan password yang telah diberikan.
2. Dengan token yang sudah ada, BIOS akan request data berikutnya sebagaimana terlampir.
3. Data yang di Request adalah Data Layanan dan Data Keuangan
4. Jika terjadi kegagalan, BIOS akan memberikan log.

Requirement
Penggunaan Arsitektur Teknologi : RESTFul (Representational state transfer)
MVC (Client/Server)
Stateless
format data representation : Array Steps JSON (JavaScript Object Notation)
Element Data (HTTP atau HTTPS) : Resources Oriented Services dengan URI (Uniform
Resource Identifier) atau URL
Keamanan
• Authentifikasi (Oauth): : JWT (shortened from JSON Web Token) : RFC
• Transport Security (TLS) : JOSE (JSON Object Signatures & Encryption) : Web Key
atau Web Signature
Methods : GET  data BLU
PUSH  referensi kamus data dan trigger update data,
serta tanggal update
Status Code & Response : Trigger data dengan code response
Error Handling : Error code, contoh : 5xx Server Error
REST Framework : 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 Nama Type Status Deskripsi


1 username String Wajib Diisi dengan username
2 password String Wajib Diisi dengan password

Jika sukses, format data sebagai berikut :


No Nama Type Status Deskripsi
1 access_token String Wajib Diisi dengan session ID
2 refresh_token String Wajib 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 Type Status Deskripsi
1 tanggal_update Date Wajib 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 Type Status Deskripsi
1 tanggal_update Date Wajib Diisi tanggal update posisi data layanan.
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 kode_fakultas string Wajib Diisi oleh kode fakultas. Referensi dapat dilihat melalui
link :
http://bios.djpbn.kemenkeu.go.id/web_services/ref_f
akultas
5 kode_program_ string wajib Diisi oleh kode program studi. Referensi dapat dilihat
studi melalui link :
http://bios.djpbn.kemenkeu.go.id/web_services/ref_p
rgram_studi
6 kode_akreditasi string Wajib Diisi oleh kode akreditasi. Referensi dapat dilihat
melalui link :
http://bios.djpbn.kemenkeu.go.id/web_services/ref_a
kreditasi
7 kode_jurusan string wajib Diisi oleh kode jurusan. Referensi dapat dilihat melalui
link :
http://bios.djpbn.kemenkeu.go.id/web_services/ref_j
urusan
8 tgl_update Datetime Wajib Diisi tanggal update data layanan menggunkan format
tanggal (yyyy/mm/dd hh:mi:ss)

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”}]


}
3. Layanan Lainnya
Digunakan untuk mengisi data layanan pendidikan. Metode yang digunakan adalah POST.

Parameter :
No Nama Type Status Deskripsi
1 tanggal_update Date Wajib Diisi tanggal update posisi data layanan.
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 indikator string Wajib Diisi oleh indikator. Referensi dapat dilihat melalui link
:
http://bios.djpbn.kemenkeu.go.id/web_services/ref_i
ndikator
7 jumlah string Wajib Diisi jumlah pengguna layanan pada bulan dan tahun
layanan
8 tgl_update Datetime Wajib Diisi tanggal update data layanan menggunkan format
tanggal (yyyy/mm/dd hh:mi:ss)

Contoh response :
{
"layanan_lainnya":[
{
"kode_satker":"539060",
"tahun":"2009",

“bulan” : “12”,
"indikator":"0062",
"jumlah":"30",

“tanggal_update”: “2014/31/12 00:00:00”


}
]
}
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 Diisi dengan jumlah akumulasi saldo penerimaan per
kode akun dari tanggal 1 januari sampai dengan tanggal
pada field tanggal
4 TanggalUpdate Datetime Wajib 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 Type Status Deskripsi
1 TanggalUpdate Datetime Wajib 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 Diisi dengan jumlah akumulasi saldo pengeluaran per
kode akun dari tanggal 1 januari sampai dengan tanggal
pada field tanggal
4 TanggalUpdate Datetime Wajib 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 Type Status Deskripsi
1 TanggalUpdate Datetime Wajib 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 Deskripsi
1 tanggal string Wajib Diisi tanggal posisi saldo. Menggunakan Unix epoch
(00:00:00 UTC on 1 January 1970).
2 kodeJenisRekening string Wajib Diisi dengan kode akun.
Referensi kode Jenis Rekening dapat dilihat di :
http://lk.bios.djpbn.kemenkeu.go.id/api/services/getReferensiJeni
sRekening
3 NamaBank String Wajib Diisi dengan nama Bank
4 Saldo number Wajib Diisi dengan jumlah akumulasi saldo Jenis Rekening
per Bank, dari tanggal 1 januari sampai dengan
tanggal pada field tanggal
5 TanggalUpdate Datetime Wajib Diisi tanggal update posisi saldo. Menggunakan Unix
epoch (00:00:00 UTC on 1 January 1970).

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"
},]
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 Nama Type Status Deskripsi


1 Tanggal Datetime Wajib Diisi tanggal log.
2 Username String Wajib Diisi username aplikasi bios.djpbn.kemenkeu.go.id
3 Password String Wajib Diisi username aplikasi bios.djpbn.kemenkeu.go.id

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
}]
LIST REFERENSI
No Uraian Link Keterangan
1 Kode Fakultas 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