logo

đŸ‡«đŸ‡·Â Potions Experiences API v1

💡
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

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.

Powered by Notaku