(File Size: 1.37 MB)

advertisement
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
Download