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

# Inicializar sesión

> Inicialice una sesión de la Product Recommendation API para obtener un device ID y un session ID antes de llamar a cualquier otro endpoint de recomendaciones.

Antes de utilizar cualquier otro método de la Product Recommendation API, llame a la API `init`. El proceso de inicialización acepta el identificador del usuario actual y solicita los ajustes del proyecto y las preferencias del usuario.

## Solicitud HTTP

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

## Cuándo inicializar

Según su plataforma, los requisitos sobre cuándo ejecutar `init` son distintos:

* **cURL**: inicialice cada vez que se renderice la página.
* **Web**: inicialice cada vez que se abra la página (incluidas las single-page applications).
* **iOS** o **Android**: inicialice cada vez que se inicie la aplicación.

En el primer arranque de un dispositivo nuevo, falta el identificador del dispositivo. Llame al método `init` sin un device ID para generar uno. Para una lógica de recomendaciones en backend con Kameleoon Web Experimentation, llame a esta API y almacene los IDs en la cookie `KameleoonProducts_session_code` para `sid` y en `KameleoonProducts_device_id` para `did`.

## Parámetros de consulta

| Parámetro | Tipo   | Obligatorio | Descripción                                                                                                                                                                                                                                                                                                                                                                                 |
| --------- | ------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shop_id` | String | True        | Su Store Key. Puede encontrarla en **Recommendations** > **Settings** > **Store settings** en la app de Kameleoon. También puede contactar con su Customer Success Manager para obtener la clave                                                                                                                                                                                            |
| `did`     | String | False       | Un device ID. Si ya existe un device ID, especifíquelo aquí. Si no especifica un `did`, la API generará uno nuevo en la base de datos de Kameleoon. Use ese id generado como device ID para todas las solicitudes futuras                                                                                                                                                                   |
| `sid`     | String | True\*      | Un session ID es un identificador temporal asignado al usuario para la sesión actual. Debe ser una cadena única y se regenera cada vez que comienza una nueva sesión. Para la solicitud `init` inicial, no incluya `sid`. Kameleoon generará el `sid` y lo devolverá en la respuesta de la API. Si se especifica un `sid` en la solicitud y no existe en el sistema, se producirá un error. |

<Note>
  Aunque el parámetro `sid` es obligatorio, no lo añada durante la primera inicialización, ya que el sistema lo genera y lo devuelve en la respuesta (como `seance`).

  Una vez generado, use el `sid` generado por el sistema para las solicitudes dentro de la sesión actual.
</Note>
