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.:
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.