Clé API
Une clé API est nécessaire pour accéder aux données. Cette clé est personnelle et liée à votre compte Thermotrack Webserve. Toute personne disposant de cette clé et de la présente documentation peut accéder à vos données — ne la partagez pas.
Pour obtenir votre clé personnelle, contactez : thermotrack@proges.com
Formats de réponse
Chaque méthode retourne les données au format XML ou JSON. Vous précisez le format souhaité dans le paramètre format de chaque requête.
Méthodes HTTP : GET et POST
L’API accepte les deux méthodes HTTP.
- GET :
https://www.thermotrack-webserve.com/API/get_api.php - POST :
https://www.thermotrack-webserve.com/API/post_api.php
Important — sécurité : avec la méthode GET, la clé API et tous les paramètres apparaissent en clair dans l’URL. Cette URL peut être enregistrée dans les logs serveur, l’historique du navigateur ou partagée accidentellement. En production, utilisez toujours la méthode POST. Les exemples ci-dessous utilisent GET pour plus de lisibilité.
Méthodes disponibles
equip_list— Liste des équipements surveillésequip_data— Données d’un équipement sur une période (date uniquement)equip_data_schedule— Données d’un équipement sur une période (date et heure)equip_data_with_localization— Données d’un équipement véhicule avec géolocalisation (date uniquement)equip_data_schedule_with_localization— Données d’un équipement véhicule avec géolocalisation (date et heure)
Des méthodes supplémentaires peuvent être développées sur demande : thermotrack@proges.com
equip_list — Liste des équipements
Retourne la liste de tous vos équipements (capteurs) avec leur identifiant unique. Cet identifiant est nécessaire pour interroger les données d’un capteur spécifique.
Paramètres
| Paramètre | Description | Valeurs acceptées |
|---|---|---|
method |
Nom de la méthode | equip_list |
api_key |
Votre clé API personnelle | Chaîne de caractères |
format |
Format de la réponse | json ou xml |
Exemple de requête
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_list&api_key=VOTRE_CLE_API&format=xml
Champs retournés
IDEquipment— Identifiant unique de l’équipementEquipmentName— Nom de l’équipement
Codes d’erreur
| Code HTTP | Cause probable |
|---|---|
401 |
Clé API invalide ou absente |
400 |
Paramètre manquant ou mal formé |
500 |
Erreur serveur — contactez le support |
equip_data — Données par période (date)
Retourne les mesures d’un équipement pour une période donnée. Limite : les 1 000 premiers enregistrements sont retournés. Voir la section Pagination pour récupérer les données au-delà de cette limite.
Paramètres
| Paramètre | Description | Format |
|---|---|---|
method |
Nom de la méthode | equip_data |
api_key |
Votre clé API personnelle | Chaîne de caractères |
equip_id |
Identifiant unique de l’équipement | Entier (ex. : 6128) |
date_start |
Date de début de période | YYYY-MM-DD |
date_end |
Date de fin de période | YYYY-MM-DD |
format |
Format de la réponse | json ou xml |
Exemple de requête
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data&api_key=VOTRE_CLE_API&equip_id=6128&date_start=2020-01-01&date_end=2020-01-03&format=xml
Champs retournés
TotalRecord— Nombre total d’enregistrements sur la période (peut dépasser 1 000)DateTime— Horodatage au formatYYYY-MM-DD HH:MM:SSMeasure— Valeur principale (température pour un capteur température/humidité)MeasureHum— Valeur d’humidité (nullsi le capteur n’a pas de sonde humidité)
equip_data_schedule — Données par période (date et heure)
Identique à equip_data, mais permet de préciser l’heure de début et de fin en plus de la date. Limite : les 1 000 premiers enregistrements sont retournés.
Paramètres
| Paramètre | Description | Format |
|---|---|---|
method |
Nom de la méthode | equip_data_schedule |
api_key |
Votre clé API personnelle | Chaîne de caractères |
equip_id |
Identifiant unique de l’équipement | Entier (ex. : 6128) |
date_start |
Date et heure de début | YYYY-MM-DD_HH:MM:SS |
date_end |
Date et heure de fin | YYYY-MM-DD_HH:MM:SS |
format |
Format de la réponse | json ou xml |
Note : les paramètres date_start et date_end utilisent un underscore (_) comme séparateur entre la date et l’heure (ex. : 2020-01-01_00:02:00). Les horodatages retournés dans la réponse utilisent quant à eux un espace (2020-01-01 00:02:00).
Exemple de requête
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data_schedule&api_key=VOTRE_CLE_API&equip_id=6128&date_start=2020-01-01_00:02:00&date_end=2020-01-03_13:02:00&format=xml
Champs retournés
TotalRecord— Nombre total d’enregistrements sur la périodeDateTime— Horodatage au formatYYYY-MM-DD HH:MM:SSMeasure— Valeur principaleMeasureHum— Valeur d’humidité (nullsi non applicable)
equip_data_with_localization — Données avec géolocalisation (date)
Retourne les mesures d’un équipement de type véhicule, avec les coordonnées GPS associées à chaque enregistrement. Limite : les 1 000 premiers enregistrements sont retournés.
Paramètres
| Paramètre | Description | Format |
|---|---|---|
method |
Nom de la méthode | equip_data_with_localization |
api_key |
Votre clé API personnelle | Chaîne de caractères |
equip_id |
Identifiant unique de l’équipement véhicule | Entier |
date_start |
Date de début | YYYY-MM-DD |
date_end |
Date de fin | YYYY-MM-DD |
format |
Format de la réponse | json ou xml |
Exemple de requête
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data_with_localization&api_key=VOTRE_CLE_API&equip_id=9409&date_start=2025-12-01&date_end=2025-12-02&format=xml
Champs retournés
TotalRecord— Nombre total d’enregistrements sur la périodeDateTime— Horodatage au formatYYYY-MM-DD HH:MM:SSMeasure— Valeur principaleMeasureHum— Valeur d’humidité (nullsi non applicable)Longitude— Longitude GPS au moment de l’enregistrementLatitude— Latitude GPS au moment de l’enregistrement
equip_data_schedule_with_localization — Données avec géolocalisation (date et heure)
Identique à equip_data_with_localization, mais permet de préciser l’heure de début et de fin. Limite : les 1 000 premiers enregistrements sont retournés.
Paramètres
| Paramètre | Description | Format |
|---|---|---|
method |
Nom de la méthode | equip_data_schedule_with_localization |
api_key |
Votre clé API personnelle | Chaîne de caractères |
equip_id |
Identifiant unique de l’équipement véhicule | Entier |
date_start |
Date et heure de début | YYYY-MM-DD_HH:MM:SS |
date_end |
Date et heure de fin | YYYY-MM-DD_HH:MM:SS |
format |
Format de la réponse | json ou xml |
Exemple de requête
https://www.thermotrack-webserve.com/API/get_api.php?method=equip_data_schedule_with_localization&api_key=VOTRE_CLE_API&equip_id=9409&date_start=2025-12-01_00:05:00&date_end=2025-12-01_01:00:00&format=xml
Champs retournés
TotalRecord— Nombre total d’enregistrements sur la périodeDateTime— Horodatage au formatYYYY-MM-DD HH:MM:SSMeasure— Valeur principaleMeasureHum— Valeur d’humidité (nullsi non applicable)Longitude— Longitude GPS au moment de l’enregistrementLatitude— Latitude GPS au moment de l’enregistrement
Pagination — dépasser la limite de 1 000 enregistrements
Toutes les méthodes de données retournent au maximum 1 000 enregistrements par requête. Le champ TotalRecord indique le nombre total de points disponibles sur la période demandée.
Si TotalRecord est supérieur à 1 000, les données sont tronquées. Pour récupérer l’intégralité des données, découpez la période en tranches plus courtes de façon à ce que chaque tranche contienne moins de 1 000 enregistrements, puis concaténez les résultats.
Exemple : un capteur enregistre une mesure toutes les 10 minutes, soit 144 mesures par jour. Une semaine représente environ 1 008 enregistrements — légèrement au-delà de la limite. Dans ce cas, interrogez par tranche de 6 jours maximum.
Pour tout besoin de pagination native ou d’export de grandes plages de données, contactez : thermotrack@proges.com
Exemples de code
Python
import requests
API_KEY = "VOTRE_CLE_API"
BASE_URL = "https://www.thermotrack-webserve.com/API/post_api.php"
# Récupérer la liste des équipements
payload = {
"method": "equip_list",
"api_key": API_KEY,
"format": "json"
}
response = requests.post(BASE_URL, data=payload)
data = response.json()
print(data)
# Récupérer les données d'un équipement
payload = {
"method": "equip_data",
"api_key": API_KEY,
"equip_id": "6128",
"date_start": "2024-01-01",
"date_end": "2024-01-03",
"format": "json"
}
response = requests.post(BASE_URL, data=payload)
data = response.json()
print(f"Total enregistrements : {data['TotalRecord']}")
for record in data['records']:
print(record['DateTime'], record['Measure'])
PHP
<?php
$api_key = "VOTRE_CLE_API";
$base_url = "https://www.thermotrack-webserve.com/API/post_api.php";
// Récupérer la liste des équipements
$params = http_build_query([
"method" => "equip_list",
"api_key" => $api_key,
"format" => "json"
]);
$context = stream_context_create([
"http" => [
"method" => "POST",
"header" => "Content-Type: application/x-www-form-urlencoded",
"content" => $params
]
]);
$response = file_get_contents($base_url, false, $context);
$data = json_decode($response, true);
print_r($data);
?>
cURL (ligne de commande)
# Liste des équipements
curl -X POST https://www.thermotrack-webserve.com/API/post_api.php \
-d "method=equip_list&api_key=VOTRE_CLE_API&format=json"
# Données d'un équipement
curl -X POST https://www.thermotrack-webserve.com/API/post_api.php \
-d "method=equip_data&api_key=VOTRE_CLE_API&equip_id=6128&date_start=2024-01-01&date_end=2024-01-03&format=json"
Gestion des erreurs
En cas d’erreur, l’API retourne un code HTTP standard accompagné d’un message d’erreur dans le format demandé (JSON ou XML).
| Code HTTP | Signification | Action recommandée |
|---|---|---|
200 |
Succès | Traiter la réponse normalement |
400 |
Requête mal formée (paramètre manquant ou invalide) | Vérifier les paramètres envoyés |
401 |
Clé API invalide ou absente | Vérifier votre clé API |
500 |
Erreur interne du serveur | Réessayer ou contacter le support |
Pour toute question technique : support@proges.com