V5 / push / header

Bonjour,

Je ne trouve pas la réponse et j’ai l’impression que les options possible sur la V5 n’autorise pas le passage d’une requête avec un header dans les push.

Pouvez-vous me le confirmer ? Merci

Bonjour,

Pouvez vous précisez ? Pas facile de répondre avec aussi peu d’info :slight_smile:

Bonjour @GCE,

Pour être précis, je voudrais utiliser l’API d’Enedis pour remonter les informations du compteur Linky sur le Dashboard de la V5.
Hors, la requête doit se faire comme suit (dans une console) :

curl -X POST https://enedisgateway.tech/api -H 'Authorization: xxxx' -H 'Content-Type: application/json' -d '{"type": "consumption_load_curve","usage_point_id": "xxxx","start": "2020-11-10","end": "2020-11-11"}'

Je ne vois pas comment reproduire le « header : Authorization » pour m’authentifier via la fonction « push » de la V5.

Merci.

Bonjour,
avec la méthode POST, il faut mettre les paramètres dans le champ body.
bonne journée

Comment les présentes t’on ? (désolé, je suis juste un bricolo…)

tu peux trouver des syntaxes avec l’outil API DECK de la V5, mais le json sera sous cette forme
{ "Authorization": "xxxx", "header 2":xxx, "header3":yyy }

EDIT : après lecture de la doc API Enedis
il semblerait que le token soit à passer dans l’URL, ce sont les autres paramètres qui sont à mettre dans le body sous forme de json

1 « J'aime »

Je n’ai pas lu cela… Peux tu partager le lien ?

Désolé, je suis… :man_facepalming: J’avais pas vu le lien…

J’ai mis cela dans le body, cela te parait bon ?
(réponse : 400 Bad Request: malformed Host header)
{ « Authorization »: « xxx »,« Content-Type: application/json »},
{« type »: « daily_consumption »,« usage_point_id »: « xxx »,« start »: « 2022-06-21 »,« end »: « 2022-06-22 »}

je vais laisser les experts GCE répondre :blush:

1 « J'aime »

Hello, je relance, j’ai un autre push qui semble ne pas fonctionner…
On m’a parlé de problème de json imbriqué…
Peut-on me montrer un exemple de ce que cela signifie ?
Merci

Bonjour,
c’est le cas lorsqu’un champ contient lui-même un json en tant que valeur.
voici un exemple où les champs « city » et « ephemerides » contiennent eux-même du json:

{
" city ":{
	" insee ":" 35238 ",
	" cp ":35000,
	" name ":" Rennes ",
	" latitude ":48.112,
	" longitude ":-1.6819,
	" altitude ":38
	},
" ephemeride ":{
	" latitude ":48.112,
	" longitude ":-1.6819,
	" insee ":" 35238 ",
	" day ":1,
	" datetime ":" 2022-02-01T00:00:00+0100 ",
	" sunrise ":" 08:32 ",
	" sunset ":" 18:07 ",
	" duration_day ":" 09:35 ",
	" diff_duration_day ":3,
	" moon_age ":29.2,
	" moon_phase ":" Nouvelle lune "
	}
}

Pour accéder à la valeur longitude par exemple, il faut d’abord parser la réponse globale (ce qui nous retourne city et ephemeride) puis parser la valeur de City.
Le parser de la V5 ne traite pas ce genre de fichier.
Une évolution future nous permettra peur-être de récupérer la valeur de city.longitude

1 « J'aime »

Bon… je suis fixé, c’est sûrement pour ça que ça ne fonctionne pas… Merci.

J’ai réussi à trouver un json simple.
@fgtoul, saurais-tu dire si cet exemple est exploitable ?

[
  {
    "serialNumber": "12215205xxxxx"
    "lastReportDate": 1656320401,
    "devType": 1,
    "lastReportWatts": 189,
    "maxReportWatts": 317
  },
  {
    "serialNumber": "12215205xxxxx",
    "lastReportDate": 1656320402,
    "devType": 1,
    "lastReportWatts": 190,
    "maxReportWatts": 315
  },
  {
    "serialNumber": "12215204xxxxx"
    "lastReportDate": 1656320398,
    "devType": 1,
    "lastReportWatts": 189,
    "maxReportWatts": 316
  },
  {
    "serialNumber": "1221520xxxxx",
    "lastReportDate": 1656320400,
    "devType": 1,
    "lastReportWatts": 189,
    "maxReportWatts": 318
  }
]

Je voudrais récupérer individuellement les « lastReportWatts » et « maxReportWatts » ?

il faudrait trouver une commande API qui ne retourne les valeurs que pour 1 SerialNumber

1 « J'aime »