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+.
Alternatively, use Install-Package Zedal.Sdk in the Package Manager Console or add an entry to your .csproj:
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:
It is regenerated for every release and therefore stays in sync with the package.
Next steps¶
- Getting started — access, first call, auth model
- Lifecycle — stage sequences and time budgets
- Calls and synchronization — sequentiality, synchronization, inbox import
- Field rules — what the schema doesn’t say
- REST / JSON — the path without the SDK, including its limits