0.3.0 • Published 13 days ago

grdf-api v0.3.0

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
13 days ago

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.

!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

new GRDF(token)

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

ParamTypeDefaultDescription
detailsbooleantrueRécupérer les détails

grdF.getPCEAddress(pce) ⇒ Promise.<Adresse>

Adresse d'un PCE spécifique

Kind: instance method of GRDF

ParamTypeDescription
pcestringIdentifiant du PCE

grdF.getPCEDetails(pce) ⇒ Promise.<PCE>

Détails d'un PCE

Kind: instance method of GRDF

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

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

ParamTypeDescription
pcestringIdentifiant du PCE
dateFinPeriodestringDate de fin au format YYYY-MM-DD
nbJoursnumberNombre de jours

grdF.getPCEConsoRef(pce) ⇒ Promise.<Array.<ConsommationReference>>

Consommation annuelle de référence

Kind: instance method of GRDF

ParamTypeDescription
pcestringIdentifiant du PCE

grdF.getPCEConsumption(type, pceList, dateDebut, dateFin) ⇒ Promise.<Consommation>

Relevés de consommation

Kind: instance method of GRDF

ParamTypeDescription
typeConsommationTypeinformatives: les plus détaillés, publiees: destinées à la facturation
pceListArray.<string>Liste des numéros de PCE
dateDebutstringDate de début au format YYYY-MM-DD
dateFinstringDate 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

ParamTypeDescription
typeConsommationTypeinformatives: les plus détaillés, publiees: destinées à la facturation
pceListArray.<string>Liste des numéros de PCE
frequenceFrequencyFréquence des relevés (MensuelHebdomadaireJournalierHoraire)
dateDebutstringDate de début au format YYYY-MM-DD
dateFinstringDate 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

ParamTypeDescription
pcestringIdentifiant du PCE
partialPCEInformations à remplacer dans la description du PCE

grdF.getPCESeuils(pce, frequence) ⇒ Promise.<Seuils>

Liste des seuils programmés

Kind: instance method of GRDF

ParamTypeDescription
pcestringIdentifiant du PCE
frequenceFrequencyType de seuil (JournalierMensuelAnnuel)

grdF.postPCESeuils(pce, seuils) ⇒ Promise.<SeuilsCreated>

Remplacer les seuils

Kind: instance method of GRDF

ParamTypeDescription
pcestringIdentifiant du PCE
seuilsSeuilsSeuils à poster

grdF.putPCESeuils(pce, seuils) ⇒ Promise.<Seuils>

Modifier un seuil (préciser les identifiants)

Kind: instance method of GRDF

ParamTypeDescription
pcestringIdentifiant du PCE
seuilsSeuilsSeuils à 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

ParamTypeDescription
idnumberIdentifiant de l'utilisateur

grdF.putUserDetails(id, userInfoDetails) ⇒ Promise.<UserInfo>

Mise à jour du profil de l'utilisateur

Kind: instance method of GRDF

ParamTypeDescription
idnumberIdentifiant de l'utilisateur
userInfoDetailsUserInfoDetailsLes 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

ParamType
dataHistoriqueConsultationRequest

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

ParamTypeDescription
pcestringIdentifiant du PCE
partialPCEL'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

ParamTypeDescription
pcestringIdentifiant PCE

grdF.getConnaissancesClient(pce) ⇒ Promise.<ConnaissancesClient>

Informations sur le client (type de logement, surface, mode de chauffage, etc.)

Kind: instance method of GRDF

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

ParamTypeDescription
idnumberIdentifiant du formulaire
dataConnaissancesClientDonné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

ParamTypeDescription
emailstringCourriel de connexion de l'utilisateur
passwordstringMot de passe
0.3.0

13 days ago

0.2.1

14 days ago

0.2.0

20 days ago

0.1.0

2 years ago

0.1.1

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago