Panda.NuGet.BillbeeClient 1.2.1

dotnet add package Panda.NuGet.BillbeeClient --version 1.2.1
                    
NuGet\Install-Package Panda.NuGet.BillbeeClient -Version 1.2.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Panda.NuGet.BillbeeClient" Version="1.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Panda.NuGet.BillbeeClient" Version="1.2.1" />
                    
Directory.Packages.props
<PackageReference Include="Panda.NuGet.BillbeeClient" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Panda.NuGet.BillbeeClient --version 1.2.1
                    
#r "nuget: Panda.NuGet.BillbeeClient, 1.2.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Panda.NuGet.BillbeeClient@1.2.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Panda.NuGet.BillbeeClient&version=1.2.1
                    
Install as a Cake Addin
#tool nuget:?package=Panda.NuGet.BillbeeClient&version=1.2.1
                    
Install as a Cake Tool

Panda.NuGet.BillbeeClient

A modern .NET library for seamless integration with the Billbee API, using System.Net.Http and System.Text.Json for efficient, dependency-light communication.

About

This project was originally forked from billbeeio/billbee-csharp-sdk but now maintains its own independent git history. The library has been completely rewritten to leverage modern .NET libraries and practices.

Features

  • Modern .NET Support: Targets .NET 8.0, 9.0 and 10.0
  • Performance Optimized: Uses System.Net.Http and System.Text.Json for maximum efficiency
  • Dependency Light: Minimal external dependencies for easier maintenance
  • Built-in Rate Limiting: Prevents API rate limit violations
  • Comprehensive API Coverage: Supports all major Billbee API endpoints

Supported Endpoints

  • Orders and order management
  • Products and inventory
  • Customers and addresses
  • Shipments and tracking
  • Webhooks and events
  • Cloud storage integration
  • Automatic provisioning
  • Search functionality
  • API usage statistics

Installation

The package is available on NuGet.org:

dotnet add package Panda.NuGet.BillbeeClient

Or via Package Manager Console:

Install-Package Panda.NuGet.BillbeeClient

Quick Start

1. Configure Services

using Panda.NuGet.BillbeeClient.Extensions;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddBillbeeApi(new BillbeeApiConfig
        {
            Username = "your-username",
            Password = "your-password", 
            ApiKey = "your-api-key",
            BaseUrl = "https://api.billbee.io"
        });
    }
}

2. Use in Your Services

public class OrderService
{
    private readonly IBillbeeClient _billbeeClient;

    public OrderService(IBillbeeClient billbeeClient)
    {
        _billbeeClient = billbeeClient;
    }

    public async Task<IEnumerable<Order>> GetRecentOrdersAsync()
    {
        var result = await _billbeeClient.Orders.GetOrdersAsync();
        return result.Data;
    }

    public async Task<Product> GetProductAsync(int productId)
    {
        var result = await _billbeeClient.Products.GetProductAsync(productId);
        return result.Data;
    }
}

Configuration

The BillbeeApiConfig supports the following properties:

  • Username: Your Billbee username
  • Password: Your Billbee password or API password
  • ApiKey: Your Billbee API key
  • BaseUrl: The Billbee API base URL (default: https://api.billbee.io)

Rate Limiting

The client includes built-in rate limiting to prevent API quota violations. The rate limiter is implemented as a singleton and will work correctly within a single application instance.

Documentation

For detailed API documentation, refer to:

API Notes

This is not an official Billbee SDK. The package is maintained pragmatically against the real API behavior.

At least some Billbee endpoints do not always behave exactly like the published Swagger definition. ApiUsage is one confirmed example: although Swagger documents an ApiResult<T> wrapper, real responses may return the report object directly. The client intentionally normalizes both shapes.

Requirements

  • .NET 8.0, 9.0 or 10.0
  • Valid Billbee API credentials

Integration Tests

The solution includes Panda.NuGet.BillbeeClient.IntegrationTests with initial coverage for ApiUsage.

Use the checked-in appsettings.json as the placeholder template and copy appsettings.local.json.example to appsettings.local.json for real credentials. The local file is gitignored.

Run the integration tests with:

dotnet test Panda.NuGet.BillbeeClient.IntegrationTests/Panda.NuGet.BillbeeClient.IntegrationTests.csproj

The ApiUsage integration tests verify the real Billbee behavior. The separate unit tests verify both supported response shapes:

dotnet test Panda.NuGet.BillbeeClient.Tests/Panda.NuGet.BillbeeClient.Tests.csproj

Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Originally forked from billbeeio/billbee-csharp-sdk - thanks to the original contributors for the foundation.

Product 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 is compatible.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.2.1 406 3/13/2026
1.2.0 101 3/13/2026
1.1.0 660 12/4/2025
1.0.0 1,337 6/25/2025

Initial release of the modern Billbee API client with .NET 7/8/9 support.