Ü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.
DerZur POSTAuthentifikaion Requstbekommen umfasstSie folgendeauf case senistive Parameter (body, form-data)
apiKey: Mandatory - der Zugriffsschlüssel, der IhnenNachfrage vom Administrator einen Zugriffsschlüssel für die jeweiligeVeranstaltungVeranstaltung.mitgeteiltDie
wird.Schnittstelle command:kannMandatorydarüberhinaus-überzureinenZeitIPmussFilterhierweiter"fetch" übergebenabgesichert werden.ZuWenneinemesspäterenIhnenZeitpunktmöglichkönnenist,hiersicherzustellen,weiterdassBefehleAnfragenhinzukommenchangesUntil: Optional - hier kann ein Zeitstempel im Format YYYY-MM-DD hh:ss angegeben werden. Ist dies der Fall, werdenIhrerseits nurDatenübervoneineGästenbestimmtezurückgegeben,IP erfolgen, ist es auf jeden Fall empfehlenswert, diesen Filter zu benutzen und dieseitentsprechendedemIPgegebenenvomZeitpunktAdministratorverä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ätzeeintragen zulesen, kann ein Offset eingestellt werden, default 0.
Der Response wird als JSON übergeben und hat folgendes Format:lassen.
{
"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 = 55179f1e8518d2e5a5881b8f42934ad01992a054command = fetchchangesUntil = 2021-04-04 14:15:23,limit = 2000offset = 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
},
....
]
}