Direkt zum Hauptinhalt

Übersicht

GATEWatch stellt ein API bereit, welches es externen Diensten ermöglicht Daten aus dem System zu erhalten.

Das API wird über die Url https://gwatch.events/ext-api als POST Request aufgerufen und liefert JSON als Response zurück.

Der POST Requst umfasst folgende case senistive Parameter (body, form-data)

  • apiKey: Mandatory - der Zugriffsschlüssel, der Ihnen vom Administrator für die jeweilige Veranstaltung mitgeteilt wird.
  • command: Mandatory - zur Zeit muss hier "fetch" übergeben werden. Zu einem späteren Zeitpunkt können hier weiter Befehle hinzukommen
  • changesUntil: Optional - hier kann ein Zeitstempel im Format YYYY-MM-DD hh:ss angegeben werden. Ist dies der Fall, werden nur Daten von Gästen zurückgegeben, die seit dem gegebenen Zeitpunkt verändert wurden. Dies umfasst wohl Änderungen im Backend, als auch Änderungen seitens der Gäste, z.B. Zusage, Absage, Name geändert ...
  • limi: Optional - die Schnittstelle liefert max 2500 Datensätze auf einmal zurück. Hier kann der Wert bei Bedarf verkleinert werden.
  • offset: Optional - um mehr als 'limit' - Datensätze zu lesen, kann ein Offset eingestellt werden, default 0.

Der Response wird als JSON übergeben und hat folgendes Format:

{
  "error": false,
  "meta": {
    "changesUntil": <im POST Reqeust übergebener Parameter für changesUntil>,
    "available": <Gesamtzahl der Gäste, die zur Verfügung stehen - berücksichtig changesUntil>,
    "limit": <Das aktuelle Limit - entweder aus dem POST Requeest oder der default Wert>,
    "offset": <Der aktuelle Offset - entweder aus dem POST Reqeust oder 0>
  },
  "event": {
    .... Definierte Felder der Veranstaltung, z.B. Name, Datum, ....
  },
  "guests": [
	{
      .... Definierte Werte eines Gastes, z.B. E-Mail Adresse, Firma, Vorname, ....
      "id": <Immer vorhanden: GATEWatch interne ID des Gastes>,
      "created": <Immer vorhanden: Datum der Erstellung des Gast-Datensatzes>,
      "updated": <Immer vorhanden: Datum der letzten Änderung>,
      "deleted": <Immer vorhanden: true/false als Info, ob der Gast geschlöscht wurde>
    },
    ....
  ]
}

Ein Beispiel für einen POST Request mit den Werten

  • apiKey = 55179f1e8518d2e5a5881b8f42934ad01992a054
  • command = fetch
  • changesUntil = 2021-04-04 14:15:23,
  • limit = 2000
  • offset = 4000

könnte folgendes JSON zurückgeben:

{
  "error": false,
  "meta": {
    "changesUntil": "2021-04-04 14:15:23",
    "available": 4711,
    "limit": 2000,
    "offset": 4000
  },
  "event": {
    "name": "Eine Veranstaltung",
    "date": "2021-02-05"
  },
  "guests": [
	{
      "first-name": "Jaqueline",
      "last-name": "Esser",
      "phone": "4106290253",
      "email": "mbohme@henkel.com",
      "state": "Keine Rückmeldung",
      "ticket-code": "ED64411E86",
      "login": "jUZu9a4uW",
      "password": "peZa4UzeB",
      "id": 1572139,
      "created": "2021-02-04 14:00:01",
      "updated": "2021-02-04 14:18:01",
      "deleted": false
    },
    {
      "first-name": "Michaela",
      "last-name": "Schaller",
      "phone": "966047183",
      "email": "draab@wegner.de",
      "state": "Keine Rückmeldung",
      "ticket-code": "5A44BC8980",
      "login": "dU5Ejy8YV",
      "password": "By7yXytu#",
      "id": 1572140,
      "created": "2021-02-04 14:00:01",
      "updated": "2021-02-04 14:22:01",
      "deleted": false
    }, 
    ....
  ]
}