###### tags : `xirka` `documentation` # Dokumentasi Rest API Xvent Base Url `http://{ip_address}:8080` Respon Base Url `{ message: "Welcome To Xirka Ventilator REST API " }` >Catatan : >Untuk mendapatkan akses api, setiap request perlu disertakan token pada header. #### Daftar Isi ###### 0. Token ###### 1. Konfigurasi UI ###### 2. Konfigurasi Alarm ###### 3. Pesan Alarm ###### 4. Data Sensor ###### 5. Parameter Ventilator ###### 6. All Data ###### 7. Utility ###### 8. Websocket ### 0. Token |No|Metode|Endpoint|Header|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:|:-----:| |1|Post|`{base_url}/api/v1/auth/token`|-|username, password|Mendapatkan token & refresh token| |2|Post|`{base_url}/api/v1/auth/refresh`| refresh-token|- |Mendapatkan token & refresh token baru| >Catatan : -Masa berlaku token adalah 8 jam sedangkan refresh token 1 hari. ### 1. Konfigurasi UI |No|Metode|Endpoint|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|Get|`{base_url}/api/v1/ui_config`|-|Mendapatkan konfigurasi UI| |2|Post|`{base_url}/api/v1/ui_config`| theme, language, pressure_unit, numpad, auto_clear |Membuat/mengubah konfigurasi UI| |3|Post|`{base_url}/api/v1/ui_config/lock`| command |Mengunci/membuka akses run/stop lokal PC | |4|Post|`{base_url}/api/v1/ui_config/remote`| command |Mengunci/membuka akses run/stop remote | #### Deskripsi Body |No|Item|Tipe Data|Nilai Valid| |:----:|:----:|:-----:|:-----:| |1|theme|String|dark, light| |2|language|String|en, id| |3|pressure_unit|String|cmh2o, mbar, hpa| |4|numpad|Boolean|true, false| |5|auto_clear|Boolean|true, false| |6|numpad|Boolean|true, false| |7|command|String|lock, unlock| ### 2. Konfigurasi Alarm |No|Metode|Endpoint|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|Get|`{base_url}/api/v1/alarm_config`|-|Mendapatkan konfigurasi alarm| |2|Post|`{base_url}/api/v1/alarm_config`| apnea_alarm, respiratory_rate_alarm, respiratory_rate_limit, pressure_alarm, fio2_alarm, minimum_fio2_limit, ac_power_alarm, low_o2_pressure_alarm, air_supply_alarm |Membuat/mengubah konfigurasi alarm| #### Deskripsi Body |No|Item|Tipe Data|Nilai Valid| |:----:|:----:|:-----:|:-----:| |1|apnea_alarm|Boolean|true, false| |2|respiratory_rate_alarm|Boolean|true, false| |3|respiratory_rate_limit|Integer|[0,99]| |4|pressure_alarm|Boolean|true, false| |5|fio2_alarm|Boolean|true, false| |6|minimum_fio2_limit|Integer|[0,17]| |7|ac_power_alarm|Boolean|true, false| |8|air_supply_alarm|Boolean|true, false| ### 3. Pesan Alarm |No|Metode|Endpoint|Param|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:|:-----:| |1|Get|`{base_url}/api/v1/alarm_message`|limit, offset, start, end|-|Mendapatkan pesan alarm| |2|Post|`{base_url}/api/v1/alarm_message`| -|title, message, priority, category|Membuat pesan alarm| |3|Delete|`{base_url}/api/v1/alarm_message`| alarm_id | |Menghapus pesan alarm| #### Deskripsi Body |No|Item|Tipe Data|Nilai Valid| |:----:|:----:|:-----:|:-----:| |1|limit|Integer|true, false| |2|offset|Integer|true, false| |3|start|Integer|timestamp| |4|end|Integer|Timestamp| |5|title|String|max 30 char| |6|message|String|max 100 char| |7|priority|String|low, mid, high| |8|category|string|Semua konfigurasi alarm yang bernilai boolean| |9|alarm_id|string|eg.1: alarm_id=2, eg.2 : alarm_id=1,2,3 | ### 4. Data Sensor |No|Metode|Endpoint|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|Get|`{base_url}/api/v1/sensor`|-|Mendapatkan data sensor| |2|Delete|`{base_url}/api/v1/sensor`|-|Menghapus data sensor 2 menit sebelum| |3|Post|`{base_url}/api/v1/sensor/ups`|-|Trigger untuk update data ups di backend| |4|Get|`{base_url}/api/v1/sensor/battery-alarm`|-|Update terakhir status alarm dan baterai| >Catatan : Data sensor disimpan di database setiap 10 menit jika ventilator berjalan. ### 5. Parameter Ventilator |No|Metode|Endpoint|Param|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:|:-----:| |1|Get|`{base_url}/api/v1/param`|latest|-|Mendapatkan nilai parameter ventilator| |2|Post|`{base_url}/api/v1/param`| -| command, mode, peep_cpap, fio2, backup_rate, ins_sens_level, min_insp_time, max_insp_time, apnea_time, ipap, epap, |Menjalankan, menghentikan, atau kalibrasi ventilator| #### Deskripsi Body |No|Item|Tipe Data|Nilai Valid|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|latest|String|"true"|latest="true" mendapatkan parameter eksekusi terakhir| |2|command|Integer|[0, 3]|0: stop, 1: run, 2: pressure_calibration, 3: fio2_calibration| |3|mode|String|cpap, bpap-s, bpap-m|| |4|peep_cpap|Integer|[4, 25]|| |5|fio2|Integer|[17, 100]|| |6|backup_rate|Integer|[0, 30]|| |7|ins_sens_level|Integer|[1, 9]|| |8|min_insp_time|Integer|[0.5, 5.5]|| |9|max_insp_time|Integer|[0.5, 5.5]|| |10|apnea_time|Integer|[0, 240]|| |11|ipap|Integer|[4, 25]|| |12|epap|Integer|[4, 25]|| >Catatan : ipap >= epap perhitungan i/e ratio harus terdefinisi dan bernilai positif ### 6. All Data |No|Metode|Endpoint|Parameter|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|Get|`{base_url}/api/v1/all_data`|-|Mendapatkan konfigurasi UI, konfigurasi alarm, parameter ventilator pada saat menjalankan ventilator, dan eksekusi terakhir ventilator| |2|Delete|`{base_url}/api/v1/all_data`|days|Menghapus riwayat alarm dan parameter ventilator| #### Deskripsi Parameter |No|Item|Tipe Data|Nilai Valid|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|days|number|-|menghapus data `days` hari kebelakang| ### 7. Utility |No|Metode|Endpoint|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|Post|`{base_url}/api/v1/utility`|command|Shutdown atau Restart PC server| |2|Get|`{base_url}/api/v1/utility/wifi/ip-address`|-|Mendapatkan list ip address| |3|Get|`{base_url}/api/v1/utility/wifi/ssid`|-|Mendapatkan list ssid (wifi) yang tersedia| |4|Get|`{base_url}/api/v1/utility/wifi/control`|command|Menyalakan/mematikan wifi| |5|Post|`{base_url}/api/v1/utility/wifi`|ssid, password|Menghubungkan wifi| |6|Post|`{base_url}/api/v1/utility/reverse-proxy`|command|Mengaktifkan / menonaktifkan reverse proxy| #### Deskripsi Body |No|Item|Tipe Data|Nilai Valid| |:----:|:----:|:-----:|:-----:| |1|command|String|restart, shutdown| |2|command|String|on, off| |3|ssid|String|-| |4|password|String|-| |5|command|String|enable, disable| ### 8. Laporan >tahap development |No|Metode|Endpoint|Body|Deskripsi| |:----:|:----:|:-----:|:-----:|:-----:| |1|Post|`{base_url}/api/v1/report/generate`|command|Membuat report| |2|Get|`{base_url}/api/v1/report/fetch-pdf`|-|Mendownload report| ### 9. Websocket Untuk mendapatkan data sensor atau data terkini berkaitan dengan alarm, status baterai, dsb, client perlu join pada grup xvent sehingga bisa mengakses data tersebut. |No|Group|Event|Deskripsi| |:----:|:----:|:-----:|:-----:| |1|xvent|sensor|Mendapatkan data sensor| |1|xvent|notification|Mendapatkan update: parameter terakhir, alarm, atau baterai |