Request-Typen

VisiCall /api/v1/visicall

Über die VisiCall API können Rufe und Anwesenheiten auf VisiCall-Displays angezeigt werden.

Ruf eröffnen

Mit folgendem Request wird ein Ruf für die Adresse 48:88:1F:C9:B0:BA eröffnet.

POST /api/v1/visicall
Content-Type: application/json  

{
  "target": "48:88:1F:C9:B0:BA",
  "consumer": "8d8d52b6-ab21-4984-8abc-c5640b2e107e",
  "hash": "2c74049f7b3ce927cefaaa4162c98abe234f971f",
  "data": {
      "event": "Normalruf",
      "position": "Haupteingang"
  }
}

Werte

Folgende Werte können unter data mitgesendet werden.

Key Beschreibung Optional Standard
event Art des Rufs Nein, ausser closed ist true
closed Ob der Ruf auf address geschlossen werden soll Ja false
position Position des Elements Ja
section Sektionen-Code des Rufes Ja
reachable Erreichbarkeit des Elements Ja
battery Aktueller Batteriestand des Elements Ja
attribute Attribute zur Bettenerkennung, nur relevant mit alter GETS-Zentrale Ja
code Code des vom Ruf betroffenen Elements Ja
created_at Zeitpunkt der Ruferöffnung im Format YYYY-MM-DD HH:MM:SS. Wird kein expliziter Zeitpunkt mitgesendet wird die aktuelle Uhrzeit verwendet. Ja now
closed_at Zeitpunkt der Rufschliessung im Format YYYY-MM-DD HH:MM:SS. Wird kein expliziter Zeitpunkt mitgesendet wird die aktuelle Uhrzeit verwendet. Ja now

Siehe auch API → Schemas

Die battery, position und reachable Werte können hier optional mitgesendet werden. Die Werte werden beim unter target definierten Element aktualisiert. Beide Werte können auch unabhängig über die CareCall API aktualisiert werden.

Minimale Requests

Ein minimaler Request zur Ruferöffnung sieht also wie folgt aus:

POST /api/v1/visicall
Content-Type: application/json  

{
  "target": "48:88:1F:C9:B0:BA",
  "consumer": "8d8d52b6-ab21-4984-8abc-c5640b2e107e",
  "hash": "2c74049f7b3ce927cefaaa4162c98abe234f971f",
  "data": {
      "event": "Normalruf"
  }
}

Ruf schliessen

Um alle Rufe auf einer Adresse zu schliessen, reicht es, den closed Wert als true zu senden.

POST /api/v1/visicall
Content-Type: application/json  

{
  "target": "48:88:1F:C9:B0:BA",
  "consumer": "8d8d52b6-ab21-4984-8abc-c5640b2e107e",
  "hash": "2c74049f7b3ce927cefaaa4162c98abe234f971f",
  "data": {
      "closed": true
  }
}

Ruftyp-Informationen

Falls detailliertere Informationen zum erstellen Ruftyp in der Antwort mitgesendet werden sollen, kann der URL ?include=type angefügt werden.

Auf folgende Anfrage (beachte URL)

POST /api/v1/visicall?include=type
Content-Type: application/json  

{
  "target": "48:88:1F:C9:B0:BA",
  "consumer": "8d8d52b6-ab21-4984-8abc-c5640b2e107e",
  "hash": "2c74049f7b3ce927cefaaa4162c98abe234f971f",
  "data": {
      "event": "Normalruf"
  }
}

wird folgende Antwort gesendet:

{
    "success": true,
    "data": {
        "id": 4,
        "address": "48:88:1F:C9:B0:BA",
        "position": null,
        "attribute": null,
        "element_code": "SEAN",
        "element_name": "Mr. Sean Anderson",
        "opened_at": "2016-09-22 15:32:17",
        "closed_at": null,
        "duration": 30,
        "type": {
            "id": 5,
            "name": "Normalruf",
            "urgency": "NORMAL",
            "priority": 5,
            "type": "CALL",
            "color": "#ff5454",
            "notify": true,
            "notification_interval": 10,
            "notification_maxloops": 60,
            "notification_sound": "sound.mp3"
        }
    }
}

GETS-interne Ruftypnamen

Über die CareSuite-Oberfläche werden die GETS-internen Namen der Ruftypen hinterlegt. Eine Liste dieser Übersetzungen kann wie folgt abgerufen werden:

 GET /api/v1/visicall/call-types
 Content-Type: application/json  

Es wird folgende Antwort zurückgegeben:

HTTP/1.1 200 OK
Content-Type: application/json

{  
    "success": true,
    "data": {  
        "Hotelruf": "Hotel",
        "Geräteruf": "Geraete",
        "Anwesenheit": "Anwesenheit",
        "Funkelement-Ruf": "",
        "Normalruf": "Normalruf",
        "WC": "",
        "Notruf": "Notruf",
        "Flucht": "Fugue",
        "Pneumatischer Ruf (REA)": "Pneu",
        "Störung": "Stoerung"
    }
}

Die Antwort enhält alle in der CareSuite erfassten Ruftypen. Ist ein GETS-interner Name hinterlegt, wird dieser angezeigt.

CareCall /api/v1/carecall

Über die CareCall API können Positionen und Batteriestände von Elementen aktualisiert werden.

Batterie-, Positions- und Erreichbarkeits-Update

Um den Batteriestand, die Position oder die Erreichbarkeit von Element 48:88:1F:C9:B0:BA zu aktualisieren, kann folgender Request verwendet werden.

Die Werte battery, reachable und position können auch einzeln aktualisiert werden.

Der Batteriestand wird in % gemessen.

POST /api/v1/carecall
Content-Type: application/json  

{
  "target": "48:88:1F:C9:B0:BA",
  "consumer": "8d8d52b6-ab21-4984-8abc-c5640b2e107e",
  "hash": "2c74049f7b3ce927cefaaa4162c98abe234f971f",
  "data": {
      "battery": 20,
      "position": "Haupteingang",
      "reachable": true
  }
}

Alternativ können auch mehrere Elemente gleichzeitig aktualisiert werden:

POST /api/v1/carecall
Content-Type: application/json  

{
  "consumer": "8d8d52b6-ab21-4984-8abc-c5640b2e107e",
  "hash": "2c74049f7b3ce927cefaaa4162c98abe234f971f",
  "data": [
    {
      "target": "48:88:1F:C9:B0:BA",
      "battery": 20,
      "position": "Haupteingang",
      "reachable": true
    },
    {
      "target": "48:88:1F:C9:B0:BC",
      "battery": 14,
      "position": "Garten",
      "reachable": true
    }
  ]
}

Antwort bei fehlerhaften Anfragen

Fehlerhafter Hash

Siehe API → Signatur → Rückmeldung bei ungültigem Hash

Fehlende Informationen

Werden nicht alle Informationen im Request mitgesendet, wird eine Response mit Status 422 Unprocessable Entity zurückgegeben.

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{
    "success": false,
    "messages": {
        "code": "validation_failed",
        "status_code": 422,
        "errors": {
            "address": [
                "address muss ausgefüllt sein."
            ],
            "data.event": [
                "data.event muss ausgefüllt sein, wenn closed nicht true ist."
            ]
        }
    }
}