Forbury.Integrations
1.7.4
dotnet add package Forbury.Integrations --version 1.7.4
NuGet\Install-Package Forbury.Integrations -Version 1.7.4
<PackageReference Include="Forbury.Integrations" Version="1.7.4" />
paket add Forbury.Integrations --version 1.7.4
#r "nuget: Forbury.Integrations, 1.7.4"
// Install Forbury.Integrations as a Cake Addin #addin nuget:?package=Forbury.Integrations&version=1.7.4 // Install Forbury.Integrations as a Cake Tool #tool nuget:?package=Forbury.Integrations&version=1.7.4
Forbury Integrations
This .NET client library provides a quick & easy option for integrating with Forbury APIs.
Note: In order to use this library, you must be an existing Forbury customer and have an API ClientId
and ClientSecret
.
To learn more about becoming a Forbury customer, or if you already are and would like access, please contact us.
Documentation
Wiki page - Contains full documentation including examples.
Swagger API documentation - Contains the ability for sample requests and available endpoints.
Quick Start Guide
In order to get started, please follow these steps.
1. Install the NuGet package using one of the following commands
Package Manager
Install-Package Forbury.Integrations -Version 1.7.0
.NET CLI
dotnet add PROJECT package Forbury.Integrations --version 1.7.0
PackageReference
<PackageReference Include="Forbury.Integrations" Version="1.7.0" />
For a full list of the latest releases, please see the package release page.
2. Add the following to your appsettings.config
(replace UNIQUE_CLIENT_NAME
, YOUR_CLIENT_ID
and YOUR_CLIENT_SECRET
).
This library supports a multi-client environment, UNIQUE_CLIENT_NAME
can be any internal reference name you like for accessing the client.
If you only have one client, you will not need to choose which client to make calls with during runtime (please see example below).
"Forbury": {
"Api": {
"Url": "https://api.forbury.com/",
"Version": 1
},
"Authentication": {
"Url": "https://account.forbury.com/",
"Clients": {
"UNIQUE_CLIENT_NAME": {
"ClientId": "YOUR_CLIENT_ID",
"ClientSecret": "YOUR_CLIENT_SECRET"
},
"UNIQUE_CLIENT_NAME": {
"ClientId": "YOUR_CLIENT_ID",
"ClientSecret": "YOUR_CLIENT_SECRET"
}
}
}
}
3. Add the following inside your Startup.cs
(.NET 3.1 and .NET 5).
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddForburyApi(Configuration);
...
}
Alternatively, you are able to create your own configuration object and pass that in as parameter instead.
This gives you the flexibility to build your configuration outside the standard appsettings.json
structure.
public void ConfigureServices(IServiceCollection services)
{
var forburyConfiguration = new ForburyConfiguration()
{
Api = new ApiConfiguration()
{
Url = "https://api.forbury.com/",
Version = 1
},
Authentication = new AuthenticationConfiguration()
{
Url = "https://account.forbury.com/",
Clients = new Dictionary<string, AuthenticationClientConfiguration>()
{
{
"UNIQUE_CLIENT_NAME",
new AuthenticationClientConfiguration()
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
}
}
}
}
};
services.AddForburyApi(forburyConfiguration);
...
}
Note: If you are using the new .NET 6 design without a Startup.cs
, add the following inside your Program.cs
(.NET 6).
using Forbury.Integrations.API;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddForburyApi(builder.Configuration);
You should now be ready to use the API!
Example API Usage
Example usage inside a Service.
Note: Please take note of the using statements, its important to import usings from the correct version (see versions below).
using Forbury.Integrations.API.v1.Dto;
using Forbury.Integrations.API.v1.Interfaces;
...
public class ForburyDataService
{
private readonly IForburyTeamApiClient _forburyTeamApiClient;
public ForburyDataService(IForburyTeamApiClient forburyTeamApiClient)
{
_forburyTeamApiClient = forburyTeamApiClient;
// NOTE: In a multi-client environment, you will need to set the client
_forburyTeamApiClient.SetClient("UNIQUE_CLIENT_NAME");
}
public async Task GetTeams(int amount = 20, int page = 1)
{
PagedResult<TeamDto> teams = await _forburyTeamApiClient.GetTeams(amount, page);
// Do work here
...
}
public async Task GetModelDataForTeam(int id, DateTime? fromDate = null, int amount = 20, int page = 1)
{
PagedResult<ModelDto> models = await _forburyTeamApiClient.GetModelsByTeamId(id, fromDate, null, amount, page);
// Do work here
...
}
}
Versions
Currently available API versions:
- v1
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
.NET Framework | net48 is compatible. net481 was computed. |
-
.NETCoreApp 3.1
- IdentityServer4.Storage (>= 3.1.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Http.Extensions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9)
- Microsoft.Extensions.Http (>= 3.1.9)
- Newtonsoft.Json (>= 13.0.1)
- System.Net.Http (>= 4.3.4)
-
.NETFramework 4.8
- IdentityServer4.Storage (>= 3.1.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Http.Extensions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9)
- Microsoft.Extensions.Http (>= 3.1.9)
- Newtonsoft.Json (>= 13.0.1)
- System.Net.Http (>= 4.3.4)
-
net5.0
- IdentityServer4.Storage (>= 3.1.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Http.Extensions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9)
- Microsoft.Extensions.Http (>= 3.1.9)
- Newtonsoft.Json (>= 13.0.1)
- System.Net.Http (>= 4.3.4)
-
net6.0
- IdentityServer4.Storage (>= 3.1.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Http.Extensions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9)
- Microsoft.Extensions.Http (>= 3.1.9)
- Newtonsoft.Json (>= 13.0.1)
- System.Net.Http (>= 4.3.4)
-
net7.0
- IdentityServer4.Storage (>= 3.1.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Http.Extensions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9)
- Microsoft.Extensions.Http (>= 3.1.9)
- Newtonsoft.Json (>= 13.0.1)
- System.Net.Http (>= 4.3.4)
-
net8.0
- IdentityServer4.Storage (>= 3.1.2)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Http.Extensions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9)
- Microsoft.Extensions.Http (>= 3.1.9)
- Newtonsoft.Json (>= 13.0.1)
- System.Net.Http (>= 4.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.7.4 | 199 | 11/13/2024 |
1.7.3 | 152 | 11/5/2024 |
1.7.2 | 423 | 7/23/2024 |
1.7.1 | 397 | 1/24/2024 |
1.7.0 | 137 | 1/17/2024 |
1.6.0 | 1,955 | 1/30/2023 |
1.6.0-beta | 147 | 1/18/2023 |
1.5.0 | 408 | 12/9/2022 |
1.5.0-beta5 | 155 | 12/9/2022 |
1.5.0-beta4 | 138 | 12/7/2022 |
1.5.0-beta3 | 241 | 11/23/2022 |
1.5.0-beta2 | 158 | 11/11/2022 |
1.5.0-beta | 242 | 11/8/2022 |
1.4.3 | 366 | 12/5/2022 |
1.4.2 | 355 | 12/2/2022 |
1.4.1 | 392 | 10/26/2022 |
1.4.0 | 781 | 9/1/2022 |
1.3.0 | 638 | 8/4/2022 |
1.2.1 | 481 | 7/25/2022 |
1.2.0 | 538 | 7/24/2022 |
1.1.0 | 574 | 7/7/2022 |
1.0.7 | 472 | 6/27/2022 |
1.0.6 | 895 | 4/11/2022 |
1.0.5 | 649 | 3/29/2022 |
1.0.4 | 475 | 1/30/2022 |
1.0.3 | 401 | 7/6/2021 |
1.0.2 | 376 | 6/21/2021 |
1.0.1 | 2,005 | 5/17/2021 |
1.0.0 | 363 | 5/5/2021 |