# Documentation API Izypower Cloud

> Documentation non officielle et collaborative de l’API Izypower Cloud. Elle rassemble les routes observées, les schémas connus et des réponses réelles anonymisées.

## Statut et précautions

- Contrat actuel : OpenAPI 3.0.3, version `1.16.0-unofficial`.
- Serveur HTTPS : `https://application.izypowercloud.fr/photo_voltaic`.
- Les contrats peuvent évoluer sans préavis.
- Les endpoints signalés comme confirmés reposent sur des appels observés ; les autres restent à confirmer.
- Ne jamais publier un identifiant, un mot de passe, un JWT, un numéro de série ou un identifiant de centrale réel.
- Vérifier la cible avant toute opération de modification, de contrôle ou de suppression.
- Les données énergétiques normales sont enregistrées environ toutes les trois minutes ; une actualisation plus fréquente est généralement inutile.

## Démarrage rapide

### 1. Obtenir un JWT

Envoyer une requête `POST /api/login` avec un corps JSON contenant `username` et `password` :

```bash
curl -X POST \
  'https://application.izypowercloud.fr/photo_voltaic/api/login' \
  -H 'Content-Type: application/json' \
  -H 'app-platform: izy' \
  -H 'Accept-Language: fr' \
  --data '{"username":"utilisateur@example.com","password":"mot-de-passe"}'
```

Une réponse réussie contient le jeton dans `data.token` :

```json
{
  "app": "<anonymisé>",
  "code": 200,
  "data": {
    "token": "<JWT_MASQUÉ>"
  }
}
```

### 2. Utiliser le JWT

Transmettre le jeton dans l’en-tête `x-tts-access-token` :

```bash
curl \
  'https://application.izypowercloud.fr/photo_voltaic/api/powerStations/page?page=1&limit=100' \
  -H 'x-tts-access-token: <VOTRE_JWT>' \
  -H 'app-platform: izy' \
  -H 'Accept-Language: fr'
```

Cette route retourne les centrales accessibles au compte. Le champ `stationsId` fournit l’identifiant demandé par les routes contenant `{stationId}` ou `powerId`.

## Principales familles d’endpoints

- **Authentification** : création et utilisation du JWT.
- **Centrales** : liste, informations et autorisations des centrales.
- **Rapports énergétiques** : production, consommation, réseau, batterie et historiques.
- **Composants** : disposition et puissance des entrées photovoltaïques.
- **Appareils** : liste, informations de base, commandes et état Wi-Fi.
- **Compteur intelligent** : mesures et configuration du smart meter.
- **Batterie** : état, SOC, puissance, température et paramètres.
- **Borne de recharge** : programmes et paramètres EV.
- **Notifications et support** : messages, contenus et assistance.
- **Opérations dangereuses** : routes susceptibles de modifier ou supprimer des données ou des équipements.

## Conventions

- La plupart des réponses utilisent une enveloppe comprenant `code`, `data` et parfois `app` ou `msg`.
- Un succès fonctionnel observé utilise généralement le code HTTP `200` et un champ JSON `code: 200`.
- Les identifiants de centrale, d’appareil et les numéros de série ne sont pas interchangeables.
- Les exemples publics sont anonymisés ; leurs valeurs numériques servent à décrire la structure et non une installation particulière.
- Les routes dont le comportement n’a pas été confirmé doivent être considérées comme expérimentales.

## Références complètes

- [Explorateur Swagger](https://izypower-cloud-api-docs.justaurelien.fr/swagger/)
- [Contrat OpenAPI JSON](https://izypower-cloud-api-docs.justaurelien.fr/swagger/openapi.json)
- [Index pour agents](https://izypower-cloud-api-docs.justaurelien.fr/llms.txt)
