Lien vers la documentation techniqueCollectionsRĂ©cupĂ©rer une collection existanteParamĂštresCrĂ©er une requĂȘte de collectionCollection personnalisĂ©eCollection dynamiqueAlgorithmeConfigurationCollection composĂ©e
Pour utiliser cette API, vous aurez besoin dâun token dâauthentification ainsi que de votre
site_id
.
Ces deux informations sont présentes dans le cowork fourni par Potions.
Pour authentifier vos requĂȘtes, il faut rajouter un header
Authorization
contenant le token dâAPI Ă chaque requĂȘte.Pour sâauthentifier dans la documentation, il faut cliquer sur le bouton âAuthorizeâ puis rentrer le token.
Le header contenant le token sera ensuite automatiquement rajoutĂ© Ă chaque requĂȘte.
Lien vers la documentation technique
Potions Experiences API - Swagger UI
https://client.experiences.get-potions.com/v1/docs
Collections
LâAPI fournie par Potions permet de rĂ©cupĂ©rer des collections de produits.
Il y a trois types de collections :
- Collection personnalisée : renvoie une liste de produits prédéfinie
- Collection dynamique : renvoie une liste de produits générée par un algorithme en fonction des paramÚtres qui lui sont envoyés
- Collection composĂ©e : renvoie une liste de produits gĂ©nĂ©rĂ©e Ă partir dâautre collections, elle permet de mixer des collections personnalisĂ©es, dynamiques et composĂ©es
Il existe deux moyens de requĂȘter des collections : en utilisant lâid dâune collection existante ou en crĂ©ant une requĂȘte de collection.
Récupérer une collection existante
Pour lister les collections existantes, il faut appeler lâendpoint
GET /v1/{site_id}/collections
. Ensuite, il faut appeler lâendpoint
POST /v1/{site_id}/collection
en lui passant un body en JSON sous cette forme :json{ "collection_id": id de la collection rĂ©cupĂ©rĂ© dans la requĂȘte prĂ©cĂ©dente, "parameters": { "product_id": "", ou "product_ids": [], ou "category_id": "", "colors": [], "sizes": [] } }
ParamĂštres
Les paramĂštres sont utilisĂ©s pour indiquer Ă lâalgorithme la valeur Ă rĂ©cupĂ©rer.
Pour savoir quel paramÚtre renseigner, il faut regarder dans la clé
required_parameter
de la collection.CrĂ©er une requĂȘte de collection
Une requĂȘte de collection se prĂ©sente sous cette forme :
json{ "query": { "algorithm": "collaborative_filtering_transactions", "settings": { "size": 20, "fields": "all", "filters": [] } }, "parameters": { "product_id": "1001" } }
Les différentes clés à inclure dans
query
pour chaque type de collection sont indiqués ci-dessous.Pour
parameters
, il faut se référer à cette partie.Collection personnalisée
Une collection personnalisĂ©e est constituĂ©e dâune liste dâid de produits dans la clĂ©
product_ids
.Collection dynamique
Une collection dynamique est constituĂ©e dâun algorithme et dâune configuration.
Algorithme
Un algorithme associe une liste de produits à un produit ou à une catégorie. Il peut par exemple fournir les informations sur les produits achetés ou vus ensemble.
La liste des algorithmes est disponible sur lâendpoint
/v1/{site_id}/algorithms
Voici un exemple de liste dâalgorithmes que Potions peut mettre Ă disposition
Configuration
La configuration permet de modifier la collection qui sera retournĂ©e, elle permet dâagir sur le nombre, les champs ainsi que les caractĂ©ristiques des produits retournĂ©s.
Nombre de produits :
La clé
size
accepte une valeur entiĂšre positive. La valeur -1
est aussi acceptĂ©e, elle indique quâil nây a pas de limite de nombre de produits.Champs des produits :
La clé
fields
accepte soit une liste des champs Ă retourner, soit la valeur all
qui permet de renvoyer lâensemble des champs de chaque produit.Filtres :
La clé
filters
permet dâappliquer des filtres sur les produits retournĂ©s ce qui permet par exemple dâexclure certains produits en fonction de leur prix ou de leur catĂ©gorie.Elle accepte en argument une liste de rĂšgles.
Collection composée
Une collection composĂ©e est elle aussi composĂ©e dâun paramĂštre et dâune configuration, cependant elle remplace lâalgorithme par une liste de collections.
Cette liste de collection se trouve dans la clé
composed_collections
, elle peut contenir aussi bien des ids que des requĂȘte de collections.