Wofür wird die Pricing API verwendet?
Über die Pricing API erhält der EMP Informationen über die an den einzelnen Ladestationsanschlüssen verwendeten Tarife. Die API ist mit einem Token gesichert, welchen Sie in be.ENERGISED unter Einstellungen/Systemeinstellungen/API-Einstellungen auslesen können.
Bitte beachten Sie, dass die API eine kostenpflichtige Lizenz erfordert. |
Der Token muss bei jeder Anfrage als Header x-api-token übergeben werden.
Voraussetzungen, um die Pricing API zu nutzen
- Sie haben ein API-Token im be.ENERGISED-Backend erstellt.
- Sie können Ladestationen in Ihrem Backend sehen (entweder Roaming-Stationen oder Ihre eigenen Stationen).
- Sie haben einen Tarif konfiguriert, der mindestens einem Identifikationsmedium zugewiesen ist.
Beispielhafter curl-Request:
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/?evseId=AT*HTB*E00008&tag_id=123456ABC' \ --header 'x-api-token: your_token'
Endpunkte
Die API bietet mehrere Endpunkte, um die Daten entweder für eine bestimmte EVSE-ID, eine Liste von EVSE-IDs oder eine vollständige Abfrage zu erhalten.
api/pricing - einzelne EVSE-ID
Dieser Endpunkt erstellt eine Preisstruktur für eine Kombination von EVSE-ID und Identifikationsmedien. Der Endpunkt akzeptiert die folgenden Parameter.
Parameter | Erforderlich | Beschreibung |
evseId | Ja | Für die Berechnung der stepCosts gilt: Angabe der EVSE-ID aus "eMI3". z.B. BE-BEC-E041503001". |
tag_id, emaid, authendicationUuid | Ja | Tag-ID, EMAID oder UUID der Karte/des Tokens - nur eine dieser drei kann auf einmal verwendet werden. |
consumption | Nein | Verbrauch in Wh, der für die Berechnung verwendet wird. Bleibt der Wert leer, wird keine Berechnung durchgeführt. |
duration, duration_in_minutes | Nein | Gesamtdauer in Sekunden oder Minuten. Bleibt der Eintrag leer, wird keine Berechnung durchgeführt. |
currency | Nein | Gewünschte Währung. Bleibt dieses Feld leer, werden die Standardeinstellungen verwendet. |
include_tax | Nein | Enthält die Steuer, die für diesen Kostensatz verwendet wird (das Steuerfeld ist nicht vorhanden, wenn es nicht auf true gesetzt ist). |
Beispielhafter Request für einzelne EVSE-ID
Parameter | Wert | Beschreibung |
---|---|---|
evseId | DE*EEE*E000001 | |
tag_id | SOMETHING | |
consumption | 90000 | in Wh (90 kWh) |
duration | 1000 | Wert in Sekunden |
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/?evseId=DE*EEE*E000001&tag_id=SOMETHING&consumption=90000&duration=1000' \ --header 'x-api-token: your_token'
Response
{ "rateName": "Standard-Verkaufstarif eMSP", "costId": 2206, "currency": "EUR", "localCurrency": "EUR", "costTotalLocalCurrency": 36, "currencyConversionRate": 1, "costTotal": 36, "costTime": 0, "costPower": 36, "priceStructure": { "energy": { "unit": "Wh", "elements": [ { "intervalChange": 100, "stepCosts": 0, "intervalCosts": 0 }, { "intervalChange": 101, "stepCosts": 0.0404, "intervalCosts": 40.4 }, { "intervalChange": 102, "stepCosts": 0.0004, "intervalCosts": 0.4 }, { "intervalChange": 100000, "stepCosts": 35.9592, "intervalCosts": 0.4 } ] }, "time": { "unit": "min", "elements": [] } } }
Beispielhafter Request für einzelne EVSE-ID mit gewünschter Währung
Parameter | Wert | Beschreibung |
---|---|---|
evseId | CH*CHI*E00193 | |
tag_id | SOMETHING | |
consumption | 80000 | in Wh (80 kWh) |
duration | 1 | Wert in Sekunden |
currency | CHF | Währung gemäß ISO Standard |
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/?evseId=CH*CHI*E00193&tag_id=SOMETHING&consumption=80000&duration=1¤cy=CHF' \ --header 'x-api-token: your_token'
Response
{ "rateName": "Standard-Verkaufstarif eMSP", "costId": 2020, "currency": "CHF", "localCurrency": "EUR", "costTotalLocalCurrency": 48.863, "currencyConversionRate": 1.0642, "costTotal": 52, "costTime": 0, "costPower": 52, "priceStructure": { "energy": { "unit": "Wh", "elements": [ { "intervalChange": 100, "stepCosts": 0, "intervalCosts": 0 }, { "intervalChange": 101, "stepCosts": 0.06565, "intervalCosts": 65.65 }, { "intervalChange": 102, "stepCosts": 51.93435, "intervalCosts": 0.65 } ] }, "time": { "unit": "min", "elements": [] } } }
Beispielhafter Request für einzelne EVSE-ID mit Steuer
Parameter | Wert | Beschreibung |
evseId | CH*CHI*E00193 | |
tag_id | SOMETHING | |
include_tax | Steuer der Preisstruktur hinzufügen |
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/?evseId=CH*CHI*E00193&tag_id=SOMETHING&include_tax' \ --header 'x-api-token: your_token'
Response
{ "rateName": "Standard-Verkaufstarif eMSP", "costId": 2020, "currency": "CHF", "localCurrency": "EUR", "costTotalLocalCurrency": 48.863, "currencyConversionRate": 1.0642, "costTotal": 52, "costTime": 0, "costPower": 52, "priceStructure": { "energy": { "unit": "Wh", "elements": [ { "intervalChange": 100, "stepCosts": 0, "intervalCosts": 0 }, { "intervalChange": 101, "stepCosts": 0.06565, "intervalCosts": 65.65 }, { "intervalChange": 102, "stepCosts": 51.93435, "intervalCosts": 0.65 } ], "tax": 1.87 }, "time": { "unit": "min", "elements": [], "tax": 1.24 } } }
api/batch - mehrere EVSE-IDs
Dieser Endpunkt erstellt eine Preisstruktur für eine Liste gegebener EVSE-IDs.
Parameter | Erforderlich | Beschreibung |
evseIds | Ja | Für die Berechnung der stepCosts gilt: Angabe der EVSE-ID aus "eMI3". z.B. BE-BEC-E041503001". |
tag_id, emaid, authendicationUuid | Ja | Tag-ID, EMAID oder UUID der Karte/des Tokens - nur eine dieser drei kann auf einmal verwendet werden. |
consumption | Nein | Verbrauch in Wh, der für die Berechnung verwendet wird. Bleibt der Wert leer, wird keine Berechnung durchgeführt. |
duration, duration_in_minutes | Nein | Gesamtdauer in Sekunden oder Minuten. Bleibt der Eintrag leer, wird keine Berechnung durchgeführt. |
currency | Nein | Gewünschte Währung. Bleibt dieses Feld leer, werden die Standardeinstellungen verwendet. |
Beispielhafter Request für mehrere EVSE-IDs (Batch)
Parameter | Wert | Beschreibung |
evseIds | CH*AAA*E00001,AT*AAA*E00001 | EVSE-IDs getrennt durch Komma |
tag_id | SOMETHING |
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/batch?evseIds=CH*AAA*E00001,AT*AAA*E00001tag_id=SOMETHING' \ --header 'x-api-token: your_token'
Response
{ "CH*AAA*E00001": { "rateName": "xxx Tariff", "costId": 1234, "currency": "EUR", "localCurrency": "EUR", "costTotalLocalCurrency": null, "currencyConversionRate": 1, "costTotal": null, "costTime": null, "costPower": null, "priceStructure": { "energy": { "unit": "Wh", "elements": [ { "intervalChange": 100, "intervalCosts": 0, "stepCosts": null }, { "intervalChange": 101, "intervalCosts": 60.6, "stepCosts": null }, { "intervalChange": 102, "intervalCosts": 0.6, "stepCosts": null } ] }, "time": { "unit": "min", "elements": [] } } }, "AT*AAA*E00001": { "rateName": "xxx Tariff", "costId": 1234, "currency": "EUR", "localCurrency": "EUR", "costTotalLocalCurrency": null, "currencyConversionRate": 1, "costTotal": null, "costTime": null, "costPower": null, "priceStructure": { "energy": { "unit": "Wh", "elements": [ { "intervalChange": 100, "intervalCosts": 0, "stepCosts": null }, { "intervalChange": 101, "intervalCosts": 60.6, "stepCosts": null }, { "intervalChange": 102, "intervalCosts": 0.6, "stepCosts": null } ] }, "time": { "unit": "min", "elements": [] } } } }
api/all_paged - paginierte Liste der Preise pro EVSE-ID
Dieser Endpunkt ermöglicht es dem Benutzer der API alle EVSE-IDs und deren Tarifzuordnungen zu erhalten, die für den angegebenen Klienten erreichbar sind. Die Paginierung erfolgt cursorbasiert, der aus der Antwort erhaltene Cursor kann verwendet werden, um die nächste Seite zu erhalten.
Parameter | Erforderlich | Beschreibung |
cursor | Ja | Eindeutige Kennung für einen bestimmten Datensatz, Anfang für die nächste Seite, erster Cursor ist gleich start. Wenn nicht auf der ersten Seite, wird der letzte empfangene Cursor verwendet. |
limit | Ja | Festlegen der maximalen Seitenanzahl. |
tag_id, emaid, authendicationUuid | Ja | Tag-ID, EMAID oder UUID der Karte/des Tokens - nur eine dieser drei kann auf einmal verwendet werden. |
Beispielhafter "paginated" Request
Parameter | Wert | Beschreibung |
tag_id | SOMETHING | |
limit | 100 | 100 entries will be returned |
cursor | start | initial cursor value |
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/all_paged?tag_id=SOMETHING&limit=100&cursor=start' \ --header 'x-api-token: your_token'
Response
{ "pagination": { "nextCursorId": "80afa4ff-a4c4-4a36-972b-c3bd70120de2", "isLastPage": false }, "data": { "CH*AAA*E00001": { "rateName": "xxx Tariff", "costId": 1234, "currency": "EUR", "localCurrency": "EUR", "costTotalLocalCurrency": null, "currencyConversionRate": 1, "costTotal": null, "costTime": null, "costPower": null, "priceStructure": { "energy": { "unit": "Wh", "elements": [ { "intervalChange": 100, "intervalCosts": 0, "stepCosts": null }, { "intervalChange": 101, "intervalCosts": 60.6, "stepCosts": null }, { "intervalChange": 102, "intervalCosts": 0.6, "stepCosts": null } ] }, "time": { "unit": "min", "elements": [] } } } } }
Die nächste Seite sollte abgerufen werden mit:
curl --location --request GET 'https://yourinstancename.beenergised.cloud/api/pricing/all_paged?tag_id=SOMETHING&limit=100&cursor=80afa4ff-a4c4-4a36-972b-c3bd70120de2' \ --header 'x-api-token: your_token'
Version: 2022-10-14 05:23:57 UTC