Erste Schritte
Generiere deine erste ZUGFeRD-konforme Rechnung in unter 5 Minuten.
Voraussetzungen
- Ein thelawin.dev Konto (kostenlos registrieren)
- Ein API-Schlüssel (erstelle einen im Dashboard)
Schnellstart
1. API-Schlüssel holen
Nach der Registrierung gehe zu deinem Dashboard und erstelle einen neuen API-Schlüssel.
Sandbox vs Live
- Sandbox-Schlüssel (
env_sandbox_...) erzeugen PDFs mit Wasserzeichen, unbegrenzte Nutzung - Live-Schlüssel (
env_live_...) erzeugen Produktions-PDFs, zählen gegen dein Kontingent
2. Erste Anfrage senden
bash
curl -X POST https://api.thelawin.dev/v1/generate \
-H "X-API-Key: env_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{
"template": "minimal",
"invoice": {
"number": "2026-001",
"date": "2026-01-15",
"seller": {
"name": "Acme GmbH",
"vatId": "DE123456789",
"street": "Hauptstraße 1",
"city": "Berlin",
"postalCode": "10115",
"country": "DE"
},
"buyer": {
"name": "Kunde AG",
"city": "München",
"country": "DE"
},
"items": [{
"description": "Beratungsleistungen",
"quantity": 8,
"unit": "HUR",
"unitPrice": 150.00,
"vatRate": 19.0
}]
}
}'3. Antwort verarbeiten
json
{
"pdf_base64": "JVBERi0xLjcK...",
"filename": "invoice-2026-001.pdf",
"validation": {
"status": "valid",
"profile": "EN16931",
"version": "2.3.2"
},
"account": {
"remaining": 499,
"plan": "starter"
}
}Das Feld pdf_base64 enthält dein ZUGFeRD-konformes PDF/A-3 Dokument.
4. PDF speichern
bash
# PDF dekodieren und speichern (Beispiel mit jq)
curl ... | jq -r '.pdf_base64' | base64 -d > rechnung.pdfSDK verwenden
Wir bieten offizielle SDKs für 8 Sprachen. Hier ein Beispiel mit TypeScript:
typescript
import { ThelawinClient } from '@thelawin/sdk'
const client = new ThelawinClient('env_sandbox_xxx')
const result = await client.invoice()
.number('2026-001')
.date('2026-01-15')
.seller({ name: 'Acme GmbH', vatId: 'DE123456789', city: 'Berlin', country: 'DE' })
.buyer({ name: 'Kunde AG', city: 'München', country: 'DE' })
.addItem({ description: 'Beratung', quantity: 8, unit: 'HUR', unitPrice: 150 })
.template('minimal')
.generate()
if (result.success) {
await result.savePdf('./rechnung.pdf')
}Alle verfügbaren SDKs ansehen.
Nächste Schritte
- Authentifizierung - API-Schlüssel-Verwaltung
- Templates - Die 3 Template-Designs
- API-Referenz - Vollständige API-Dokumentation