grdf-api
v0.3.0
Published
Unofficial API client of GRDF
Downloads
13
Readme
grdf-api
Support non-officiel de l'API GRDF.
Ce module permet de gérer et récupérer la consommation des compteurs communicants Gazpar en utilisant l'API du site de GRDF. Leur site internet étant en perpétuelle mutation, ce module devra être mis à jour régulièrement.
[!WARNING]
Disclaimer
- Il est clairement mentionné que cette librairie n'est pas officiellement éditée par GRDF.
- Ce module n'est pas une contrefaçon car il n'existe pas de module similaire édité officiellement.
- Les utilisateurs ne peuvent accéder qu'à leurs propres données. Ils sont soumis au même processus d'authentification que celui implémenté dans l'espace client GRDF et imposé par le serveur API.
- Les données des utilisateurs ne sont pas davantage exposées puisqu'un utilisateur ne peut accéder qu'à ses propres données. Personne n'a le contrôle sur cette limitation qui est inhérente au fonctionnement de l'API des serveurs de GRDF.
- Cette librairie ne se suffit pas à elle-même pour fonctionner. Il est nécessaire de l'importer dans un projet et l'utilisateur est le seul responsable de son code et des éventuelles conséquences.
- Tout utilisateur de cette librairie a a priori lu et approuvé l'entièreté du fichier de licence GPLv3 disponible publiquement LICENSE ainsi que de ce présent fichier de présentation.
- Tout utilisateur de cette librairie a a priori lu et compris l'entièreté du code de ce projet avant toute utilisation.
- L'auteur de ce projet n'agit pas en tant qu'intermédiaire de traitement des données au sens du RGPD. Les utilisateurs sont responsables de leur propre conformité au RGPD lors de l'utilisation de cette librairie. Ils doivent s'assurer que leur utilisation de cette librairie est conforme aux exigences du RGPD et de toute autre législation applicable en matière de protection des données.
- Eu égard l'ensemble de ces remarques, les contributeurs et a fortiori l'auteur du projet ne peuvent être tenus responsables de tout dommage potentiel.
GRDF
Kind: global class
- GRDF
- new GRDF(token)
- instance
- .getPCEList(details) ⇒ Promise.<Array.<PCE>>
- .getPCEAddress(pce) ⇒ Promise.<Adresse>
- .getPCEDetails(pce) ⇒ Promise.<PCE>
- ~~.getPCEDetailsPlus() ⇒ Promise.<Array.<PCE>>~~
- .getPCECoefficient(pce) ⇒ Promise.<PCECoefficient>
- .getPCEMeteo(pce, dateFinPeriode, nbJours) ⇒
- .getPCEConsoRef(pce) ⇒ Promise.<Array.<ConsommationReference>>
- .getPCEConsumption(type, pceList, dateDebut, dateFin) ⇒ Promise.<Consommation>
- .getConsumptionSheet(type, pceList, frequence, dateDebut, dateFin) ⇒ Promise.<stream>
- .putPCE(pce, partialPCE) ⇒ Promise.<PCE>
- .getPCESeuils(pce, frequence) ⇒ Promise.<Seuils>
- .postPCESeuils(pce, seuils) ⇒ Promise.<SeuilsCreated>
- .putPCESeuils(pce, seuils) ⇒ Promise.<Seuils>
- .getUserInfo() ⇒ Promise.<UserInfo>
- .getUserDetails(id) ⇒ Promise.<UserInfo>
- .putUserDetails(id, userInfoDetails) ⇒ Promise.<UserInfo>
- .getConsultationHistory() ⇒ Promise.<Array.<HistoriqueConsultation>>
- .putConsultationHistory(data)
- .getUserAccreditation() ⇒ Promise.<Array.<Accreditation>>
- .putUserAccreditation(pce, partialPCE) ⇒ Promise.<PCE>
- .getInfoLogements() ⇒ Promise.<Array.<InfoLogement>>
- .getInfoLogementPCE(pce) ⇒ Promise.<InfoLogement>
- .getConnaissancesClient(pce) ⇒ Promise.<ConnaissancesClient>
- .patchConnaissancesClient(id, data) ⇒ Promise.<ConnaissancesClient>
- static
- .login(email, password) ⇒ Promise.<string>
new GRDF(token)
| Param | Type | Description |
| --- | --- | --- |
| token | string | Jeton d'accès obtenu avec la méthode GRDF.login(email, password)
|
Example
const { GRDF, ConsommationType } = require('grdf-api')
const pce = '01234567890123'
GRDF.login('email', 'password').then(async token => {
const user = new GRDF(token)
const consommation = await user.getPCEConsumption(ConsommationType.informatives, [pce], '2021-09-01', '2021-12-01')
console.log(consommation[pce].releves)
})
grdF.getPCEList(details) ⇒ Promise.<Array.<PCE>>
Liste des PCE associés à l'utilisateur
Kind: instance method of GRDF
| Param | Type | Default | Description | | --- | --- | --- | --- | | details | boolean | true | Récupérer les détails |
grdF.getPCEAddress(pce) ⇒ Promise.<Adresse>
Adresse d'un PCE spécifique
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |
grdF.getPCEDetails(pce) ⇒ Promise.<PCE>
Détails d'un PCE
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |
~~grdF.getPCEDetailsPlus() ⇒ Promise.<Array.<PCE>>~~
Deprecated
Informations les plus détaillées sur les PCE associés à l'utilisateur
Kind: instance method of GRDF
grdF.getPCECoefficient(pce) ⇒ Promise.<PCECoefficient>
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |
grdF.getPCEMeteo(pce, dateFinPeriode, nbJours) ⇒
Kind: instance method of GRDF
Returns: Objet dont les clés sont les dates et les valeurs sont les températures associées
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | dateFinPeriode | string | Date de fin au format YYYY-MM-DD | | nbJours | number | Nombre de jours |
grdF.getPCEConsoRef(pce) ⇒ Promise.<Array.<ConsommationReference>>
Consommation annuelle de référence
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE |
grdF.getPCEConsumption(type, pceList, dateDebut, dateFin) ⇒ Promise.<Consommation>
Relevés de consommation
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | type | ConsommationType | informatives: les plus détaillés, publiees: destinées à la facturation | | pceList | Array.<string> | Liste des numéros de PCE | | dateDebut | string | Date de début au format YYYY-MM-DD | | dateFin | string | Date de fin au format YYYY-MM-DD |
grdF.getConsumptionSheet(type, pceList, frequence, dateDebut, dateFin) ⇒ Promise.<stream>
Stream d'une feuille de calcul déjà formatée contenant les relevés
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| type | ConsommationType | informatives
: les plus détaillés, publiees
: destinées à la facturation |
| pceList | Array.<string> | Liste des numéros de PCE |
| frequence | Frequency | Fréquence des relevés (Mensuel
|Hebdomadaire
|Journalier
|Horaire
) |
| dateDebut | string | Date de début au format YYYY-MM-DD |
| dateFin | string | Date de fin au format YYYY-MM-DD |
Example
const { GRDF, ConsommationType, Frequency } = require('grdf-api');
const fs = require('fs');
const pce = '01234567890123';
GRDF.login('email', 'password').then(async token => {
const user = new GRDF(token);
const stream = fs.createWriteStream('./sheet.xlsx');
(await user.getConsumptionSheet(ConsommationType.informatives, [pce], Frequency.WEEKLY, '2022-06-01', '2022-10-10')).pipe(stream);
})
grdF.putPCE(pce, partialPCE) ⇒ Promise.<PCE>
Effectuer des changements sur le PCE (changement de l'alias par exemple)
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | partialPCE | | Informations à remplacer dans la description du PCE |
grdF.getPCESeuils(pce, frequence) ⇒ Promise.<Seuils>
Liste des seuils programmés
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| frequence | Frequency | Type de seuil (Journalier
|Mensuel
|Annuel
) |
grdF.postPCESeuils(pce, seuils) ⇒ Promise.<SeuilsCreated>
Remplacer les seuils
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | seuils | Seuils | Seuils à poster |
grdF.putPCESeuils(pce, seuils) ⇒ Promise.<Seuils>
Modifier un seuil (préciser les identifiants)
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | seuils | Seuils | Seuils à muter |
grdF.getUserInfo() ⇒ Promise.<UserInfo>
Informations générales sur l'utilisateur connecté
Kind: instance method of GRDF
grdF.getUserDetails(id) ⇒ Promise.<UserInfo>
Détails sur un utilisateur
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | id | number | Identifiant de l'utilisateur |
grdF.putUserDetails(id, userInfoDetails) ⇒ Promise.<UserInfo>
Mise à jour du profil de l'utilisateur
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | id | number | Identifiant de l'utilisateur | | userInfoDetails | UserInfoDetails | Les informations de l'utilisateur à modifier |
grdF.getConsultationHistory() ⇒ Promise.<Array.<HistoriqueConsultation>>
Historique de consultation des informations des PCE
Kind: instance method of GRDF
grdF.putConsultationHistory(data)
Mise à jour de la date de dernière consultation du PCE
Kind: instance method of GRDF
| Param | Type | | --- | --- | | data | HistoriqueConsultationRequest |
grdF.getUserAccreditation() ⇒ Promise.<Array.<Accreditation>>
Liste des accreditations demandées
Kind: instance method of GRDF
grdF.putUserAccreditation(pce, partialPCE) ⇒ Promise.<PCE>
Mise à jour de l'accréditation (changement de l'alias par exemple)
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant du PCE | | partialPCE | | L'objet PCE revendiqué |
grdF.getInfoLogements() ⇒ Promise.<Array.<InfoLogement>>
Informations sur le logement
Kind: instance method of GRDF
grdF.getInfoLogementPCE(pce) ⇒ Promise.<InfoLogement>
Informations sur le logement d'un PCE
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant PCE |
grdF.getConnaissancesClient(pce) ⇒ Promise.<ConnaissancesClient>
Informations sur le client (type de logement, surface, mode de chauffage, etc.)
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | pce | string | Identifiant PCE |
grdF.patchConnaissancesClient(id, data) ⇒ Promise.<ConnaissancesClient>
Mettre à jour le formulaire de connaissances client (type de logement, surface, mode de chauffage, etc.)
Kind: instance method of GRDF
| Param | Type | Description | | --- | --- | --- | | id | number | Identifiant du formulaire | | data | ConnaissancesClient | Données partielles à mettre à jour dans le formulaire |
GRDF.login(email, password) ⇒ Promise.<string>
Obtention d'un jeton d'accès auprès de l'API
Attention: ne JAMAIS transmettre ce jeton à un tier, il vous est strictement personnel !
Kind: static method of GRDF
Returns: Promise.<string> - Le jeton d'accès
| Param | Type | Description | | --- | --- | --- | | email | string | Courriel de connexion de l'utilisateur | | password | string | Mot de passe |