
LIVE PULL API
Plusieurs options d’intégration API permettent de vous connecter à DoorVision, mais la solution que nous recommandons est la Live Pull API.
Récupérer les portes de votre système de boutique
Pour visualiser les portes de votre système de boutique, DoorVision doit accéder à toutes les informations utiles sur les portes, y compris aux options de filtre et de tri disponibles. Ces informations doivent être accessibles via une API.
Votre système de boutique doit fournir les endpoints API suivants, qui permettent à DoorVision de récupérer dynamiquement les données nécessaires. L’implémentation technique peut varier, car nous développerons un adaptateur sur mesure pour exécuter les appels API nécessaires. Cette approche offre une grande souplesse quant à la structure des données, tant que toutes les informations requises sont fournies.
La conception d’API ci-dessous correspond à l’implémentation la plus simple possible et comprend ces endpoints principaux :
-
Obtenir une porte par son ID externe
-
Obtenir une liste paginée de portes (à partir d’un tableau d’ID externes)
-
Obtenir les options de filtre et de tri
-
Obtenir une liste paginée de portes (selon les filtres et options de tri choisis par l’utilisateur)
1.) Obtenir une porte par son ID externe
Cet endpoint reçoit un ID externe en entrée et renvoie les champs suivants dans une réponse JSON :
Title | Type | Required | Description |
|---|---|---|---|
External Id | string | number | Yes | Un identifiant unique de la porte dans votre système de boutique (par exemple la référence ou le code produit) |
Name | string | Yes | Le nom de la porte. |
Price | number | No | Le prix (en centimes) de la porte. |
DoorType | “single” | “double” | Yes | Indique si la porte est à un vantail ou à deux vantaux. |
Enabled | boolean | No | Indique si la porte doit être affichée dans DoorVision. |
Shop Link* | string | Yes | Le lien vers la porte dans votre boutique. |
Image url | string | Yes | L’image de face de la porte, sans aucun espace vide autour. Le côté le plus large doit mesurer environ 1 000 px. |
Thumbnail url | string | No | Comme l’image de face, mais le côté le plus large doit mesurer environ 350 px. |
* Le lien boutique peut être défini individuellement pour chaque porte ou calculé à partir de l’ID externe grâce à une structure d’URL générale. Par exemple, la structure d’URL « https://www.brandname.com/collections/internal-doors/products/<externalId> » mène à la porte correspondant à l’ID externe indiqué.
Exemple :
URL : https://www.brandname.com/api/door/<externalId>
Résultat :
2.) Obtenir une liste paginée de portes (entrée : tableau d’ID externes)
Pour afficher aux utilisateurs de DoorVision la liste des portes qu’ils ont ajoutées à leurs favoris, votre système de boutique doit fournir un endpoint qui renvoie une liste paginée de portes pour un tableau d’ID externes. DoorVision se charge d’enregistrer les ID externes marqués comme favoris.
Exemple :
URL : https://www.brandname.com/api/doors/
Paramètres de requête :
-
externalIds: Array<string>
-
page: number
-
pageSize: number
Résultat :
3.) Obtenir les options de filtre et de tri
Cet endpoint renvoie toutes les options de filtre et de tri possibles.
Le niveau supérieur du filtre est une liste de catégories, par exemple « Marque », « Style de porte », « Vitrage », « Finition ».
Une catégorie comporte les propriétés suivantes :
-
id: string
-
name: string
-
description: string (facultatif)
-
enabled: boolean
-
options: liste de
-
id: string
-
name: string (facultatif)
-
count: string (facultatif)
-
Le nombre de portes que comprendrait cette option de catégorie de filtre
Les options de tri sont représentées par une liste d’éléments :
-
id: string
-
name: string
Exemple :
URL : https://www.brandname.com/api/filterOptions/
Paramètres :
-
doorType: single | double (facultatif)
-
selectedSortingOptionId: string (facultatif)
-
selectedCategoryOptions (facultatif)
-
Tableau de :
-
categoryId: string
-
selectedOptionIds: Array<string>
-
-
Résultat :
4.) Obtenir une liste paginée de portes
C’est la requête principale : elle renvoie une liste paginée des portes correspondant aux filtres sélectionnés, triée selon l’option de tri transmise.
Exemple :
URL : https://www.brandname.com/api/doors/
Paramètres :
-
doorType: single | double (facultatif)
-
selectedSortingOptionId: string (facultatif)
-
selectedCategoryOptions:
-
Tableau de :
-
categoryId: string
-
selectedOptionIds: Array<string>
-
-
-
page: number
-
pageSize: number
Résultat :