FormanceSDK 3.0.0
dotnet add package FormanceSDK --version 3.0.0
NuGet\Install-Package FormanceSDK -Version 3.0.0
<PackageReference Include="FormanceSDK" Version="3.0.0" />
<PackageVersion Include="FormanceSDK" Version="3.0.0" />
<PackageReference Include="FormanceSDK" />
paket add FormanceSDK --version 3.0.0
#r "nuget: FormanceSDK, 3.0.0"
#:package FormanceSDK@3.0.0
#addin nuget:?package=FormanceSDK&version=3.0.0
#tool nuget:?package=FormanceSDK&version=3.0.0
formance
SDK Example Usage
Example
using FormanceSDK;
using FormanceSDK.Models.Components;
var sdk = new Formance(security: new Security() {
ClientID = "<YOUR_CLIENT_ID_HERE>",
ClientSecret = "<YOUR_CLIENT_SECRET_HERE>",
});
var res = await sdk.GetVersionsAsync();
// handle response
Error Handling
SDKBaseException is the base exception class for all HTTP error responses. It has the following properties:
| Property | Type | Description |
|---|---|---|
Message |
string | Error message |
Request |
HttpRequestMessage | HTTP request object |
Response |
HttpResponseMessage | HTTP response object |
Some exceptions in this SDK include an additional Payload field, which will contain deserialized custom error data when present. Possible exceptions are listed in the Error Classes section.
Example
using FormanceSDK;
using FormanceSDK.Models.Components;
using FormanceSDK.Models.Errors;
var sdk = new Formance(security: new Security() {
ClientID = "<YOUR_CLIENT_ID_HERE>",
ClientSecret = "<YOUR_CLIENT_SECRET_HERE>",
});
try
{
var res = await sdk.Ledger.GetInfoAsync();
// handle response
}
catch (SDKBaseException ex) // all SDK exceptions inherit from SDKBaseException
{
// ex.ToString() provides a detailed error message
System.Console.WriteLine(ex);
// Base exception fields
HttpRequestMessage request = ex.Request;
HttpResponseMessage response = ex.Response;
var statusCode = (int)response.StatusCode;
var responseBody = ex.Body;
if (ex is Models.Errors.V2ErrorResponse) // different exceptions may be thrown depending on the method
{
// Check error data fields
Models.Errors.V2ErrorResponsePayload payload = ex.Payload;
V2ErrorsEnum ErrorCode = payload.ErrorCode;
string ErrorMessage = payload.ErrorMessage;
// ...
}
// An underlying cause may be provided
if (ex.InnerException != null)
{
Exception cause = ex.InnerException;
}
}
catch (System.Net.Http.HttpRequestException ex)
{
// Check ex.InnerException for Network connectivity errors
}
Error Classes
Primary exception:
SDKBaseException: The base class for HTTP error responses.
<details><summary>Less common exceptions (11)</summary>
System.Net.Http.HttpRequestException: Network connectivity error. For more details about the underlying cause, inspect theex.InnerException.Inheriting from
SDKBaseException:V3ErrorResponse: Error. Applicable to 46 of 230 methods.*PaymentsErrorResponse: Error. Applicable to 45 of 230 methods.*V2ErrorResponse: Error. Applicable to 37 of 230 methods.*ErrorResponse: Applicable to 19 of 230 methods.*V2Error: General error. Applicable to 18 of 230 methods.*Error: General error. Applicable to 17 of 230 methods.*WalletsErrorResponse: Applicable to 15 of 230 methods.*WebhooksErrorResponse: Error. Applicable to 8 of 230 methods.*ReconciliationErrorResponse: Error response. Applicable to 8 of 230 methods.*ResponseValidationError: Thrown when the response data could not be deserialized into the expected type. </details>
* Refer to the relevant documentation to determine whether an exception applies to a specific operation.
Server Selection
Select Server by Index
You can override the default server globally by passing a server index to the serverIndex: int optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
| # | Server | Variables | Description |
|---|---|---|---|
| 0 | http://localhost |
local server | |
| 1 | https://{organization}.{environment}.formance.cloud |
organization<br/>environment |
A per-organization and per-environment API |
If the selected server has variables, you may override its default values through the additional parameters made available in the SDK constructor:
| Variable | Parameter | Supported Values | Default | Description |
|---|---|---|---|---|
organization |
organization: string |
string | "orgID-stackID" |
The organization name. Defaults to a generic organization. |
environment |
environment: FormanceSDK.Models.ServerEnvironment |
- "sandbox"<br/>- "eu-west-1"<br/>- "us-east-1" |
"sandbox" |
The environment name. Defaults to the production environment. |
Example
using FormanceSDK;
using FormanceSDK.Models.Components;
var sdk = new Formance(
serverIndex: 1,
organization: "<value>",
environment: "us-east-1",
security: new Security() {
ClientID = "<YOUR_CLIENT_ID_HERE>",
ClientSecret = "<YOUR_CLIENT_SECRET_HERE>",
}
);
var res = await sdk.GetVersionsAsync();
// handle response
Override Server URL Per-Client
The default server can also be overridden globally by passing a URL to the serverUrl: string optional parameter when initializing the SDK client instance. For example:
using FormanceSDK;
using FormanceSDK.Models.Components;
var sdk = new Formance(
serverUrl: "https://orgID-stackID.sandbox.formance.cloud",
security: new Security() {
ClientID = "<YOUR_CLIENT_ID_HERE>",
ClientSecret = "<YOUR_CLIENT_SECRET_HERE>",
}
);
var res = await sdk.GetVersionsAsync();
// handle response
Authentication
Per-Client Security Schemes
This SDK supports the following security scheme globally:
| Name | Type | Scheme |
|---|---|---|
ClientID<br/>ClientSecret |
oauth2 | OAuth2 Client Credentials Flow |
You can set the security parameters through the security optional parameter when initializing the SDK client instance. For example:
using FormanceSDK;
using FormanceSDK.Models.Components;
var sdk = new Formance(security: new Security() {
ClientID = "<YOUR_CLIENT_ID_HERE>",
ClientSecret = "<YOUR_CLIENT_SECRET_HERE>",
});
var res = await sdk.GetVersionsAsync();
// handle response
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. 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. |
-
net8.0
- newtonsoft.json (>= 13.0.3)
- nodatime (>= 3.1.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.