Introduction and concepts

This part of the API permits creating, updating and accessing Experience products using RESTful interface.

Whilst Swagger documentation is also available, this text sets the background for relevant operations and explains the aspects in greater detail.

This family of APIs is labelled as v2 which retains the data structure of experience products but has its own policies towards referencing the data, validation, etc. For full version number, refer to the Swagger documentation, e.g.:

Notion image

Authentication

Authentication uses the same API key / API secret mechanism as other RESTful web services.

Endpoints

The following v2 endpoints are available for working with Experience products:

  • GET /restapi/v2.0/experience/{experienceId}/components used to retrieve Experience product component(s)
  • PUT /restapi/v2.0/experience/{experienceId}/components used to update Experience product component(s)
  • POST /restapi/v2.0/experience used to create Experience product by specifying necessary components
  • POST /restapi/v2.0/experience/{experienceId}/photo used to upload photos against for already present Experience product

Component update policy

When updating a component, the contents of said component should be either omitted (meaning relevant component is not updated) or sent in full.

For example, if a product has extras extra 1 and extra 2, running update of EXTRAS component requires sending both extras with complete payload for each.

Mandatory / optional / forbidden components and attributes

Please note that each component has different requirement on whether it is required as quite often it depends on the context. For example, one can not directly update the product id (the ID component). Also, ON_REQUEST_DEADLINE is only mandatory if product is marked as on request and so on.

Documentation explains the aspects of each component, including every property, in greater detail.

Access to Swagger source and generating own DTOs

The Swagger source (YAML format) can be accessed via https://api-docs.bokun.dev/rest-v2.yaml.

At the moment we don’t provide any standard/official DTOs. Please use Swagger to generate DTOs/clients for programming language of your choice.

Live calls to all web services, including Experience APIs, can be made on our Swagger website. These calls display all the JSON content for reference.

Did this answer your question?
😞
😐
🤩