ExtensivSharp 1.3.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ExtensivSharp --version 1.3.0
NuGet\Install-Package ExtensivSharp -Version 1.3.0
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="ExtensivSharp" Version="1.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ExtensivSharp" Version="1.3.0" />
<PackageReference Include="ExtensivSharp" />
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 ExtensivSharp --version 1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ExtensivSharp, 1.3.0"
#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 ExtensivSharp@1.3.0
#: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=ExtensivSharp&version=1.3.0
#tool nuget:?package=ExtensivSharp&version=1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ExtensivSharp
A C# client library for the Extensiv (formerly 3PL Central) Warehouse Management System REST API.
Features
- OAuth authentication with Extensiv's auth server
- Strongly-typed request/response models
- Fluent RQL (Resource Query Language) query builder
- Support for orders, inventory, items, and receivers endpoints
- Built for dependency injection with
IHttpClientFactory
Requirements
- .NET 10.0 or later
- Extensiv API credentials (API key and user login)
Installation
dotnet add package ExtensivSharp
Dependencies
Microsoft.Extensions.Http(v9.0.0)Newtonsoft.Json(v13.0.3)
Quick Start
Authentication
using ExtensivSharp.Services;
using ExtensivSharp.Models.Auth;
var authRequest = new ExtensivAuthRequest
{
Key = "your-base64-encoded-api-key",
UserId = "your-user-login"
};
var authResponse = await AuthenticationService.GetAuthenticationKey(authRequest);
string token = authResponse.AccessToken;
Fetching Orders
using ExtensivSharp.Endpoints.Orders;
var getOrders = new GET_Orders
{
AuthorizationToken = token,
PageSize = 50,
PageNumber = 1,
Detail = SpecifyDetailType.All
};
var result = await getOrders.GetAsync(httpClientFactory);
if (result.Success)
{
foreach (var order in result.Data.ResourceList)
{
Console.WriteLine($"Order: {order.ReferenceNum}");
}
}
Using the RQL Query Builder
The library includes a fluent query builder for Extensiv's Resource Query Language:
using ExtensivSharp.RQL;
var query = new RqlQueryBuilder()
.Where("Status", "==", "Open")
.Where("CreationDate", ">=", "2024-01-01")
.In("Facility", "WH1", "WH2", "WH3")
.HasValue("ShipDate", false)
.Build();
var getOrders = new GET_Orders
{
AuthorizationToken = token,
RqlFilter = query
};
Available RQL Methods:
Where(field, operator, value)- Add an AND conditionOr(field, operator, value)- Add an OR conditionIn(field, values...)- Match any of the provided valuesNotIn(field, values...)- Exclude the provided valuesHasValue(field, bool)- Check if field has/doesn't have a value
Available Endpoints
Orders
| Class | Description |
|---|---|
GET_Orders |
Retrieve a list of orders with filtering and pagination |
GET_Order |
Get a single order by ID |
GET_OrderByReferenceNumber |
Get an order by reference number |
GET_OrderItem |
Get order line items |
POST_Order |
Create a new order |
POST_OrderItem |
Add a new line item to an existing order |
PUT_Order |
Update an existing order |
PUT_OrderItem |
Update order line items |
PUT_Allocate |
Allocate inventory to an order |
PUT_Deallocate |
Deallocate inventory from an order |
DELETE_OrderItem |
Remove an order line item |
Inventory
| Class | Description |
|---|---|
GET_StockSummaries |
Get inventory stock summaries |
GET_PurchaseOrders |
Retrieve purchase orders |
GET_Receivers |
Get receiver records |
GET_ReceiverItems |
Get items on a receiver |
GET_ReceiveItems |
Get received items |
PUT_Shaker |
Update inventory track-by details (lot number, serial number, expiration date) |
Items
| Class | Description |
|---|---|
GET_Items |
Retrieve item master data |
GET_Aliases |
Retrieve item aliases |
Project Structure
ExtensivSharp/
├── Endpoints/
│ ├── Orders/ # Order-related API endpoints
│ ├── Inventory/ # Inventory and receiver endpoints
│ └── Items/ # Item master endpoints
├── Models/
│ ├── Auth/ # Authentication models
│ ├── Order/ # Order data models
│ ├── Inventory/ # Inventory models
│ ├── Items/ # Item models
│ ├── Receivers/ # Receiver models
│ ├── Generic/ # Shared identifier types
│ ├── Helper/ # API result wrapper and utilities
│ └── Webhooks/ # Webhook payload models
├── RQL/
│ └── RqlQueryBuilder.cs # Fluent RQL query builder
└── Services/
└── AuthenticationService.cs # OAuth token generation
Response Handling
All endpoint methods return an ExtensivApiResult<T> wrapper:
public class ExtensivApiResult<T>
{
public bool Success { get; set; }
public HttpStatusCode StatusCode { get; set; }
public string? Message { get; set; }
public string? Etag { get; set; }
public T? Data { get; set; }
}
API Documentation
For full API documentation, refer to the Extensiv API Reference or REL documentation
License
MIT License
Last Modified: 2026-04-06
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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.
-
net10.0
- Microsoft.Extensions.Http (>= 9.0.0)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.