Unofficial API client of GRDF
npm install grdf-api
!GitHub CI

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
* 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>
| Param | Type | Description |
| --- | --- | --- |
| token | string | Jeton d'accès obtenu avec la méthode GRDF.login(email, password) |
Example
``js`
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)
})
Kind: instance method of GRDF
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| details | boolean | true | Récupérer les détails |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
Informations les plus détaillées sur les PCE associés à l'utilisateur
Kind: instance method of GRDF
GRDF | Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
GRDF | Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| dateFinPeriode | string | Date de fin au format YYYY-MM-DD |
| nbJours | number | Nombre de jours |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
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 |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| type | ConsommationType | informatives: les plus détaillés, publiees: destinées à la facturation |Mensuel
| pceList | Array.<string> | Liste des numéros de PCE |
| frequence | Frequency | Fréquence des relevés (|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
`js
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);
})
`
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| partialPCE | | Informations à remplacer dans la description du PCE |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| frequence | Frequency | Type de seuil (Journalier|Mensuel|Annuel`) |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| seuils | Seuils | Seuils à poster |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| seuils | Seuils | Seuils à muter |
Kind: instance method of GRDF
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| id | number | Identifiant 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 |
Kind: instance method of GRDF
Kind: instance method of GRDF
| Param | Type |
| --- | --- |
| data | HistoriqueConsultationRequest |
Kind: instance method of GRDF
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| partialPCE | | L'objet PCE revendiqué |
Kind: instance method of GRDF
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant PCE |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant PCE |
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| id | number | Identifiant du formulaire |
| data | ConnaissancesClient | Données partielles à mettre à jour dans le formulaire |
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 |