> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vue d'ensemble

> Découvrez quels endpoints de la Product Recommendation API importent votre catalogue et renvoient des recommandations et des résultats de recherche, et comment les tester dans Postman.

La Product Recommendation API est une API REST qui importe votre catalogue de produits dans Kameleoon et renvoie à votre code des recommandations de produits personnalisées et des résultats de recherche. Cette API est destinée aux projets qui utilisent les modules complémentaires Product Recommendation et Search Personalization. Votre code contrôle l'affichage de chaque produit, et vous pouvez journaliser et déboguer chaque appel avec vos propres outils.

## Ce que fait l'API

L'API comporte quatre groupes d'endpoints. Chaque groupe couvre une partie d'une intégration.

* **Initialiser :** Démarrez une session pour obtenir l'identifiant d'appareil et l'identifiant de session que les requêtes de recommandation et de recherche utilisent.
* **Importer :** Importez des catégories, des produits et des commandes, mettez à jour la disponibilité des produits et supprimez des produits.
* **Recommander :** Récupérez des recommandations personnalisées pour un bloc de recommandation, récupérez une collection de produits ou demandez une liste de produits filtrée.
* **Recherche :** Récupérez les résultats de recherche instantanés ou complets pour la requête d'un visiteur.

## Avant de commencer

* **Modules complémentaires :** L'API est destinée aux projets qui utilisent les modules complémentaires Product Recommendation et Search Personalization.
* **Store Key :** Retrouvez-la dans **Recommendations** > **Settings** > **Store settings** de l'application Kameleoon. Les requêtes l'envoient sous le nom `shop_id`.
* **Secret Key :** Retrouvez-la au même endroit. Les requêtes d'import l'envoient sous le nom `shop_secret`.

Contactez votre Customer Success Manager pour l'une ou l'autre de ces clés, si nécessaire.

## Importer votre catalogue

Les recommandations proviennent des produits de votre catalogue. Importez donc vos données avant de demander des recommandations. Importez les catégories avant les produits, afin que l'import des produits utilise des catégories à jour.

Utilisez l'endpoint **Import and update products** pour les catalogues de plus de 50 000 produits, et évitez de réimporter l'intégralité du catalogue chaque jour. Pour une modification plus légère, utilisez l'endpoint **Update available products** afin de changer la disponibilité des produits existants.

Chaque requête d'import inclut votre Secret Key dans son corps. Envoyez donc les requêtes d'import depuis votre backend, et non depuis un navigateur ou une application.

Pour les étapes complètes d'import, consultez le [tutoriel d'importation du catalogue](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/tutorials/import-a-product-catalog-into-kameleoon-using-the-product-recommendation-api.md).

## Fonctionnement des requêtes de recommandation

Les requêtes de recommandation et de recherche utilisent deux identifiants : l'identifiant d'appareil (`did`) et l'identifiant de session (`sid`). Avant d'appeler un autre endpoint, appelez **Initialize session** pour obtenir les deux.

### Initialiser une session

Démarrez une session pour obtenir l'identifiant d'appareil et l'identifiant de session dont vos autres requêtes ont besoin. Envoyez une requête `GET` à `https://api.products.kameleoon.com/init` avec votre Store Key comme paramètre de requête `shop_id`.

Appelez **Initialize session** à un moment qui dépend de votre plateforme :

* **cURL :** À chaque rendu de la page par votre serveur.
* **Web :** À chaque ouverture de la page par l'utilisateur, y compris dans les applications monopage.
* **iOS and Android :** À chaque lancement de l'application.

Lors du premier lancement sur un nouvel appareil, appelez **Initialize session** sans identifiant d'appareil. L'API en génère un, que vous utilisez pour toutes les requêtes suivantes.

Si vous appelez l'API depuis votre backend avec Web Experimentation, stockez l'identifiant de session dans le cookie `KameleoonProducts_session_code` et l'identifiant d'appareil dans le cookie `KameleoonProducts_device_id`.

## Essayer l'API dans Postman

Testez les requêtes de la Product Recommendation API sans écrire de code grâce à la collection Kameleoon Product Recommendation API dans Postman. La collection contient une requête par endpoint.

1. [Téléchargez la collection Kameleoon Product Recommendation API](https://storage.googleapis.com/kameleoon-storage-documentation/developer-docs/downloads/apis/product-recommendation-api-rest/kameleoon-product-recommendation-api.postman_collection.zip) au format ZIP, extrayez le fichier JSON, puis importez-le dans Postman.
2. Dans l'onglet **Variables** de la collection, définissez `shopId` sur votre Store Key et `shopSecret` sur votre Secret Key. Retrouvez les deux dans **Recommendations** > **Settings** > **Store settings** de l'application Kameleoon.
3. Envoyez **Initialize session**. La requête enregistre l'identifiant d'appareil et l'identifiant de session dans les variables `did` et `sid`, que les autres requêtes utilisent.
4. Définissez `recommenderCode` ou `collectionId` pour la requête que vous voulez tester, puis envoyez-la.

Les requêtes d'import modifient votre catalogue de produits. Vérifiez donc le corps de la requête avant de l'envoyer.

## Référence de l'API

Chaque endpoint dispose d'une page de référence avec ses paramètres et ses exemples.

| Endpoint | Objectif | Référence |
| - | - | - |
| `GET /init` | Démarre une session et renvoie l'identifiant d'appareil et l'identifiant de session. | [Initialiser une session](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Initialize/init.md) |
| `POST /import/categories` | Importe la hiérarchie de vos catégories de produits. | [Importer des catégories](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Import/import-categories.md) |
| `POST /sync/orders` | Importe ou met à jour les commandes de transaction et leurs lignes de commande. | [Importer des commandes](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Import/import-orders.md) |
| `PUT /import/products` | Importe ou met à jour votre catalogue de produits. | [Importer et mettre à jour des produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Import/import-product.md) |
| `PATCH /import/products` | Met à jour la liste des produits en stock. | [Mettre à jour les produits disponibles](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Import/update-products.md) |
| `DELETE /import/products` | Supprime des produits à partir de leur ID. | [Supprimer des produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Import/remove-products.md) |
| `GET /recommend/{recommender_code}` | Renvoie des recommandations de produits personnalisées pour un bloc de recommandation. | [Récupérer les recommandations de produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Recommend/get-recommend.md) |
| `GET /collection/{collection_id}` | Renvoie une collection de produits configurée et son modèle HTML. | [Récupérer une collection](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Recommend/get-collection.md) |
| `GET /products` | Renvoie une liste filtrée de produits. | [Demander une liste de produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Recommend/get-product-list.md) |
| `GET /search` | Renvoie des résultats de recherche de produits instantanés ou complets. | [Récupérer les résultats de recherche](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/all-endpoints/Search/get-search.md) |

## Guides

Chaque guide vous accompagne dans une tâche, avec ces endpoints.

* [Importer un catalogue de produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/tutorials/import-a-product-catalog-into-kameleoon-using-the-product-recommendation-api.md) : Importez des catégories, des produits et des mises à jour de disponibilité.
* [Modifier des produits du catalogue](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/tutorials/modifying-products-in-the-products-catalog.md) : Supprimez des produits et mettez à jour leur disponibilité.
* [Récupérer des recommandations de produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/tutorials/retrieving-product-recommendations.md) : Affichez des recommandations dans votre application web ou mobile.
* [Récupérer des collections de produits](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/tutorials/retrieving-product-collections.md) : Affichez des collections de produits dans votre application web ou mobile.
* [Implémenter la logique de recherche](https://docs.kameleoon.com/fr/developer-docs/apis/product-recommendation-api-rest/tutorials/implement-search-logic-in-your-backend-or-mobile-app.md) : Affichez des résultats de recherche en direct et complets dans votre backend ou votre application mobile.
