Evo.Grpc.Client.DTA.Pipeline 1.5.0

Evo.Grpc.Client.DTA.Pipeline

gRPC client for the DTA pipeline gateway.

Setup

Requires an ICallTokenProvider from Evo.Grpc.Client.Common; the clients hold no static API token. The endpoint is read from URL_DAKOTA_PIPELINE and validated at registration.

services.AddNativeKeycloakAuth(o =>
{
    o.TokenEndpoint = "https://auth.praxx.me/realms/henara/protocol/openid-connect/token";
    o.ClientId      = "henara-main-sso";
});
services.AddDTAPipelineClient();

Both interfaces resolve to one scoped client.

IDTAPipelineClient

IAsyncEnumerable<Result<DTADispatchResult, Failure>> DispatchDTAProcess(List<DTAPairRequest> pairs, CancellationToken ct = default);
Task<Result<bool, Failure>> IsPipelineStepRetryDispatched(Guid tickerId);
  • DispatchDTAProcess streams one ESOL/AUF pair per request and yields one result per pair. A pair is rejected when a non-admin caller does not own the customer id or the (customer id, Leistungserbringer-IK, AZ-IK) mapping read from the files is missing; a rejected pair returns IsDispatched == false with a Message.
  • IsPipelineStepRetryDispatched resets the ticker so its step runs again.

IDTAPipelineConfigClient

Task<Result<CustomerRoutingInfo, Failure>> GetCustomerRoutingInfo(string customerId, string? lebIk = null, CancellationToken ct = default);
Task<Result<string, Failure>> GetOwnAzIk(CancellationToken ct = default);
Task<Result<bool, Failure>> GetIsTestEnvironment(CancellationToken ct = default);
  • GetCustomerRoutingInfo takes a customer id of the form 2013xxxx and an optional Leistungserbringer-IK (lebIk) and needs no token. Exactly one mapping returns its IKs with IsSelbstabrechner == true; an unmapped id returns empty IKs with IsSelbstabrechner == false. More than one mapping and no lebIk, or a malformed id, returns a Failure.

No packages depend on Evo.Grpc.Client.DTA.Pipeline.

Version Downloads Last updated
1.5.0 21 10/22/2026
1.4.0 2 10/21/2026
1.2.0 110 10/05/2026
1.1.0 14 09/30/2026
1.0.0 87 09/04/2026