/tjek-client-dotnet

Tjek.com API client

Primary LanguageC#MIT LicenseMIT

.NET build and test

Tjek.com .NET API client

As the heading states this is a .NET API client for tjek.com

Warning This is work in progress

Minor and patch version bumps may have breaking changes until version 1.0.0 is released and endpoint response deserialization may not be fully tested

Supported endpoint status

  • /v2/offers/search
  • /v2/offers
  • /v2/offers/{offerId}
  • /v2/catalogs
  • /v2/catalogs/{catalogId}
  • /v2/catalogs/{catalogId}/pages
  • /v2/catalogs/{catalogId}/hotspots
  • /v2/catalogs/{catalogId}/page_decorations

How to use

Add configuration to appsettings.json

{
  "TjekClientConfig": {
    "ApiKey": "<API_KEY>"
  }
}

An API key can be requested here: https://etilbudsavis.dk/developers

The client project includes an extension method that makes registering the client and services in the DI container easy.

builder.Services.AddTjekClientServices(builder.Configuration);

After registering the services you can inject the client and configuration.

public class MyService
{
    private readonly IHttpClientFactory _httpClientFactory;
    private readonly TjekClientConfig _tjekClientConfig;

    public MyService(IHttpClientFactory httpClientFactory, IOptions<TjekClientConfig> tjekClientConfig)
    {
        _httpClientFactory = httpClientFactory;
        _tjekClientConfig = tjekClientConfig.Value;
    }
    
    public void MyMethod()
    {
        var client = _httpClientFactory.CreateClient(Constants.HttpClientName);
    }
}