Ebitex.Data.Delivery
0.1.11
Prefix Reserved
dotnet add package Ebitex.Data.Delivery --version 0.1.11
NuGet\Install-Package Ebitex.Data.Delivery -Version 0.1.11
<PackageReference Include="Ebitex.Data.Delivery" Version="0.1.11" />
<PackageVersion Include="Ebitex.Data.Delivery" Version="0.1.11" />
<PackageReference Include="Ebitex.Data.Delivery" />
paket add Ebitex.Data.Delivery --version 0.1.11
#r "nuget: Ebitex.Data.Delivery, 0.1.11"
#:package Ebitex.Data.Delivery@0.1.11
#addin nuget:?package=Ebitex.Data.Delivery&version=0.1.11
#tool nuget:?package=Ebitex.Data.Delivery&version=0.1.11
Ebitex.Data.Delivery
A server-side .NET client for the ebitex Data Delivery API: list the models a key can read, then list, filter, sort, facet and page records, follow references, and read records by key.
It is the .NET counterpart of @ebitex/data-sdk, holds no cache, retries nothing, and depends on nothing beyond Microsoft.Extensions.Http and Microsoft.Extensions.Options.
Configure
Use a server delivery key (Data → Settings → Delivery keys), never a browser-safe one: a server sends no Origin, so a browser-safe key is refused.
builder.Services.AddEbitexDataDelivery(options =>
{
options.ApiKey = builder.Configuration["Data:DeliveryKey"];
});
Query
// Read the models first: it is the list of what this key may ask for.
var models = await data.GetModelsAsync();
var page = await data.ListRecordsAsync(new RecordsQuery
{
Model = "dog",
Filters = new Dictionary<string, FieldFilter>
{
["colour"] = new FieldFilter { In = ["black", "red"] },
["born"] = new FieldFilter { Gte = new DateTimeOffset(2024, 1, 1, 0, 0, 0, TimeSpan.Zero) },
},
Sort = "-born",
Facets = ["colour"],
Limit = 25,
});
await foreach (var dog in data.ListAllRecordsAsync(new RecordsQuery { Model = "dog", Sort = "name" }))
{
Console.WriteLine(dog.Name);
}
A cursor belongs to its query: ListAllRecordsAsync and ListPagesAsync send the identical query with every cursor.
References
var dog = await data.GetRecordAsync("rex-of-drakeshead", new RecordOptions { Generations = 2 });
var sire = DataValues.Expanded(dog?.Value("sire")); // null for a pointer that was not followed
Errors
A non-success response is a DataDeliveryException with the status, the server's ErrorCode (field_not_queryable, invalid_cursor, …) and the RequestId to quote to support. A request this client refuses to send (a limit of 500, more than 5 facets) is the same exception with IsLocal true. A missing record is null, not an exception. A connection failure is the HttpRequestException the HttpClient throws.
Licensed under Apache-2.0.
| 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. |
-
net10.0
- Microsoft.Extensions.Http (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.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.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.11 | 100 | 10/19/2026 |