Ga naar hoofdinhoud

API & Integrations

This section is for developers who want to integrate VoordeMensen into their own website, mobile app, or backoffice system.

There are three levels of integration, from easiest to most flexible:

LevelBest forSee
WordPress pluginWordPress sites — drop it in, doneWordPress plugin
Manual integrationAny site — load a JavaScript snippet, pop-up or side-loaderManual integration
Public APIBuild your own ticketing flow from scratchPublic endpoints
Peppered APIBackoffice / vendor integrations with authenticated accessPeppered endpoints

API base URL

All API calls are served from:

https://api.voordemensen.nl/v1/

Every endpoint includes your client name (short organisation identifier) in the path, for example demo or fringe:

https://api.voordemensen.nl/v1/demo/events
https://api.voordemensen.nl/v1/demo/tickettypes/95

Authentication

Endpoint groupAuthentication
Public (Events, Ticket types, Cart, Order)None — open for all clients
Peppered (Customer, Cart, Orders, Hall, Seating, Exports)API key via Authorization header — raw value, no prefix

For Peppered endpoints, pass the key directly:

Authorization: <your-api-key>

Basic auth (Authorization: Basic <base64(key:)>) is also supported. See Peppered → Authentication for details.

Request an API key from support. See API keys (Dashboard) for how they are managed per organisation.

Typical ticketing flow (public API)

The standard workflow to sell tickets via the public API:

  1. Fetch available events: GET /v1/:client/events
  2. For the chosen sub-event, fetch available ticket types: GET /v1/:client/tickettypes/:event_id
  3. Create a shopping cart: POST /v1/:client/cart/
  4. Add seats to the cart: POST /v1/:client/cart/:cart_id
  5. Get available payment methods and create the order: POST /v1/:client/order/create
  6. Redirect the user to the payment provider URL you receive.
  7. After payment, check status: GET /v1/:client/order/:order_key.

See Public endpoints for each step in detail.

Data privacy

Public endpoints deliberately hide sensitive information such as real capacity or number of tickets sold. The event_free field always returns the maximum number of tickets allowed per order (taking reserved offline capacity into account), never actual sales.

Authenticated Peppered endpoints expose more detail for trusted partners.

Rate limits & best practices

  • Be respectful: cache responses where possible (event lists, payment methods).
  • Do not poll the cart more than once per user action.
  • Always pass the full client_name in the URL — there is no default.
  • Use HTTPS (redirects use HTTPS only).

Reporting

Integrations that need aggregate data for BI tools should use the Peppered export endpoints. For internal reporting we use Metabase (see Metabase).


See also: Manual integration · Public endpoints · Peppered endpoints