Release Notes
L'extraction de tarifs de facture a ses propres versions. Elle partageait jusqu'ici celles de l'API Switchgrid, ce qui voulait dire deux choses désagréables : sa forme ne pouvait bouger qu'au rythme d'une API qui ne parle pas des factures, et un changement ici forçait une version sur des endpoints qui n'avaient pas changé. Les deux produits avancent maintenant chacun à son rythme.
Comment lire ces versions
La version se choisit avec l'en-tête x-api-version sur POST https://api.switchgrid.tech/extraction-tarifs-facture. Absent, il vaut v0 : un appel qui ne dit rien reçoit ce qu'il recevait hier. Les deux orthographes valent (v0.1 comme 0.1). Envoyez-le toujours : un exemple recopié sans l'en-tête reçoit la v0.
Une version fige une FORME, pas une VALEUR. Les champs qu'une version publie, leurs noms et leurs types ne changent plus une fois la version publiée. Ce que nous lisons sur une facture, en revanche, continue de s'améliorer : la même facture peut renvoyer un prix plus juste demain, sur toutes les versions à la fois. C'est voulu — une version figée serait une version qui garde ses erreurs de lecture.
En pratique : 0.1432 là où nous publiions 0.1356 trois jours plus tôt sur la même facture, parce que nous avions appris à compter l'option « électricité verte ». Le champ n'a pas bougé, sa valeur s'est corrigée.
Versions publiées
| Version | Ce qu'elle publie |
|---|---|
0.1 | prix_HT décompose le prix en plusieurs composantes ; tous les champs sont en français ; le TURPE fixe imprimé à part est compté dans l'abonnement ; une facture peut s'envoyer en une image par page. |
0 | prix_HT publie un prix par période, sans le décomposer. La forme servie depuis l'ouverture. |
0.1
Une facture s'envoie en photos, une image par page. Répétez le champ
filedans l'ordre des pages (-F file=@page-1.jpg -F file=@page-2.jpg) : les images, PNG, JPEG, WebP ou HEIC, sont assemblées en un seul document et lues comme une facture scannée, 20 pages au plus. Voir le guide.Les photos HEIC sont acceptées (le format des photos d'iPhone), seules ou une par page.
prix_HTdécompose le prix en plusieurs composantes. Chaque prix est accompagné de sesparts— un montant et les composantes qu'il couvre. Un prix au kWh se décompose enfourniture,acheminement.soutirage_variable,capacite,cee,garanties_origineetaide; un abonnement enfourniture,acheminement.gestion,acheminement.comptageetacheminement.soutirage_fixe. Une facture à prix tout compris a une seule part portant toutes ses composantes, là où l'ancienne forme sortaitcee: null, qui se lisait « pas de CEE ». Le prix est la somme de ses parts (aideexceptée, c'est un crédit), et le drapeaudecompositiondisparaît.Le TURPE fixe rejoint l'abonnement. Les composantes fixes que certaines factures impriment sur leurs propres lignes sont converties en €/mois, une part par ligne imprimée, et comptées dans
abonnement[].prix_EUR_par_mois(seule la ligne échue est retenue, voir le guide).prix_TTC.part_fixeles ajoute aussi, au lieu de sous-évaluer de plusieurs centaines d'euros par mois le prix tout compris d'un site professionnel.L'option « électricité verte » est publiée comme composante
garanties_originequand elle est facturée au kWh. Elle était ignorée, alors que la facture la compte : letotalétait inférieur de jusqu'à 5,6 % à ce que paie le client. Corrigé y compris en v0 — une version fige une forme, pas une valeur.L'option « électricité verte » au forfait rejoint l'abonnement, comme part
garanties_origine: un abonnement se décompose désormais aussi engaranties_origine. Elle était ignorée : sur une facture ENGIE pro, l'abonnement publié était inférieur de 92,75 €/mois à ce que paie le client. Une offre qui inclut l'option (« Elec Verte » chez ENGIE) le dit par une part["fourniture", "garanties_origine"]. Le total est corrigé y compris en v0.Tous les champs sont en français, jusqu'aux valeurs de
statut:createdAt→cree_le,deliveryPointId→point_de_livraison,supplier→fournisseur,PENDING→EN_COURS… C'est tout l'objet de cette version ; la v0 garde ses noms.Une puissance illisible se lit d'un coup d'œil :
puissance_souscritevaut directement"Indisponible"au lieu de{ "_tag": "constant", "puissance_souscrite_kVA": "Indisponible" }. La formeperiodesne change pas, même toute en sentinelles : elle dit que la puissance a changé en cours de facture.
Changements non rétrocompatibles, en v0.1 seulement : les noms de champs, puissance_souscrite replié, et prix_HT.acheminement_fixe[] supprimé (la v0 ne l'a jamais publié). Envoyez x-api-version: v0.1 pour recevoir cette forme.
0
La forme d'ouverture : prix_HT.abonnement[].prix_EUR_par_mois et prix_HT.consommation[].prix_EUR_par_kWh portent un prix, et rien d'autre. Elle reste servie telle quelle — une version ne se corrige pas, elle se remplace.