To read the guest list of your event through our API, follow these steps.
1. Create an App Configuration via the "Check-in" menu
Even if a configuration already exists for use in our iOS app, we recommend creating a specific configuration for each client application.
You only need to enter a name and optionally select a segment to filter the guest list.
2. Perform a Login
Access the "Check-in" menu in the backend and copy three values:
- The "Event ID" from the URL (.../admin/event/{{ eventId }})
- The "App Code" of the created app configuration, which is visible in the corresponding column of the list
- The "Name" from the same list
Then send the following Request with the corresponding values:
## POST /api/v1/login
{
"eventId": "123",
"apiKey": "aBcDeFgH",
"stationName": "Main Entrance"
}
Upon success, you will receive the following response:
{
"status": "success",
"event": {
"id": "123",
"name": "My Event",
"company": "My Company",
"startDateTime": "2018-01-...",
"endDateTime": "2018-01-...",
"configuration": {…}
},
"stationName": "Main Entrance",
"sessionToken": "0123456789abcdef0123456789abcdef01234567"
}
Important Information:
- The session token must be sent with all subsequent requests.
- The token automatically expires 24 hours after the last use.
It is therefore recommended to perform a logout after a series of requests (see below) and start with the login again for new queries.
In case of failure, you will receive the following response:
{
"status": "error",
"displayMessage": null,
"errors": [
"[SEE COMMON ERRORS BELOW]",
{
"code": 1000,
"message": "Event ID not known."
},
{
"code": 1010,
"message": "API key incorrect."
}
]
}
3. Fetch the Guest List
To fetch the guest list, send the following Request:
## POST /api/v1/guest/list/all
{
"sessionToken": "0123456789abcdef0123456789abcdef01234567"
}
Alternatively, you can also fetch only changes in the guest list by simply sending the time of your previous query.
## POST /api/v1/guest/list/recent
{
"sessionToken": "0123456789abcdef0123456789abcdef01234567",
"sinceDateTime": "2018-01-01T18:30:00+02:00"
}
For both cases, upon success, you will receive the following response:
{
"status": "success",
"count": 123,
"dateTime": "2018-01-01T18:30:00+02:00",
"guests": [
"[SEE GUEST OBJECT ABOVE]",
"[SEE GUEST OBJECT ABOVE]",
" ... "
]
}
Important Information:
Please note that guests who were deleted during the queried period will also appear in the result. This allows you to remove them from your system as well. Pay attention to the property "deleteDateTime" of the guest object.
As "dateTime" you will receive the current server time, which you can use for subsequent queries for changes.
A guest object looks as follows:
{
"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": "Mr.",
"lastName": "Smith",
"firstName": "John",
"titlePrefix": "Dr",
"titleSuffix": "MSc",
"company": "My Company",
"position": "CIO",
"street": "Stephansplatz",
"houseNumber": "1",
"postalCode": "1010",
"city": "Vienna",
"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" }
]
}
The "highlightColor" is derived from the tags linked to the guest.
To end the session, send the following Request:
## POST /api/v1/logout
{
"sessionToken": "0123456789abcdef0123456789abcdef01234567"
}
Upon success, you will receive the following response:
{
"status": "success"
}
General Error Codes
The following errors can occur with each individual request:
{
"errors": [
{
"code": 10,
"message": "Invalid JSON provided."
},
{
"code": 20,
"message": "Required parameter(s) missing: ..."
},
{
"code": 30,
"message": "Invalid session token provided."
}
]
}