Spécifications
Vue d'ensemble du protocole bidirectionnel SmartWatt, encodage, format des fichiers, références normatives.
Protocole
Le protocole SmartWatt ↔ opérateur de marché décrit :
- les flux outbound et inbound (voir Getting Started pour le récapitulatif),
- la sémantique des champs par fichier,
- les invariants de conservation et de cohérence temporelle,
- les codes d’erreur et le comportement de retry attendu.
Encodage & transport
| Élément | Valeur |
|---|---|
| Encodage | UTF-8 sans BOM |
| Format | JSON |
| Transport | HTTPS, TLS 1.2 minimum, TLS 1.3 recommandé |
| Compression | gzip ou br accepté côté requête et réponse |
| Idempotence | Recommandée par clé naturelle, voir chaque endpoint |
Horloges & fuseaux
Toutes les dates sont UTC dans les payloads (emitted_at, target_date, slot_start). Les cadences déclenchées (08:00, 12:30) sont exprimées en Europe/Paris côté planification opérationnelle, traduites en UTC dans les en-têtes (X-Smartwatt-Emitted-At).
Cycle de vie d’une journée cible
J-1 08:00 Europe/Paris ──► Outbound Besoins_Agreges (J-1 → J+1, fenêtre 26 h DST-safe)
J 00:00 Europe/Paris ──► Journée cible commence
J 12:30 Europe/Paris ──► Inbound Programme_Soutirage (couvre J, peut couvrir J+1)
J 23:59 Europe/Paris ──► Journée cible terminée
Identification des sites
Chaque site est identifié par son PRM Enedis (PRM12345678901234 par ex.). C’est la clé naturelle utilisée des deux côtés. Aucun identifiant interne SmartWatt n’est exposé dans les payloads.
Erreurs & retry
| Code HTTP | Sémantique | Retry SmartWatt |
|---|---|---|
2xx | Acquittement | n/a |
4xx | Erreur cliente définitive (auth, validation) | Non |
5xx | Erreur transitoire | Oui, 3 tentatives, backoff exponentiel (1 s, 5 s, 30 s) |
| timeout 30 s | Considéré comme 5xx | Oui |
Au-delà de 3 échecs successifs, SmartWatt bascule en mode dégradé (cf. fallback console web pour outbound) et émet une alerte interne.