Applications de type source de données : Construisez votre connecteur de données

S’abonner

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 :

  • Définir un nouveau type de source de données
  • Fournir une expérience de configuration personnalisée
  • Créer et gérer des sources de données
  • Envoyer des relevés vers la plateforme

C'est l'approche recommandée pour :

  • Intégrer un système externe
  • Construire un connecteur réutilisable
  • Industrialiser une intégration publique

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

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 :

  1. Allez dans Paramètres
  2. Ouvrez Sources de données
  3. Cliquez sur Enregistrer une nouvelle source de données
  4. 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

Interface personnalisée pour créer et modifier chaque type de source de données

 

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}/token

Cela 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

👉 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
  • Créer/met à jour/supprimer une source de données
  • Obtenir le jeton de la source de données
  • Récupérer les données contextuelles
  • Récupérer les relevés
  •  Envoyer des relevés

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 :

  1. Créer une application
  2. Installer l'application
  3. Aller dans Sources de données → Enregistrer une nouvelle source de données
  4. Sélectionner votre type de source de données
  5. Compléter l'interface de configuration
  6. Créer la source de données via l'API
  7. Récupérer le jeton
  8. Envoyer un relevé
  9. Vérifier que les données apparaissent

 

Liens connexes

Avez-vous trouvé cet article utile ?