Skip to content

Latest commit

 

History

History
363 lines (260 loc) · 15.6 KB

README.md

File metadata and controls

363 lines (260 loc) · 15.6 KB

grdf-api

view on npm GitHub CI npm

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.

Tip

Un wiki est disponible, celui-ci rassemble davantage d'informations sur le fonctionnement de l'API.
Ce wiki est disponible ici.

Disclaimer

Warning

  • 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

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
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

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