> ## 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.

# Initialiser une session

> Initialisez une session de la Product Recommendation API pour obtenir un device ID et un session ID avant d'appeler tout autre endpoint de recommandation.

Avant d'utiliser toute autre méthode de l'API dans la Product Recommendation API, appelez l'API `init`. Le processus d'initialisation accepte l'identifiant de l'utilisateur actuel et demande les paramètres du projet ainsi que les préférences de l'utilisateur.

## Requête HTTP

```html theme={null}
GET https://api.products.kameleoon.com/init
```

## Quand initialiser

Selon votre plateforme, les exigences d'exécution de `init` diffèrent :

* **cURL** : initialisez à chaque rendu de la page.
* **Web** : initialisez à chaque ouverture de la page (y compris les applications monopage).
* **iOS** ou **Android** : initialisez à chaque lancement de l'application.

Lors du premier lancement sur un nouvel appareil, un identifiant d'appareil est absent. Appelez la méthode `init` sans device ID pour en générer un. Pour la logique de recommandation côté backend avec Kameleoon Web Experimentation, appelez cette API et stockez les IDs dans le cookie `KameleoonProducts_session_code` pour `sid` et `KameleoonProducts_device_id` pour `did`.

## Paramètres de requête

| Paramètre | Type   | Requis | Description                                                                                                                                                                                                                                                                                                                                                                                                          |
| --------- | ------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shop_id` | String | True   | Votre Store Key. Vous pouvez la trouver dans **Recommendations** > **Settings** > **Store settings** dans l'application Kameleoon. Vous pouvez également contacter votre Customer Success Manager pour obtenir la clé                                                                                                                                                                                                |
| `did`     | String | False  | Un device ID. Si un device ID existe déjà, spécifiez-le ici. Si vous ne spécifiez pas de `did`, l'API en générera un nouveau dans la base de données Kameleoon. Utilisez cet ID généré comme device ID pour toutes les requêtes futures                                                                                                                                                                              |
| `sid`     | String | True\* | Un session ID est un identifiant temporaire attribué à l'utilisateur pour la session en cours. Il doit s'agir d'une chaîne unique et sera régénéré à chaque nouvelle session. Pour la requête init initiale, n'incluez pas de `sid`. Le `sid` sera généré par Kameleoon et renvoyé dans la réponse de l'API. Si un `sid` est spécifié dans la requête et qu'il n'existe pas dans le système, une erreur se produira. |

<Note>
  Bien que le paramètre `sid` soit requis, ne l'ajoutez pas lors de la première initialisation, car le système le génère et le renvoie dans la réponse (en tant que `seance`).

  Une fois généré, utilisez le `sid` généré par le système pour les requêtes au sein de la session en cours.
</Note>
