Lyo.Endato.Client
1.0.1
dotnet add package Lyo.Endato.Client --version 1.0.1
NuGet\Install-Package Lyo.Endato.Client -Version 1.0.1
<PackageReference Include="Lyo.Endato.Client" Version="1.0.1" />
<PackageVersion Include="Lyo.Endato.Client" Version="1.0.1" />
<PackageReference Include="Lyo.Endato.Client" />
paket add Lyo.Endato.Client --version 1.0.1
#r "nuget: Lyo.Endato.Client, 1.0.1"
#:package Lyo.Endato.Client@1.0.1
#addin nuget:?package=Lyo.Endato.Client&version=1.0.1
#tool nuget:?package=Lyo.Endato.Client&version=1.0.1
Lyo.Endato.Client
Typed HTTP client for the Endato data-enrichment REST API.
Archetype C (vendor client). Canonical people rows live in Lyo.People.Postgres (Archetype A); optional vendor cache in Lyo.Endato.Postgres (Archetype D). Host maps Endato DTOs → Person + person_source (EntitySourceRecord.From with EndatoPsPerson / EndatoCePerson on source_entity_*). See package layout.
Subclasses Lyo.Api.Client.ApiClient so JSON serialization, Accept-Encoding, and optional request compression behave the same as for any other Lyo HTTP client.
Examples
DI registration (Extensions.cs)
services.AddEndatoClientFromConfiguration(builder.Configuration);
// or:
services.AddEndatoClient(o => {
o.BaseUrl = "https://api.endato.com";
o.ApName = "your-ap-name";
o.ApPassword = "your-ap-password";
});
DI registration (Extensions.cs) (2)
{
"EndatoClient": {
"BaseUrl": "https://api.endato.com",
"ApName": "your-ap-name",
"ApPassword": "your-ap-password"
}
}
Surface
EndatoClient wires the two galaxy-API endpoints behind manager properties:
| Property | Manager | HTTP call |
|---|---|---|
Persons |
PersonManager.QueryPersonsAsync(query, ct) |
POST /PersonSearch with header galaxy-search-type: Person. Returns PersonQueryResponse. |
Enrichment |
EnrichmentManager.QueryEnrichmentAsync(query, ct) |
POST /Contact/Enrich with header galaxy-search-type: DevAPIContactEnrich. Returns EnrichmentResponse. |
Both managers accept a built query or a PersonQueryBuilder /
EnrichmentQueryBuilder.
Authentication is wired automatically: the client sets galaxy-ap-name / galaxy-ap-password headers from options on every request.
Models live under Models/Person (request + response, plus pagination) and Models/Enrichment.
Surface — Request builders
Person Search — see Person Search properties:
var query = PersonQueryBuilder.Create("Jane", "Doe", age: 42)
.WithPhone("5125550100")
.AddAddress("123 Main St", county: "Travis")
.WithResultsPerPage(25)
.Build();
var response = await client.Persons.QueryPersonsAsync(query, ct);
// or:
var response = await client.Persons.QueryPersonsAsync(
PersonQueryBuilder.Create("Jane", "Doe", age: 42).WithPhone("5125550100"), ct);
Contact Enrichment — see Contact Enrichment properties. The API requires at least two of name, phone,
email, or address; EnrichmentQueryBuilder.Build() enforces that:
var query = EnrichmentQueryBuilder.Create("John", "Smith")
.WithPhone("5125550100")
.WithAddress("123 Main St", "Austin, TX 78701")
.Build();
var response = await client.Enrichment.QueryEnrichmentAsync(query, ct);
Surface — Numeric fields
EndatoClient uses LyoJsonSerializerOptions (AllowReadingFromString), so latitude/longitude deserialize into decimal? whether the API sends JSON numbers or quoted strings.
Options (EndatoClientOptions)
Configuration section: EndatoClient (shadows the base ApiClient section). Inherits all
ApiClientOptions flags and adds:
| Property | Description |
|---|---|
ApName |
Endato AP name (sent as galaxy-ap-name). Required. |
ApPassword |
Endato AP password (sent as galaxy-ap-password). Required. |
BaseUrl is required (validated in the constructor); point it at https://api.endato.com (or another Endato environment).
DI registration (Extensions.cs)
| Method | Description |
|---|---|
AddEndatoClientFromConfiguration(configuration, sectionName?) |
Binds EndatoClientOptions from configuration (default section "EndatoClient") and registers the client. |
AddEndatoClient(Action<EndatoClientOptions> configure) |
Builds options inline. |
AddEndatoClient(EndatoClientOptions options) |
Registers a pre-built options instance. |
All overloads register EndatoClient as a singleton, pulling ILoggerFactory and any registered HttpClient from DI.
Example appsettings.json:
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Api.Client— (direct, lyo)Microsoft.Extensions.Configuration.Binder10.0.5— (direct, microsoft)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5— (direct, microsoft)Microsoft.Extensions.Logging.Abstractions10.0.5— (direct, microsoft)Lyo.Api.Models— (transitive, lyo)Lyo.Common— (transitive, lyo)Lyo.DateAndTime— (transitive, lyo)Lyo.Diagnostic— (transitive, lyo)Lyo.Exceptions— (transitive, lyo)Lyo.Hashing— (transitive, lyo)Lyo.PackageMetadata— (transitive, lyo)Lyo.Query.Models— (transitive, lyo)Microsoft.Extensions.Http10.0.5— (transitive, microsoft)System.IO.Hashing10.0.5— (transitive, microsoft, net10.0)System.Memory4.6.3— (transitive, microsoft, netstandard2.0)System.Text.Json10.0.5— (transitive, microsoft, netstandard2.0)System.Threading.Tasks.Extensions4.6.3— (transitive, microsoft)
| 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 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. |
| .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
- Lyo.Api.Client (>= 1.0.1)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
-
net10.0
- Lyo.Api.Client (>= 1.0.1)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lyo.Endato.Client:
| Package | Downloads |
|---|---|
|
Lyo.Endato.Web.Components
Reusable Blazor components for Endato person search and contact enrichment workbench UI. |
GitHub repositories
This package is not used by any popular GitHub repositories.