Class EtaPlusApiClient

java.lang.Object
energy.eddie.regionconnector.de.eta.client.EtaPlusApiClient

@Component public class EtaPlusApiClient extends Object
Client for the ETA Plus API. This client is responsible for fetching validated historical data from the German ETA Plus system.
  • Constructor Details

    • EtaPlusApiClient

      public EtaPlusApiClient(org.springframework.web.reactive.function.client.WebClient webClient, DeEtaPlusConfiguration configuration)
  • Method Details

    • fetchMeteredData

      public reactor.core.publisher.Mono<EtaPlusMeteredData> fetchMeteredData(DePermissionRequest permissionRequest, String accessToken)
      Fetch validated historical metered data for a permission request.
      Parameters:
      permissionRequest - the permission request containing connection details
      Returns:
      a Mono emitting the metered data or an error
    • fetchAccountingPointData

      public reactor.core.publisher.Mono<EtaPlusAccountingPointData> fetchAccountingPointData(DePermissionRequest permissionRequest, String accessToken)
      Fetch accounting point master data for a permission request. Single-shot fetch — caller is responsible for retry / state transitions on failure. Error envelope bodies (4xx/5xx) are not parsed; status code drives the mapping.
      Parameters:
      permissionRequest - the permission request whose metering point we want
      accessToken - the customer's OAuth bearer
      Returns:
      a Mono emitting the accounting point data or an error
    • checkPermissionValidity

      public reactor.core.publisher.Mono<Boolean> checkPermissionValidity(DePermissionRequest permissionRequest)
      Check if permission is still valid at ETA Plus. Used to verify that the final customer hasn't revoked permission.
      Parameters:
      permissionRequest - the permission request to check
      Returns:
      a Mono emitting true if permission is valid, false otherwise