Skip to content

AI translation

This page was translated from German with AI. If in doubt, the German original applies.

.NET SDK (Zedal.Sdk)

The official ZEDAL SDK for .NET. It wraps connection setup, authentication with token rotation, deadlines, and the multi-stage document lifecycles of DIWASS behind a typed facade.

The target framework is netstandard2.0, so the package runs on .NET Framework 4.6.1+, .NET Core 2.0+, and .NET 5+.

dotnet add package Zedal.Sdk

Alternatively, use Install-Package Zedal.Sdk in the Package Manager Console or add an entry to your .csproj:

<PackageReference Include="Zedal.Sdk" Version="<version>" />

Versioning follows Semantic Versioning (MAJOR.MINOR.PATCH, e.g. 1.2.0); pre-releases carry a suffix and are not resolved without --prerelease. The generated gRPC/Protobuf types come along transitively — you don’t need your own codegen or any .proto files.

This page is the deep dive, not the starting point

Creating a client, logging in, first call: Getting started. That page also explains how to get credentials and an app token and which environments exist. This page is about the building blocks: facade, transport, session model, time limits, handlers.

Architecture

IZedalClient is the only class that application code creates itself (via ZedalClientFactory). It bundles the backend APIs as properties and holds the session.

Property Responsibility Example access
CoreApi Auth, documents, files, templates, queries, master data, account client.CoreApi.Documents.ListInbox(…)
DiwassApi Direct DIWASS access: operator directory, authority directory, attachments, retrieval client.DiwassApi.RetrievalApi.LookupEventList(…)
BxaApi Document operations on ZeWaSS and BMU XML (the handlers build on these) client.BxaApi.CompanyDocumentApi.*
DocumentHandler Factory for the lifecycle handlers and the inbox importer client.DocumentHandler.CreateNotificationHandler()
DiscoveryApi Provider directory (ListProvider) — callable without a token client.DiscoveryApi.ListProvider()
TransformApi Generate a graphical representation of a document (ToPdf) client.TransformApi.ToPdf(inputType, xml)
MyAccount Identifiers of the logged-in account client.MyAccount.GetOwnDiwassOperatorIds()
SignerApi Signing processes (SigningProcesses), signature verification (VerifyApi), trust information (CertificateInfo) client.SignerApi.SigningProcesses.SignAsync(…)
Connection Transport layer: address, transport, channel, diagnostics client.Connection.CheckConnection()

The sub-APIs in detail:

API Members
CoreApi Auth, Common, Documents, Templates, File, Query, MasterData, AccountManager, AccountManagerV2, WasteNote
DiwassApi OperatorApi, AuthorityDirectoryApi, AttachmentApi, RetrievalApi, SoapProxyApi
BxaApi CompanyDocumentApi, AuthorityDocumentApi, BmuDocumentApi, EbvDocumentApi, DocumentBlockApi
SignerApi SigningProcesses, VerifyApi, CertificateInfo

The flow with SignerApi.SigningProcesses is shown in Signing with the SDK.

New in the next release

SignerApi.SigningProcesses and the XmlOptions on the BmuDocumentHandler are not yet included in Zedal.Sdk 1.2.0. In 1.2.0, ISignerApi is empty. Both appear with the next release; the changelog tracks the status.

Chapters

Chapter Pages
Basics Client and connection, Sessions and tokens, Error handling
Documents Handlers and lifecycle, Building fields, Attachments, incoming documents and identifiers
DIWASS Notification, Movement, Authority side, Roles and permissions
eANV (BMU) BMU documents, Consignment note by role
Signing Signing with the SDK
Samples Runnable console samples to download: login, notification, new transport paper and its data, transport paper numbers, fetching changes, changed since

API reference

The complete reference, generated from the XML doc comments of the published package, lists all public types, methods, and properties:

Open API reference

It is regenerated for every release and therefore stays in sync with the package.

Next steps