DokumentasiENarsa.technology

Dokumentasi / AI Box Dan Software Analitik Video / Mulai Cepat API Basic Safety Guard

Mulai Cepat API Basic Safety Guard

Baca indeks kepatuhan APD, pelanggaran dan log deteksi suatu lokasi dari perangkat Basic Safety Guard dengan token API, dalam tiga panggilan.

Panduan mulai cepat ini membaca angka kepatuhan APD suatu lokasi dari perangkat Basic Safety Guard. Anda memerlukan curl dan sekitar sepuluh menit. Angka pada jawaban di bawah adalah nilai contoh.

Sebelum Anda Mulai

Mintalah Admin perangkat membuat akun API di dasbor (halaman Akun API) dengan:

  • peran Pemantau di lokasi yang ingin Anda baca;
  • cakupan read (tambahkan export untuk mengunduh log sebagai file);
  • tanggal berakhir.

Admin memberikan token (<API_KEY> di bawah), alamat perangkat (<BOX_HOST>) dan salinan sertifikat perangkat (box.pem, dari Unduh sertifikat perangkat di halaman Akun API) beserta sidik jari SHA-256-nya: periksa seperti yang ditunjukkan Sertifikat Perangkat. Autentikasi dan Cakupan menjelaskan masing-masing.

Cari Lokasi Anda

curl --cacert box.pem \
  -H "Authorization: Bearer <API_KEY>" \
  "https://<BOX_HOST>/api/v1/sites"
{
  "items": [
    {
      "id": 1,
      "name": "North Plant",
      "timezone": "Asia/Jakarta",
      "created": "2026-10-01T02:00:00Z",
      "version": 4,
      "my_role": "viewer",
      "location": { "lat": -6.2, "lon": 106.8 },
      "area": null,
      "zones": 3
    }
  ]
}

Jawaban hanya mencantumkan lokasi tempat akun Anda memiliki peran. Simpan id lokasi (di sini 1).

Baca Ikhtisar Kepatuhan

Mintalah satu periode dengan from dan to (RFC 3339; %2B adalah tanda + dari selisih zona waktu):

curl --cacert box.pem \
  -H "Authorization: Bearer <API_KEY>" \
  "https://<BOX_HOST>/api/bsg/v1/sites/1/overview?from=2026-11-01T00:00:00%2B07:00&to=2026-11-02T00:00:00%2B07:00"
{
  "index": 91.4,
  "assessed_minutes": 5220,
  "exposure_minutes": 5710,
  "items": { "hard_hat": 96.2, "vest": 93.8, "boots": null, "gloves": null, "goggles": null },
  "violations": 17,
  "hazard_entries": 2,
  "on_site": { "people": 34, "flagged": 1 },
  "target": 95,
  "bands": { "red": 80, "green": 95 },
  "required_items": ["hard_hat", "vest"],
  "unique_people": { "period": 52, "now": 9 }
}
Kolom Arti
index Porsi waktu yang dinilai saat orang memakai semua item wajib, 0 sampai 100 (null bila tidak ada yang dinilai)
assessed_minutes, exposure_minutes Menit-orang yang dinilai, dan menit-orang dengan item wajib yang tidak dipakai
items Untuk setiap item, porsi waktu item itu terlihat dan dipakai (null bila tidak pernah terlihat)
violations Pelanggaran dalam periode
hazard_entries Masuk ke area bahaya dalam periode
on_site Orang di area APD dalam 30 detik terakhir, dan berapa di antaranya yang tidak memakai item wajib
target, bands Target lokasi dan batas rentang merah dan hijaunya
required_items APD yang diwajibkan lokasi
unique_people Orang yang terlihat di kamera-kamera lokasi, masing-masing dihitung sekali: dalam periode, dan dalam satu menit terakhir

Untuk angka yang sama per jam atau hari, panggil GET /api/bsg/v1/sites/1/trend; per area APD, GET /api/bsg/v1/sites/1/areas. Untuk orang unik per jam, panggil GET /api/bsg/v1/sites/1/people dengan from dan to yang sama.

Baca Log Deteksi

curl --cacert box.pem \
  -H "Authorization: Bearer <API_KEY>" \
  "https://<BOX_HOST>/api/bsg/v1/sites/1/logs?from=2026-11-01T00:00:00%2B07:00&to=2026-11-02T00:00:00%2B07:00&limit=50"
{
  "named": false,
  "next_before": "2026-11-02T01:12:40Z",
  "items": [
    {
      "track": "11:4821",
      "camera_id": 11,
      "first": "2026-11-02T01:14:05Z",
      "last": "2026-11-02T01:15:32Z",
      "areas": ["Loading Bay"],
      "items": { "hard_hat": 100, "vest": 38.5, "boots": null, "gloves": null, "goggles": null },
      "index": 69.2,
      "violations": 1,
      "person": null,
      "evidence": null
    }
  ]
}

Setiap baris adalah satu orang yang terlihat oleh satu kamera. Tanpa cakupan personal_data, log berbentuk anonim: named bernilai false, serta person dan evidence bernilai null. Untuk halaman berikutnya, kirim next_before sebagai before.

Untuk mengunduh periode itu sebagai file, panggil GET /api/bsg/v1/sites/1/logs/export?format=csv dengan cakupan export.

Langkah Berikutnya

  • Pelanggaran yang terbuka muncul sebagai peringatan: GET /api/v1/alerts?site=1&state=open.
  • Kirim ke sistem Anda tanpa perlu menanyakan berulang kali: Webhook (jenis peristiwa bsg.violation dan bsg.hazard_entry, serta ringkasan berkala angka ini).
  • Setiap operasi dan kolom: referensi API Basic Safety Guard dan referensi API platform.
Apakah halaman ini membantu?

1.0.0. Diperbarui 2026-11-06