
Branding personnalisable et import de données en masse
Nouvelles fonctionnalités
Vous pouvez désormais choisir le nom de vos applications dans l'IoT magic Builder
Personnalisez votre expérience utilisateur en renommant vos applications directement depuis le module branding. Vous pouvez définir le nom de l'application, le logo affiché dans l'onglet du navigateur et l'icône visible dans le portail. Une manière simple et efficace de renforcer votre identité de marque sur notre plateforme.

Import de données en masse dans la plateforme
Gagnez du temps avec notre nouvelle fonctionnalité d'import de masse de données.
2 manières de procéder possibles à votre disposition :
Via la nouvelle API d'import de masse de données
Vous pouvez désormais importer vos données en masse en utilisant des fichiers CSV ou XLSX. Que ce soit pour des mises à jour régulières ou des intégrations initiales, cette fonctionnalité facilite la gestion de vos données à grande échelle.
Via notre nouvelle interface d'import de donnée
Obtenez un template de fichier des données de votre produit, spécialement conçu pour faciliter l'intégration des données historiques en masse, grâce au bouton d'export. Téléchargez le fichier au format XLSX, remplissez-le et ré-importez-le directement dans la plateforme.

Vous pouvez sélectionner plusieurs produits simultanément pour télécharger le fichier de template, qui aura alors simplement plusieurs onglets à remplir ! Importez les données pour plusieurs produits en une seule opération. Le mapping des données réimportées se fait automatiquement par la plateforme ensuite.
Changelog
Amélioration & corrections
Connecteur générique
Certaines routes de l'API du connecteur générique, dépréciées depuis la version 3.0, sont supprimées. Les scripts et applications utilisant ces routes doivent être mis à jour avant la livraison de la version 3.3, sans quoi les appels vers les routes actuellement dépréciées ne fonctionneront plus. Les DTOs (body & réponses) sont aussi modifiées, il conviendra d'adapter les appels en fonction.
Le fichier openapi3_0.json peut être utilisé afin de visualiser les routes dépréciées et les nouvelles routes.
Spécification OpenAPI
Téléchargement
Vous pouvez télécharger la spécification complète de l'API au format OpenAPI 3.0 :
Visualisation
Voir un aperçu de la spécification OpenAPI
Cette API utilise OpenAPI 3.0.0 et comprend les contrôleurs suivants :
Endpoints disponibles :
- Streams - Gestion des flux de données (deprecated)
- Alarms - Gestion des alarmes
- Alarm Histories - Historique des alarmes
- Data Points - Points de données (recommandé)
- Variables - Statistiques des variables
- Health Check - Vérification de santé du service
Informations API :
- Titre : IoT Framework Generic Connector
- Version : 3.3.0
- Sécurité : OAuth2 (Authorization Code Flow)
Pour une utilisation complète, importez le fichier JSON dans un outil compatible OpenAPI comme Swagger Editor, Postman, ou Insomnia.
Liens utiles :
- Swagger Editor - Éditeur en ligne pour OpenAPI
- Postman - Client API avec support OpenAPI
- Insomnia - Client REST avec import OpenAPI
IoT Framework Generic Connector API
Version 3.3.0 - OAS 3.0
Cette release inclut la documentation complète de l'API IoT Framework Generic Connector.
Streams
POST /api/streams ⚠️ Deprecated
Recherche les flux de données pour un équipement donné, correspondant aux filtres.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| x-iot-corporateaccountuuid | string | header | UUID du compte entreprise (requis) |
Corps de la requête:
{
"from": "string",
"to": "string",
"timezone": "string",
"useDeviceLocalTimezone": true,
"granularity": {},
"series": [
{
"deviceUuid": "string",
"itemType": "string",
"itemIndex": "string",
"serviceId": "string",
"aggregation": {}
}
],
"paging": {
"pageNumber": 0,
"itemsPerPage": 0
},
"pagingOrder": "string"
}
Réponses:
- 201 Created
{
"from": "",
"to": "",
"timezone": "string",
"useDeviceLocalTimezone": true,
"granularity": {},
"series": [
{
"deviceUuid": "string",
"variableUuid": "string",
"itemType": "string",
"itemIndex": "string",
"serviceId": "string",
"aggregation": {},
"dataType": {},
"deviceTimeZone": "string",
"data": [
{
"at": "string",
"value": "number | string"
}
]
}
],
"paging": {
"pageNumber": 0,
"itemsPerPage": 0
},
"pagingOrder": "string"
}
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
POST /api/streams/publish ⚠️ Deprecated
Publie un tableau de données. Deprecated - Utilisez le contrôleur Data Points.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| x-iot-corporateaccountuuid | string | header | UUID du compte entreprise (requis) |
Corps de la requête:
{
"at": "string",
"deviceUuid": "string",
"data": [
{
"itemType": "string",
"itemIndex": "string",
"serviceId": "string",
"type": "string",
"at": "string",
"q": 0,
"value": 0,
"oldValue": 0,
"result": 0
}
]
}
Réponses:
- 201 Created - Données publiées avec succès
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
Data Points
POST /api/ca/{corporateAccountUuid}/devices/{deviceUuid}/datapoints
Envoie des données aux variables selon l'UUID donné.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| corporateAccountUuid | string | path | UUID du compte entreprise (requis) |
| deviceUuid | string | path | UUID de l'équipement (requis) |
Corps de la requête:
{
"dataset": [
{
"variableUuid": "string",
"data": [
{
"date": "2024-06-10T10:08:56Z",
"value": "string"
}
]
}
]
}
Réponses:
- 200 OK
{
"result": "string"
}
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
POST /api/ca/{corporateAccountUuid}/last-values-request
Recherche les dernières valeurs de plusieurs variables.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| corporateAccountUuid | string | path | UUID du compte entreprise (requis) |
Corps de la requête:
{
"timezone": "UTC",
"granularity": "raw",
"variableUuids": [],
"deviceUuids": [],
"itemType": "Global",
"itemIndex": "0",
"serviceIds": []
}
Réponses:
- 200 OK
{
"results": [
{
"deviceUuid": "string",
"variableUuid": "string",
"unit": "string",
"serviceId": "string",
"itemType": "string",
"itemIndex": "string",
"aggregation": {},
"dataType": {},
"data": [
{
"at": "string",
"value": "number | string"
}
]
}
]
}
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
POST /api/ca/{corporateAccountUuid}/datapoints-request
Recherche des points de données avec filtres et pagination.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| corporateAccountUuid | string | path | UUID du compte entreprise (requis) |
Corps de la requête:
{
"from": 0,
"to": 0,
"timezone": "UTC",
"granularity": "raw",
"paging": {
"pageNumber": 0,
"itemsPerPage": 0
},
"pagingOrder": "string",
"aggregations": ["sum"],
"variableUuids": [],
"deviceUuids": [],
"itemType": "Global",
"itemIndex": "0",
"serviceIds": []
}
Réponses:
- 200 OK - Résultats de la recherche
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
GET /api/ca/{corporateAccountUuid}/devices/{deviceUuid}/last-values ⚠️ Deprecated
Recherche les dernières valeurs pour un équipement donné.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| corporateAccountUuid | string | path | UUID du compte entreprise (requis) |
| deviceUuid | string | path | UUID de l'équipement (requis) |
| serviceIds | string | query | Liste des identifiants de service (ex: 140000,141000) |
| itemType | string | query | Type d'élément (ex: Global) |
| itemIndex | string | query | Index d'élément (ex: 0) |
| language | string | query | Langue pour les traductions de variables |
Réponses:
- 200 OK
{
"devices": [
{
"deviceUuid": "string",
"deviceTimeZone": "string",
"values": [
{
"serviceGroup": "string",
"serviceType": "string",
"value": "string",
"unit": "string",
"date": "2024-06-10T10:00:00.000Z",
"serviceId": "string",
"title": "string",
"itemType": "string",
"itemIndex": "string",
"itemName": "string",
"deviceUuid": "string",
"deviceName": "string",
"variableUuid": "string"
}
]
}
]
}
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
PUT /api/ca/{corporateAccountUuid}/last-values ⚠️ Deprecated
Recherche les dernières valeurs pour plusieurs équipements.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| corporateAccountUuid | string | path | UUID du compte entreprise (requis) |
Corps de la requête:
{
"devices": [
{
"deviceUuid": "string",
"itemType": "string",
"itemIndex": "string",
"serviceIds": ["string"]
}
],
"language": "string"
}
Réponses:
- 200 OK - Dernières valeurs récupérées
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
PUT /api/ca/{corporateAccountUuid}/datapoints ⚠️ Deprecated
Recherche les flux de données pour un équipement donné.
Paramètres:
| Nom | Type | Localisation | Description |
|---|---|---|---|
| corporateAccountUuid | string | path | UUID du compte entreprise (requis) |
Corps de la requête:
{
"from": "string",
"to": "string",
"timezone": "string",
"useDeviceLocalTimezone": true,
"granularity": {},
"series": [
{
"deviceUuid": "string",
"itemType": "string",
"itemIndex": "string",
"serviceId": "string",
"aggregation": {}
}
],
"paging": {
"pageNumber": 0,
"itemsPerPage": 0
},
"pagingOrder": "string"
}
Réponses:
- 200 OK - Flux de données récupérés
- 400 Bad Request - Paramètres invalides
- 404 Not Found - Ressources non trouvées
- 409 Conflict - Erreur lors de la requête
Tableau de correspondance des routes API
| Ancienne route | Nouvelle route à utiliser |
|---|---|
POST /api/streams | POST /api/ca/{corporateAccountUuid}/datapoints-request |
POST /api/streams/publish | POST /api/ca/{corporateAccountUuid}/devices/{deviceUuid}/datapoints |
GET /api/ca/{corporateAccountUuid}/devices/{deviceUuid}/last-values | POST /api/ca/{corporateAccountUuid}/last-values-request |
PUT /api/ca/{corporateAccountUuid}/lastvalues | POST /api/ca/{corporateAccountUuid}/last-values-request |
PUT /api/ca/{corporateAccountUuid}/datapoints | POST /api/ca/{corporateAccountUuid}/datapoints-request |
Notes importantes
Plusieurs endpoints sont marqués comme deprecated. Il est recommandé d'utiliser les nouveaux endpoints du contrôleur Data Points pour les nouvelles intégrations.
Les dates peuvent être au format ISO 8601 (2024-06-10T10:08:56Z) ou timestamp Unix (1718013336).
