Skip to content

AI translation

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

Proto definitions

The .proto files are the authoritative specification of the gRPC API: the REST routes are derived from them, and the .NET SDK builds on the contract generated from them. For languages without an SDK, you generate the client stubs from these files yourself.

Download

State Download
Development state (master, 9826472d) zedal-protos-latest.zip
Release 1.2.0 zedal-protos-1.2.0.zip

A release carries the version of the NuGet package Zedal.GrpcApis, which contains the same .proto files. The development state may contain changes that are not yet part of a release.

Structure

The folders in the archive correspond to the proto packages. The import statements are relative to the top folder of the archive, for example import "core/v1/common_types.proto";, so use this folder as the include path.

The services are in the files *_api.proto, among others:

File Services
core/v1/*_api.proto AuthApi, DocumentApi, DocumentTemplateApi, FileApi, CommonApi, MasterdataApi and others
bxa/diwass/v1/api/*_api.proto CompanyDocumentApi, AuthorityDocumentApi, DocumentBlockApi
bxa/bmu/v1alpha1/api/bmu_document_api.proto BmuDocumentApi
diwass/v1/api/*_api.proto OperatorApi, AuthorityApi, RetrievalApi, AttachmentApi, SoapProxyApi
provider_discovery/v1/api/discovery_api.proto DiscoveryApi

The messages are in the remaining files, the document models under documents/v1/. The annotations the protos refer to (google/api, google/rpc, protoc-gen-openapiv2, openapiv3) are included in the archive. The well-known types under google/protobuf/ come with the protobuf compiler.

Generating stubs

Example for Python with grpcio-tools, in the folder with the extracted archive:

pip install grpcio-tools
mkdir -p generated
python -m grpc_tools.protoc -I zedal-protos-<version> \
  --python_out=generated --grpc_python_out=generated \
  $(find zedal-protos-<version> -name '*.proto')

The output folder must exist beforehand. Afterwards the modules are under generated/, for example generated/core/v1/auth_api_pb2_grpc.py with AuthApiStub. For other languages the same applies with protoc and the plugin for the language.

Endpoints, authentication and timeouts are described under gRPC.