ApimatictqlSDK 0.0.2
dotnet add package ApimatictqlSDK --version 0.0.2
NuGet\Install-Package ApimatictqlSDK -Version 0.0.2
<PackageReference Include="ApimatictqlSDK" Version="0.0.2" />
<PackageVersion Include="ApimatictqlSDK" Version="0.0.2" />
<PackageReference Include="ApimatictqlSDK" />
paket add ApimatictqlSDK --version 0.0.2
#r "nuget: ApimatictqlSDK, 0.0.2"
#:package ApimatictqlSDK@0.0.2
#addin nuget:?package=ApimatictqlSDK&version=0.0.2
#tool nuget:?package=ApimatictqlSDK&version=0.0.2
Getting Started with Freight Financials — Webhook Ingestion API
Introduction
Receives real-time event callbacks from freight audit providers (currently Navix) and publishes them to Kafka for downstream processing.
Request Flow
Navix ──POST──▶ APIM ──validates key, stamps X-Tenant-Id──▶ Webhooks API ──publishes──▶ Kafka
- Navix fires an HTTP callback when an event occurs (invoice created, dispute updated, etc.).
- Azure API Management (APIM) authenticates the caller via subscription key or OAuth client credentials, then forwards the request with an
X-Tenant-Idheader identifying the tenant. - This service validates the tenant header, deserializes the Navix payload, maps it to a provider-agnostic domain event, and publishes it to a Kafka topic.
- Downstream consumers (the Events function app) process the domain events asynchronously.
Authentication
This API does not use Entra ID / OAuth for inbound requests. Authentication is handled at the APIM layer.
All requests must include the X-Tenant-Id header. Requests without this header receive a 401 Unauthorized response.
When testing from Swagger UI, click the Authorize button and enter your tenant identifier in the X-Tenant-Id field.
Install the Package
If you are building with .NET CLI tools then you can also use the following command:
dotnet add package ApimatictqlSDK --version 0.0.2
You can also view the package at: https://www.nuget.org/packages/ApimatictqlSDK/0.0.2
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
|---|---|---|
| Timeout | TimeSpan |
Http client timeout.<br>Default: TimeSpan.FromSeconds(30) |
| HttpClientConfiguration | Action<HttpClientConfiguration.Builder> |
Action delegate that configures the HTTP client by using the HttpClientConfiguration.Builder for customizing API call settings.<br>Default: new HttpClient() |
| LogBuilder | LogBuilder |
Represents the logging configuration builder for API calls |
The API client can be initialized as follows:
Code-Based Initialization
using FreightFinancialsWebhookIngestionApi.Standard;
using Microsoft.Extensions.Logging;
namespace ConsoleApp;
FreightFinancialsWebhookIngestionApiClient client = new FreightFinancialsWebhookIngestionApiClient.Builder()
.HttpClientConfig(httpClientConfig =>
httpClientConfig.Timeout(TimeSpan.FromSeconds(100)))
.LoggingConfig(config => config
.LogLevel(LogLevel.Information)
.RequestConfig(reqConfig => reqConfig.Body(true))
.ResponseConfig(respConfig => respConfig.Headers(true))
)
.Build();
Configuration-Based Initialization
using FreightFinancialsWebhookIngestionApi.Standard;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp;
// Build the IConfiguration using .NET conventions (JSON, environment, etc.)
var configuration = new ConfigurationBuilder()
.AddJsonFile("config.json")
.AddEnvironmentVariables() // [optional] read environment variables
.Build();
// Instantiate your SDK and configure it from IConfiguration
var client = FreightFinancialsWebhookIngestionApiClient
.FromConfiguration(configuration.GetSection("FreightFinancialsWebhookIngestionApi"));
See the Configuration-Based Initialization section for details.
List of APIs
SDK Infrastructure
Configuration
- Configuration-Based Initialization
- HttpClientConfiguration
- HttpClientConfigurationBuilder
- LogBuilder
- LogRequestBuilder
- LogResponseBuilder
- ProxyConfigurationBuilder
HTTP
Utilities
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- APIMatic.Core (>= 0.4.13 && < 0.5.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.