> For the complete documentation index, see [llms.txt](https://altec-atls.gitbook.io/altec-atls-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://altec-atls.gitbook.io/altec-atls-api/migration-depuis-lapi-legacy.md).

# Migration depuis l'API Legacy

[Lien vers l'API Legacy](https://altec-atls.gitbook.io/api-legacy)

Les anciens points de terminaison (`https://ovh-backend.altec-ts.fr/api/...`) **restent en service** : vos intégrations existantes continuent de fonctionner sans modification. Ils sont toutefois **dépréciés** et n'évolueront plus — les nouvelles fonctionnalités ne seront disponibles que sur l'API v1.

Chaque réponse d'un ancien point de terminaison contient désormais deux headers :

```
Deprecation: @1783382400
Link: </api/v1/...>; rel="successor-version"
```

Le header `Deprecation` (RFC 9745) indique la date de dépréciation, le header `Link` indique le point de terminaison v1 qui le remplace.

## Table de correspondance

| API historique (dépréciée)      | API v1                                                            |
| ------------------------------- | ----------------------------------------------------------------- |
| `POST /api/login`               | `POST /api/v1/auth/login`                                         |
| `POST /api/refreshToken`        | `POST /api/v1/auth/refresh`                                       |
| `POST /api/addProduct`          | `POST /api/v1/products`                                           |
| `POST /api/deleteProduct`       | `DELETE /api/v1/products/{productLogin}`                          |
| `POST /api/getProductStates`    | `GET /api/v1/products/{productLogin}/state`                       |
| `POST /api/toggleOutputProduct` | `POST /api/v1/products/{productLogin}/outputs/{numOutput}/toggle` |
| `POST /api/setOutputProduct`    | `PATCH /api/v1/products/{productLogin}/outputs/{numOutput}`       |

## Points d'attention lors de la migration

* **Jetons** : les jetons d'accès et d'actualisation sont les mêmes pour les deux générations d'API. Un jeton obtenu via `/api/login` est valable sur l'API v1 et inversement.
* **`/auth/refresh`** : seul le `refreshToken` est requis, la `clientKey` n'est plus nécessaire.
* **Identifiant produit dans l'URL** : le `productLogin` ne se transmet plus dans le body mais directement dans l'URL de la ressource.
* **Codes de succès** : l'association d'un produit renvoie `201` (au lieu de `200`), la dissociation renvoie `204` sans corps de réponse (au lieu de `200`).
* **Réponse de connexion** : `/auth/login` renvoie en plus `tokenType` (`"Bearer"`) et `expiresIn` (durée de validité du jeton d'accès en secondes).

{% hint style="info" %}
Pour toute question sur la migration, contactez le [Support](/altec-atls-api/support.md).
{% endhint %}
