👥
-
Benutzer aktiv ?
📱
-
Geräte online ?
🚨
-
Alarme heute ?
🔔
-
Offene Alarme ?
🔋
-
Akku-Warnungen ?

📱 Online-Benutzer ?

Lade...

🔋 Akku-Warnungen ?

Lade...

🚨 Letzte Alarme

Lade Daten...

Live-Status Benutzername Name E-Mail Rolle Kunde Profil Letzter Login Aktionen

Lade Profile...

Lade Konfiguration...

Zeit Benutzer Kunde Szenario Schweregrad Nachricht Status Position

📋 Audit-Log (letzte Änderungen)

Wird geladen...

🔧 SMTP-Konfiguration

📝 E-Mail-Vorlagen

Klicken Sie auf Check starten, um die Systemdiagnose durchzuführen.

ℹ️
Begriffe im Protokoll:
📡 Alive-Signal – Automatisches Lebenszeichen der App an den Server (alle 30 s technisch, alle 2 Min protokolliert). Zeigt, dass die App aktiv und erreichbar ist.
✅ Check-in – Manuelle Bestätigung des Benutzers („Bin OK"-Taste). Wird vom Alleinarbeiterschutz in regelmäßigen Abständen verlangt.
🛡️ Schutz – Automatische Ereignisse des Schutzsystems: Überwachung gestartet/gestoppt, Countdown, Alarm ausgelöst/entwarnt.
📱 App-Ereignis – Login, Logout, App in Vordergrund/Hintergrund, Konfigurationsänderungen.
Zeit Benutzer Kunde Kategorie Ereignis Details Position
📖 API-Dokumentation: Weitergeleitete Daten & erwartete Werte

GIS Care sendet bei Alarmen und Heartbeats automatisch JSON-Daten per HTTP POST an alle aktiven Weiterleitungs-Server.

🔗 Verbindungsparameter

MethodeImmer POST
Content-Typeapplication/json
Auth-HeaderX-API-Key: {Ihr API-Key} — optional, wird als HTTP-Header gesendet
TimeoutConnect: 3s, Response: 5s (non-blocking)

🚨 Alarm-Payload (type: "alarm")

Wird gesendet wenn ein Mitarbeiter einen Alarm auslöst (Sturz, Bewegungslosigkeit, Check-in verpasst, etc.)

{
  "type": "alarm",
  "source": "gis_care",
  "timestamp": "2025-01-15T14:30:00+01:00",
  "data": {
    "alarm_id": 42,
    "user_id": 5,
    "username": "mustermann",
    "scenario": "fallDetection",
    "severity": "critical",
    "message": "Möglicher Sturz erkannt! Hohe Beschleunigung...",
    "was_cancelled": 0,
    "event_type": "triggered",
    "latitude": 51.1657,
    "longitude": 10.4515,
    "timestamp": "2025-01-15T14:30:00+01:00"
  }
}
Feld Typ Beschreibung
typestringImmer "alarm"
sourcestringImmer "gis_care"
data.alarm_idintEindeutige Alarm-ID in der GIS Care DB
data.user_idintBenutzer-ID des betroffenen Mitarbeiters
data.usernamestringBenutzername des Mitarbeiters
data.scenariostringfallDetection | immobility | noMovement | tiltAnomaly | checkinHeartbeat
data.severitystringwarning | critical | emergency
data.messagestringMenschenlesbare Alarmbeschreibung (DE)
data.event_typestringtriggered (Alarm ausgelöst) | cancelled (Entwarnung)
data.was_cancelledint0 = aktiver Alarm, 1 = Benutzer hat Entwarnung gegeben
data.latitudefloat|nullGPS-Breitengrad (kann null sein wenn kein GPS)
data.longitudefloat|nullGPS-Längengrad (kann null sein wenn kein GPS)

💓 Heartbeat-Payload (type: "heartbeat")

Wird periodisch gesendet (Standard: alle 30 Sekunden) solange die App aktiv ist.

{
  "type": "heartbeat",
  "source": "gis_care",
  "timestamp": "2025-01-15T14:30:00+01:00",
  "data": {
    "user_id": 5,
    "username": "mustermann",
    "timestamp": "2025-01-15T14:30:00+01:00",
    "monitoring_active": true
  }
}
Feld Typ Beschreibung
data.monitoring_activebooltrue = Schutzüberwachung läuft, false = App offen aber Schutz nicht aktiv

🔌 Test-Payload (type: "test")

Wird beim Klick auf "Verbindung testen" gesendet.

{
  "type": "test",
  "source": "gis_care",
  "timestamp": "2025-01-15T14:30:00+01:00",
  "data": {
    "message": "GIS Care Verbindungstest"
  }
}

📝 Empfangsserver einrichten

Ihr externer Server muss einen POST-Endpoint bereitstellen der JSON empfängt. Minimal-Beispiel (PHP):

<?php
$input = json_decode(file_get_contents('php://input'), true);
$type = $input['type'];       // "alarm", "heartbeat" oder "test"
$data = $input['data'];       // Nutzdaten
$apiKey = $_SERVER['HTTP_X_API_KEY'] ?? '';

// API-Key prüfen (empfohlen)
if ($apiKey !== 'IHR_GEHEIMER_KEY') {
    http_response_code(403);
    exit;
}

// Verarbeitung je nach Typ
if ($type === 'alarm') {
    // Alarm weiterverarbeiten, z.B. an Leitstelle senden
    $scenario = $data['scenario'];
    $severity = $data['severity'];
    $user = $data['username'];
    // ...
}

http_response_code(200);
echo json_encode(['received' => true]);
?>

⚠️ Wichtige Hinweise

  • Weiterleitungen sind fire-and-forget — Fehler blockieren nicht den Alarm-Prozess
  • Timeout: 3s Connect + 5s Response — langsame Server werden übersprungen
  • Ihr Server sollte mit HTTP 2xx antworten, sonst wird ein Fehler protokolliert
  • Latitude/Longitude können null sein wenn der Benutzer kein GPS hat
  • Alle Texte (message, username) sind UTF-8 kodiert
  • Derzeit werden nur Alarme und Heartbeats weitergeleitet, kein User-Info

Lade Server...

Lade Logs...

📋 Bericht erstellen

📁 Erstellte Berichte

Noch keine Berichte erstellt

🏢
-
Kunden gesamt
-
Aktive Kunden
🔑
-
Aktive Lizenzen
-
Abgelaufene Lizenzen
Status Kundencode Name Ansprechpartner Benutzer Gültig bis Aktionen

📋 Stammdaten

🔑 Lizenz

📊 Statistiken

Status Benutzername Name E-Mail Rolle Profil Letzter Login Aktionen
Status Lizenzschlüssel Kunde Benutzer Gültig von Gültig bis Aktionen