Cliente C# para a API StromGedacht
Disponível no NuGet.
dotnet add package StromGedacht.NET
ou
PM > Install-Package StromGedacht.NET
O cliente pode fornecer o estado da região no momento atual ou todos os estados em um determinado período.
O período pode se estender por no máximo 2 dias no futuro e 4 dias no passado.
Cada vez que você fizer uma solicitação, será necessário informar o CEP da região para a qual deseja solicitar o estado.
Primeiro crie uma instância de StromGedachtClient
passando uma instância de HttpClient
para seu construtor.
var httpClient = new HttpClient ( ) ;
var client = new StromGedachtClient ( httpClient ) ;
Você pode buscar o estado atual de uma região chamando os métodos Now
/ NowAsync
e passando o CEP da região.
var state = client . Now ( "70173" ) ;
var state = await client . NowAsync ( "70173" ) ;
Se a API retornar um erro, este método retornará null
. Isso pode acontecer se o CEP for inválido/incompatível.
Você pode buscar todos os estados de uma região por um período de tempo específico chamando os métodos States
/ StatesAsync
e passando o CEP da região, o horário de início e o horário de término.
Os horários de início e término podem ser duas datas:
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var states = client . States ( "70173" , from , to ) ;
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var states = await client . StatesAsync ( "70173" , from , to ) ;
ou as horas relativas a este momento:
var hoursInPast = 24 ;
var hoursInFuture = 48 ;
var states = client . States ( "70173" , hoursInPast , hoursInFuture ) ;
var hoursInPast = 24 ;
var hoursInFuture = 48 ;
var states = await client . StatesAsync ( "70173" , hoursInPast , hoursInFuture ) ;
Se a API retornar um erro, este método retornará uma lista vazia. Isso pode acontecer se o CEP for inválido/incompatível ou se o período suportado for excedido.
Você pode buscar a previsão de uma região para um período específico chamando os métodos Forecast
/ ForecastAsync
e passando o CEP da região, o horário de início e o horário de término.
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var forecast = client . Forecast ( "70173" , from , to ) ;
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var forecast = await client . ForecastAsync ( "70173" , from , to ) ;
Você pode registrar o StromGedachtClient
em seu Startup com um HttpClient
digitado.
builder . Services . AddHttpClient < StromGedachtClient > ( ) ;
Em seguida, injete o cliente onde quiser. Por exemplo, em um controlador:
[ Route ( "Home" ) ]
[ ApiController ]
public class HomeController : ControllerBase
{
private readonly StromGedachtClient _client ;
public HomeController ( StromGedachtClient client )
{
_client = client ;
}
}
A API está limitada a cerca de 6 solicitações por minuto.
Aqui estão alguns projetos relacionados:
A API usada é fornecida pela StromGedacht, TransnetBW GmbH.