Skip to content

Offizielle SDKs

thelawin.dev bietet offizielle Client-Bibliotheken für 8 Programmiersprachen.

Alle SDKs teilen ein konsistentes API-Design:

  • Fluent Builder Pattern - Methoden verketten um Rechnungen zu bauen
  • Typsicherheit - Vollständige Typ-Definitionen und Autovervollständigung
  • Automatische Logo-Kodierung - Logos aus Dateien laden, automatisch Base64 kodieren
  • Result Pattern - Klare Erfolg/Fehler-Behandlung
  • Keine Abhängigkeiten - Minimaler Footprint

Installation

Beta-Phase

Während der Beta sind die SDKs direkt über GitHub verfügbar. Die Veröffentlichung auf npm, PyPI, RubyGems und anderen Package Registries erfolgt mit dem stabilen Release.

Alle SDKs können direkt vom GitHub-Repository installiert werden:

SpracheInstallation via GitHub
TypeScriptnpm install github:steviee/thelawin-clients#path:typescript
Pythonpip install git+https://github.com/steviee/thelawin-clients.git#subdirectory=python
Rubygem 'thelawin', git: 'https://github.com/steviee/thelawin-clients.git', glob: 'ruby/*.gemspec'
KotlinJitPack oder lokaler Build
JavaJitPack oder lokaler Build
Swifthttps://github.com/steviee/thelawin-clients.git (SPM)
Dartgit: https://github.com/steviee/thelawin-clients.git, path: dart
C#Lokaler Build oder Git Submodule

Einheitliches Interface

Alle SDKs folgen dem gleichen Muster:

client = ThelawinClient(api_key)

result = client.invoice()
  .number("2026-001")
  .date("2026-01-15")
  .seller(name: "Acme GmbH", vat_id: "DE123456789", ...)
  .buyer(name: "Kunde AG", ...)
  .addItem(description: "Beratung", quantity: 8, unit: "HUR", unit_price: 150)
  .logoFile("./logo.png")  // Automatische Base64-Kodierung
  .template("minimal")
  .generate()

if result.success:
    result.savePdf("./rechnung.pdf")
else:
    for error in result.errors:
        print(f"{error.path}: {error.message}")

Quellcode

Alle SDKs sind Open Source und auf GitHub verfügbar:

github.com/steviee/thelawin-clients

bash
git clone https://github.com/steviee/thelawin-clients.git

ZUGFeRD 2.3 & Factur-X 1.0 compliant