Ce guide explique comment s’authentifier, explorer la documentation Swagger, lister vos équipements et récupérer des données brutes.
Swagger : https://hello-sycon.github.io/sycon-api/
URL API : https://cloud.sycon.io
Spécification API 1.2.0 : docs/v1.2.0/sycon-cloud-api.
- Un compte client Sycon actif (identifiants fournis par Sycon).
- Accès HTTPS sortant (443).
- Navigateur moderne pour Swagger UI (ou votre outil habituel : Postman, Insomnia, etc.).
L’API utilise un jeton JWT transmis dans l’en-tête Authorization et un jeton Renew pour renouveler le JWT sans ressaisir vos identifiants.
Étapes :
- Login (
POST /auth/login) avec vos identifiants.
• En cas de succès (200), la réponse ne contient pas de corps JSON, mais deux en‑têtes :
Authorization: Bearer <JWT>etRenew: <RENEW_TOKEN>. - Appeler l’API en ajoutant
Authorization: Bearer <JWT>à chaque requête. - Vérifier votre JWT à tout moment via
GET /auth/check(retour200si valide,403sinon). - Renouveler le JWT via
GET /auth/renewen envoyant l’en‑têteRenew: <RENEW_TOKEN>; un nouveauAuthorizationest renvoyé.
Bonnes pratiques :
- Conservez
Renewde manière sécurisée et renouvelez avant l’expiration du JWT. - Ne partagez jamais vos jetons ni ne les commitez dans un dépôt.
- Ouvrez : https://hello-sycon.github.io/sycon-api/.
- Cliquez Authorize et collez votre valeur
Bearer <JWT>dans le champ prévu. - Utilisez la recherche pour trouver un endpoint par nom ou par tag (« API auth », « Data API »).
- Dépliez un endpoint, cliquez Try it out, renseignez les paramètres, puis Execute.
- Consultez le Request URL, les en‑têtes, et la réponse (corps + codes).
Astuce : Servez‑vous d’un device/field réel récupéré via
/api/devicespour vos essais.
- Endpoint :
GET /api/devices - Résultat : liste des devices rattachés à votre client.
Les champsfieldsetexternalSensorIdsreflètent ce qui a été mesuré sur les 7 derniers jours (leur absence n’exclut pas des historiques plus anciens).
-
Endpoint :
GET /api/devices/{deviceId}/{field}/data/raw -
Paramètres path :
deviceId(int64, requis) — identifiant du device.field(enum, requis) — type de mesure (voir la liste complète dans l’OpenAPI / Swagger).
-
Paramètres query :
Nom Type Obligatoire Règles / Exemple startstring oui Instant UTC ISO‑8601, ex. 2025-09-22T00:00:00Zendstring oui Instant UTC ISO‑8601 headLimitint ≤10000 au moins 1/2 Garde les N premiers points depuis starttailLimitint ≤10000 au moins 1/2 Garde les N derniers points jusqu’à endexternalSensorIdstring non Filtre sur un capteur externe précis Règle : fournir au moins
headLimitoutailLimit. Si la fenêtre contient plus de N points, l’API tronque selon l’option choisie. -
Réponse (résumé) :
• métadonnées :deviceId,field,externalSensorId(optionnel),firstTimestamp,lastTimestamp,count
• données :dataPoints[](chaque point contienttime(ISO‑8601) etvalueoutextValue)
- Enchaînez plusieurs appels en découpant votre période (ex. tranches d’1 h).
- Utilisez
firstTimestamp/lastTimestamppour avancer sans chevauchement.
Codes fréquents :
401— JWT manquant/invalide.403— Accès refusé (droits/périmètre) ouRenewinvalide/expiré.404— Device introuvable.400— Paramètres invalides (dates, limites manquantes, formats).502— Erreur lors de l’interrogation des données en backend.
Checklist rapide :
- L’en‑tête
Authorizationcommence parBeareret le JWT est valide (/auth/check). start < endet vos dates sont au format ISO‑8601 UTC (suffixeZ).- Vous fournissez
headLimitoutailLimit(≤ 10000). - Le
deviceIdvous appartient (visible dans/api/devices). - Le
fieldexiste pour votre device (il peut ne pas apparaître si aucune mesure récente, mais rester interrogeable si de l’historique existe).
- UTC partout : sérialisez vos timestamps avec le suffixe
Z. - Fenêtrage : préférez des fenêtres limitées (ex. 1 h) plutôt qu’un très large intervalle.
- Renouvellement proactif : anticipez l’expiration de votre JWT avec
/auth/renew. - Résilience : en cas de
502, appliquez un backoff exponentiel. - Sécurité : ne divulguez jamais
Authorization/Renew(pas de commit, pas de tickets publics).
- Site : https://www.sycon.fr/
- Contact : hello@sycon.fr