Aperçu
Une application de type source de données vous permet de créer votre propre connecteur de données au sein de la plateforme.
|
Avec ce type d'application, vous pouvez :
|
C'est l'approche recommandée pour :
|
Si vous souhaitez simplement envoyer des données via API vers une source de données déjà existante et/ou sans interface personnalisée, vous pouvez simplement suivre les instructions de l'API d'insertion.
Contenu
- Avant de commencer
- Qu'est-ce qu'une application de type source de données ?
- Comment ça fonctionne (de bout en bout)
- Responsabilités de l'API
- Règle architecturale critique
- Directives sur la charge utile et les performances
- Problèmes courants
- Bonnes pratiques UI
- Branding et distribution
- Démarrage rapide
-
Avant de commencer
Vous devez :
- Avoir créé une application (voir : API de développement : Créez et gérez votre application)
- Disposer d'une infrastructure backend (serveur API)
- Pouvoir exposer des points de terminaison HTTPS publics
- Astuce PRO : demandez au support un squelette d'application qui vous aidera à avancer plus rapidement
Qu'est-ce qu'une application de type source de données ?
Une application de type source de données est une application qui :
- Définit un type de source de données
- Permet aux utilisateurs de créer des sources de données via votre interface utilisateur
- Envoie des données vers ces sources de données
Comment ça fonctionne (de bout en bout)
1. L'application est installée
- L'application est installée dans un compte
- Votre backend reçoit un jeton permanent
- Vous utilisez ce jeton pour appeler l'API v3
(pour plus de détails voir : API de développement : Créez et gérez votre application)
2. Le type de source de données devient disponible
Après l'installation :
- Allez dans Paramètres
- Ouvrez Sources de données
- Cliquez sur Enregistrer une nouvelle source de données
- Votre type de source de données apparaît dans la liste sous la section des sources de données externes
3. L'utilisateur crée une source de données
Lorsque l'utilisateur sélectionne votre type de source de données, la plateforme charge votre interface utilisateur :
GET /datasources/new
4. Votre application gère la configuration
Votre interface utilisateur doit :
- Demander la configuration (identifiants, IDs, etc.)
- Valider les entrées
- Envoyer les données à votre backend
5. Votre backend crée la source de données
Vous devez appeler l'API v3 :
POST https://api.dexcell.com/v3/datasources
Exemple :
curl --location 'https://api.dexcell.com/v3/datasources' \
--header 'x-dexcell-token: <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Ma Source de Données",
"key": "cle-unique-123",
"timezone": "Europe/Madrid",
"type": "VIRTUAL",
"status": "CONNECTED"
}'
👉 Référence complète : https://developers.dexma.com/#75913267-89ad-422f-bce2-fbf606353196
6. Stocker localement les données de la source de données
Votre backend doit stocker :
- l'id de la source de données
- la clé de la source de données
- la configuration de la source de données
- le mapping avec votre système externe
7. Récupérer le jeton d'insertion
Après la création de la source de données :
GET https://api.dexcell.com/v3/datasources/{id}/tokenCela retourne le jeton nécessaire pour envoyer des relevés.
👉 Référence complète : https://developers.dexma.com/#18c8716c-e3fe-4d09-82a9-ebd4c17096cb
8. Envoyer des relevés (API d'insertion)
C'est le flux de données principal.
POST https://insert.dexma.com/readings?source_key=<DATASOURCE_KEY>
En-têtes :
x-dexcell-source-token: <DATASOURCE_TOKEN>
Content-Type: application/json
Exemple de requête
curl -X POST "https://insert.dexma.com/readings?source_key=<KEY>" \
-H "x-dexcell-source-token: <TOKEN>" \
-H "Content-Type: application/json" \
-d '[
{
"did": "device-1",
"sqn": 1,
"ts": "2026-01-01T00:00:00+01:00",
"values": [
{ "p": 402, "v": 1250.0 }
]
}
]'
Comment fonctionne l'insertion
- pour définir "p" voir Introduction aux Paramètres et liste des id de paramètres & opérations & résolutions
- Les requêtes sont asynchrones
- HTTP 200 OK signifie acceptée, pas encore totalement traitée
- Les données apparaissent plus tard dans la plateforme
👉 Référence complète : Utiliser l'API d'insertion pour introduire des données dans une passerelle
9. Modifier une source de données
Lorsqu'un utilisateur ouvre une source de données :
GET /datasources/{id}Votre application doit :
- Charger la configuration actuelle
- Permettre les modifications
- Envoyer les mises à jour au backend
Appel backend :
PUT https://api.dexcell.com/v3/datasources/{id}
10. Supprimer une source de données
Lorsqu'une source de données est supprimée :
DELETE /datasources/{id}Votre backend doit :
- Supprimer les mappings internes
- Optionnellement appeler l'API v3 :
DELETE https://api.dexcell.com/v3/datasources/{id}Retour :
HTTP 2xx
Si vous retournez une erreur, la suppression est annulée.
Responsabilités de l'API
API v3 |
API d'insertion |
|
| Utilisée pour |
|
|
| Documentation | https://developers.dexma.com | Utiliser l'API d'insertion pour introduire des données dans une passerelle |
| Authentification | x-dexcell-token | datasource-token |
Règle architecturale critique
Ne pas appeler l'API v3 avant chaque insertion.
Au lieu de cela :
- Stockez l'état de la source de données localement
- Gardez-le à jour lors des changements
- Utilisez directement l'API d'insertion
Pourquoi c'est important
Si vous ne suivez pas cela :
- Vous risquez d'atteindre les limites de l'API
- Les performances se dégraderont
- L'intégration peut échouer à grande échelle
Directives sur la charge utile et les performances
- Recommandé : ~1 000 relevés par requête
- Maximum : ~5 000 relevés
- Concurrence maximale : ~8 requêtes
- Utilisez le regroupement (batching) lorsque c'est possible
Problèmes courants
Erreur d'insertion
- jeton de source de données incorrect
- clé de source de données incorrecte
- combinaison de paramètres invalide (paramètre de base + résolution + paramètre)
- format de timestamp incorrect
Insertion réussie mais pas de données
Les données sont insérées avec OK, mais ne sont pas visualisées dans la source de données
Les données ne peuvent pas être vues dans la source de données dans les relevés supprimés ou les derniers relevés. Cela peut être dû à :
- timestamp invalide pour la combinaison de paramètres : les données d'intervalle temporel doivent être insérées au début de la période en tenant compte de la résolution choisie.
- combinaison de paramètres invalide (paramètre de base + résolution + paramètre)
- appareil rejeté
Les données sont insérées avec OK, mais ne sont pas visualisées dans les analyses
Les données peuvent être vues dans la source de données dans les relevés supprimés ou derniers relevés, mais pas dans les analyses. Vérifiez que :
- l'appareil et le paramètre sont acceptés
- l'appareil est assigné à un emplacement
- vous visualisez les données avec le bon appareil, paramètre, résolution, opération et période temporelle
Bonnes pratiques UI
Votre interface utilisateur doit :
- Être simple et guidée
- Expliquer clairement les entrées requises
- Valider tôt
- Éviter d'exposer la complexité technique
Branding et distribution
Vous pouvez :
- Ajouter votre logo
- Contrôler l'interface utilisateur
- Définir le flux de configuration
Options de visibilité
- Privé → uniquement votre organisation
- Public → disponible pour tous les utilisateurs (nécessite une approbation)
Démarrage rapide
Créez votre premier connecteur :
- Créer une application
- Installer l'application
- Aller dans Sources de données → Enregistrer une nouvelle source de données
- Sélectionner votre type de source de données
- Compléter l'interface de configuration
- Créer la source de données via l'API
- Récupérer le jeton
- Envoyer un relevé
- Vérifier que les données apparaissent