Skip to content

API Reference ​

Referensi endpoint HTTP + MQTT platform IncludeApps, untuk integrasi perangkat kustom (BYOD) dan aplikasi pihak ketiga. Kontrak otoritatif tetap ada di kode backend - dokumen ini dijaga selaras, tapi laporkan ke tim kami kalau menemukan perbedaan.

Konvensi ​

  • Base URL: https://app.include.co.id/api/v1
  • Autentikasi: hampir semua route memerlukan Authorization: Bearer <access_token> (kecuali /auth/*, /health, /public/*, dan /device/*).
  • Response sukses: { data, meta } - meta berisi info paginasi (page/limit/total) bila relevan.
  • Response error: { error, message }.
  • Scoping: hampir semua data ber-group_id (Grup di dalam Organisasi Anda).

Auth ​

MethodPathKeterangan
POST/auth/registerDaftar user + organisasi baru
POST/auth/loginLogin, mengembalikan access + refresh token
POST/auth/refreshPerbarui access token
POST/auth/logoutInvalidasi refresh token
POST/auth/forgot-passwordKirim email reset password
POST/auth/reset-passwordReset password dengan token
GET/auth/googleLogin dengan Google (redirect OAuth)

Devices ​

MethodPathKeterangan
POST/devices/claimClaim device via Device ID/token
POST/devices/customDaftarkan perangkat kustom/BYOD sendiri
GET/devicesDaftar device (filter solusi/status/zona)
GET/devices/:idDetail device
PATCH/devices/:idUbah device (nama, zona, kalibrasi)
DELETE/devices/:idHapus device
POST/devices/:id/commandKirim perintah aktuator (publish MQTT)

Telemetry ​

MethodPathKeterangan
GET/telemetry/:deviceIdNilai terakhir
GET/telemetry/:deviceId/historyHistoris (startTime, endTime, limit)
POST/telemetry/:deviceId/importImpor data historis (Pro+; tidak memicu alarm untuk data lampau)

Realtime: Server-Sent Events di /telemetry/stream (bukan WebSocket).

Alarms ​

MethodPathKeterangan
GET/alarmsDaftar alarm (filter status/severity)
PATCH/alarms/:id/acknowledgeAcknowledge
PATCH/alarms/:id/resolveResolve
POST/devices/:id/thresholdsAtur ambang batas (optimal/warning/critical) per parameter

Dashboards ​

MethodPathKeterangan
GET/dashboards/:idDetail (termasuk layout widget)
PATCH/dashboards/:idSimpan layout/widget

Rule Chains ​

Graf otomasi per-Organisasi yang berjalan tiap telemetry masuk - node deklaratif (filter/switch/transform) plus node scripting JavaScript sandboxed untuk logika custom.

MethodPathKeterangan
GET/rule-chainsDaftar chain
POST/rule-chainsBuat chain
PUT/rule-chains/:idUbah graph
POST/rule-chains/testDry-run graph atas contoh nilai

Device API (khusus perangkat, pakai device token) ​

Dipakai firmware IncludeBox maupun perangkat kustom/BYOD - autentikasi memakai device token (bukan JWT user), bisa lewat header atau URL.

MethodPathKeterangan
POST/device/telemetryKirim telemetry (token di header X-Device-Token)
POST/{token}/telemetryKirim telemetry, token di URL (gaya ThingsBoard - jalan langsung dari curl/PowerShell tanpa header custom)
GET/{token}/mqtt-configAmbil konfigurasi bootstrap MQTT (host, port, topic)
GET/device/otaPolling perintah OTA

MQTT ​

Broker EMQX. Konvensi topik:

includeapps/{group_id}/{solution_slug}/{device_id}/{telemetry|command|status}
  • Backend subscribe includeapps/+/+/+/telemetry, memvalidasi payload, menyimpan ke TimescaleDB, mengevaluasi alarm/rule chain, lalu broadcast ke dashboard yang sedang terbuka - semua dalam hitungan detik.
  • Autentikasi: deviceId sebagai MQTT username, device token sebagai password.
  • command dipakai untuk kontrol aktuator & perintah OTA.

Contoh payload telemetry ​

Energy meter 1 fasa:

json
{
  "values": {
    "voltage": 220.5,
    "current": 2.1,
    "power": 462.3,
    "energy": 145.2,
    "frequency": 50.0,
    "power_factor": 0.95
  }
}

Energy meter 3 fasa:

json
{
  "values": {
    "voltage_r": 221.0,
    "voltage_s": 219.8,
    "voltage_t": 220.5,
    "current_r": 5.2,
    "current_s": 5.0,
    "current_t": 5.1,
    "total_power": 3350.0,
    "energy": 890.4,
    "frequency": 50.0,
    "power_factor": 0.92
  }
}

Field yang diterima mengikuti skema jenis perangkat (device_type_key) yang terdaftar untuk device tersebut - lihat Manage Devices di aplikasi untuk daftar parameter lengkap per tipe.

INCLUDE AIoT Platform for Smart Industry