What is the KampAdmin API?
The KampAdmin API allows you to directly query into our backend. This gives an integrator tremendous power and flexibility to get the data they exactly need.
Moreover it is read only, so you cannot harm the data in any way
How fast is it? Should we cache it?
No. It is smartly cached. This means that a first request may take some time, but afterwards the average response time should be below 50ms. Adding an extra layer of cache on your side would most likely add a lot of complexity without significant performance gains.
Our servers are in the Ireland amazon datacenter. If you require minimal latency for your calls you could move your servers there too.
How is KampAdmin backend structured?
KampAdmin does use a standard relational database model. But it comes quite close. We have
- apps = tables
- items = rows
- app_fields = columns.
The app fields can have the following types
- text: varchar / text
- category: limited number of preset options (e.g. gender field)
- app: references items in other apps (e.g. city)
- number: float
- money: float + currency
- date: start (+ optional "end") (+ optional "time"), is passed in UTC timezone
- image: urls to aws assets, there are 3 possible sizes available ("square" 80x80, "medium" 520x, "large" 1600x)
- calculation: calculated value. Output can be text / number / date . (E.g. activity free spots)
- map: google maps object with lat/long/name/...
- duration: float, e.g. 2days, 14hours, 30minutes = 62.5
- progress: percent progress. Integer format (e.g. 95)
Who can access the API?
The API is protected through tokens (e.g. "1000000_1bh2154a9"). Every app has its own secret token.
Ask the KampAdmin support staff to provide you the tokens for the themes / acitivities app.
Which API calls are available?
- Get app info: Get to know the schema (app fields) for a specific app. Used mainly as reference tool for developers
- Filter items: Apply filters for specific app and receive items
What content (apps) are relevant for me?
In KampAdmin the following apps are relevant for website builders
- Themes: info to build up a promo page (or tiles). App fields like "description", "pictures", ..
- Activities: A specific camp It is when a theme takes place, with startdate - enddate - price.
How does KampAdmin suggests to integrate?
We suggest to following this best practice
- create a search page where you show all filtered themes
- create a detail page where you show all info for one theme and the linked activities
The best way to jump from the search to the detail page is by using the theme.seo-url app field info. In this way you do not have the cache a single theme/activity. On the detail page you pass the seo-url argument to KampAdmin. If the theme is found you'll get all necessary info to build the page, else you get a 404.