Um die Gästeliste Ihres Events über unsere API auszulesen,
gehen Sie wie folgt vor.
1. Erstellen Sie ein App-Konfiguration über den Menüpunkt "Check-in"
Auch wenn bereits eine Konfiguration für die
Verwendung in unserer iOS App existiert, empfehlen wir die Erstellung einer
spezifischen Konfiguration pro Client Application.
Sie müssen nur einen Namen eingeben und
gegebenenfalls ein Segment zum Filtern der Gästeliste auswählen.
2. Führen Sie einen Login durch
Rufen Sie den Menüpunkt "Check-in" im
Backend auf und kopieren Sie drei Werte:
- die "Event ID" aus der
URL (.../admin/event/{{ eventId }})
- den "App Code" der für
den Austausch angelegten App-Konfiguration, der in der entsprechenden Spalte
der Liste ersichtlich ist
- den "Namen" aus der
selben Liste
Anschließend setzen Sie folgenden Request mit den entsprechenden Werten ab:
## POST /api/v1/login
{
"eventId":
"123",
"apiKey":
"aBcDeFgH",
"stationName":
"Main Entrance"
}
Im Erfolgsfall erhalten Sie als Antwort:
{
"status": "success",
"event": {
"id": "123",
"name": "My Event",
"company": "My Company",
"startDateTime": "2018-01-...",
"endDateTime": "2018-01-...",
"configuration": {…}
},
"stationName": "Main Entrance",
"sessionToken": "0123456789abcdef0123456789abcdef01234567"
}
Wichtige Information:
- Der Session Token muss bei allen folgenden Requests mitgeschickt werden.
- Der Token läuft 24 Stunden nach der letzten Verwendung automatisch ab.
Es ist daher empfohlen, nach einer Serie von Requests ein Logout durchzuführen (siehe unten) und bei neuen Abfragen wieder mit dem Login zu starten.
Im Fehlerfall erhalten Sie als Antwort:
{
"status": "error",
"displayMessage": null,
"errors": [
"[SEE COMMON ERRORS BELOW]",
{
"code": 1000,
"message": "Event ID not known."
},
{
"code": 1010,
"message": "API key incorrect."
}
]
}
3. Rufen Sie die Gästeliste ab
Um die Gästeliste abzurufen, setzen Sie folgenden Request ab:
## POST /api/v1/guest/list/all
{
"sessionToken": "0123456789abcdef0123456789abcdef01234567"
}
Alternativ können Sie auch nur Änderungen in
der Gästeliste abrufen. Dazu senden Sie einfach zusätzlich z.B. den Zeitpunkt Ihrer vorhergehenden Abfrage mit.
## POST /api/v1/guest/list/recent
{
"sessionToken": "0123456789abcdef0123456789abcdef01234567",
"sinceDateTime": "2018-01-01T18:30:00+02:00"
}
Für beide Fälle erhalten Sie im Erfolgsfall als
Antwort:
{
"status": "success",
"count": 123,
"dateTime": "2018-01-01T18:30:00+02:00",
"guests": [
"[SEE GUEST OBJECT ABOVE]",
"[SEE GUEST OBJECT ABOVE]",
" ... "
]
}
Wichtige Information:
Bitte beachten Sie, dass auch Gäste, die im abgefragten Zeitraum gelöscht wurden im Ergebnis aufscheinen. Dies gibt Ihnen die Möglichkeit, diese auch aus Ihrem System zu entfernen. Achten Sie dabei auf die Property "deleteDateTime" des Gast-Objekts.
Als "dateTime" erhalten Sie die aktuelle Serverzeit, die sie für nachfolgende Abfragen von Änderungen verwenden können.
Ein Gast-Objekt sieht dabei aus wie folgt:
{
"id": "2e1a7138-9114-496b-8dfe-5b30e3b329f1",
"parentId": "bf291cd3-14f3-41ff-93ab-2fa2d59de73a",
"accessCode": "abcdef",
"clientUpdateDateTime": "2017-06-01T18:30:00+02:00",
"serverUpdateDateTime": "2017-06-01T18:30:00+02:00", // | null
"checkInDateTime": "2017-06-01T18:30:00+02:00", // | null
"checkOutDateTime": "2017-06-01T18:30:00+02:00", // | null
"deleteDateTime": "2016-07-01T18:30:00+02:00", // | null
"registrationState": "unknown|registered|deregistered",
"highlightColor": "#ffeedd", // | not set
"fields": {
"salutation": "Herr",
"lastName": "Mustermann",
"firstName": "Max",
"titlePrefix": "Dr",
"titleSuffix": "MSc",
"company": "My Company",
"position": "CIO",
"street": "Stephansplatz",
"houseNumber": "1",
"postalCode": "1010",
"city": "Wien",
"country": "AT",
"phone": "+43 1 234 5678",
"mobilePhone": "+43 6999 12 34 56 78",
"fax": null,
"email": "mymail@example.org",
"externalId": null,
"notes": "This is useful information.",
"customField1": "green",
"customField13": "yes",
"customField47": ["vegetarian", "vegan"]
},
"companions": [
{ "id": "20c36bba-aeca-4c27-9d50-57a02ead4bb1" },
{ "id": "bb1f8ca9-bba2-4f89-b078-b1fd2eb1f8a6" }
]
}
Die "highlightColor" ergibt sich aus den mit dem Gast verknüpften Tags.
3. Führen Sie einen Logout durch
Um die Session zu beenden, senden Sie folgenden Request ab:
## POST /api/v1/logout
{
"sessionToken": "0123456789abcdef0123456789abcdef01234567"
}
Im Erfolgsfall erhalten Sie als Antwort:
{
"status": "success"
}
Allgemeine Fehlercodes
Folgende Fehler können bei jedem einzelnen
Request auftreten:
{
"errors": [
{
"code": 10,
"message": "Invalid JSON provided."
},
{
"code": 20,
"message": "Required parameter(s) missing: ..."
},
{
"code": 30,
"message": "Invalid session token provided."
}
]
}