top of page
Entry-Door-Sample

LIVE PULL API

While multiple API integration options are available for connecting to DoorVision, the Live Pull API is our recommended solution.
 

Fetching Visual Doors from Your Shop System

To visualize the doors from your shop system, DoorVision requires access to all relevant door information, including available filter and sorting options. These details need to be accessible via an API.
 

Your shop system should provide the following API endpoints, allowing DoorVision to retrieve the required data dynamically. The technical implementation may vary, as we will develop a custom adapter to execute the necessary API calls. This approach ensures flexibility regarding the data structure, as long as all required information is provided.
 

The following API design represents the simplest possible implementation, consisting of these key endpoints:
 

  1. Get door by external ID

  2. Get a paginated list of doors (based on an array of external IDs)

  3. Get filter and sorting options

  4. Get a paginated list of doors (based on user-selected filters and sorting options)

​

​

​

1.) Get door by external id

This endpoint gets an external id as the input and delivers the following fields as a JSON response:

Title
Type
Required
Description
External Id
string | number
Yes
Jedinečný identifikátor vizuálních dveří ve vaší e-shopové platformě (např. číslo nebo kód produktu)
Name
string
Yes
Název vizuálních dveří.
Price
number
No
Cena vizuálních dveří (v pencích).
DoorType
“single” | “double”
Yes
Určuje, zda jsou vizuální dveře jednokřídlé, nebo dvoukřídlé.
Enabled
boolean
No
Určuje, zda se mají vizuální dveře zobrazovat v aplikaci DoorVision.
Shop Link*
string
Yes
Odkaz na vizuální dveře ve vašem e-shopu.
Image url
string
Yes
Čelní obrázek vizuálních dveří bez prázdných okrajů kolem. Delší strana by měla mít přibližně 1 000 px.
Thumbnail url
string
No
Totéž co čelní obrázek, ale delší strana by měla mít přibližně 350 px.

* The shop link can either be defined individually per visual door or a general url structure can be defined to calculate the shop link with the help of the external id. For example the url structure “https://www.brandname.com/collections/internal-doors/products/<externalId>” would lead to the visual door with the given external id.

 

Example:

URL: https://www.brandname.com/api/door/<externalId>

Result:

​2.) Get paginated list of doors (input array of external ids)

In order to show the DoorVision users a list of doors which they marked as favorite, your shop-system needs to provide an endpoint to get a paginated list of doors for an array of external ids. DoorVision takes care of storing the external ids marked as favorite.

 

Example:

URL: https://www.brandname.com/api/doors/

Query-Parameters: 

  • externalIds: Array<string>

  • page: number

  • pageSize: number

​

Result:

​3.) Get filter and sorting options

This endpoint delivers all the possible filter and sorting options.

The top level for the filter is a list of categories for example “Brand”, “Door style”, “Glazing”, “Finish”. 

 

A category consists of the following properties:

  • id: string

  • name: string

  • description: string (optional)

  • enabled: boolean

  • options: List of

    • id: string

    • name: string (optional)

    • count: string (optional) 

The count of doors which would be included in this filter category option

 

The sorting options are represented as a list of:

  • id: string

  • name: string

 

Example:

URL: https://www.brandname.com/api/filterOptions/

Parameters: 

  • doorType: single | double (optional)

  • selectedSortingOptionId: string (optional)

  • selectedCategoryOptions (optional)

    • Array of:

      • categoryId: string

      • selectedOptionIds: Array<string>

​

Result:

​4.) Get paginated list of doors

This is the main request to get a paginated list of doors for the selected filters sorted by the passed in sorting option,

 

Example:

URL: https://www.brandname.com/api/doors/

Parameters: 

  • doorType: single | double (optional)

  • selectedSortingOptionId: string (optional)

  • selectedCategoryOptions: 

    • Array of:

      • categoryId: string

      • selectedOptionIds: Array<string> 

  • page: number

  • pageSize: number


 

Result:

bottom of page