Kasseneck API

HTTPS-Schnittstelle für österreichische Registrierkassen nach RKSV. Erstelle signierte Belege, rufe sie ab und lade Beleg-PDFs — für POS-Systeme, Kassenhersteller und Integrationspartner.

Interaktive Referenz → OpenAPI-Spezifikation Dart/Flutter-Paket llms.txt

Was ist die Kasseneck API?

Die Kasseneck API setzt die österreichische Registrierkassensicherheitsverordnung (RKSV) um (BAO §131, BMF-DEP). Jeder Beleg wird kryptografisch signiert (ES256) und in eine manipulationssichere Kette (DEP – Datenerfassungsprotokoll) eingehängt. Kasseneck ist ein Produkt der Kreiseck.

Offizielles SDK (Dart / Flutter)

Für Flutter- und Dart-Apps gibt es das offizielle Paket kasseneck_api auf pub.dev — der schnellste Weg zur Integration ohne manuelle HTTP-Aufrufe.

# pubspec.yaml
dependencies:
  kasseneck_api: ^1.0.0

Basis-URL

Alle direkten Aufrufe laufen über HTTPS unter der versionierten Basis:

https://api.kasseneck.at/v2/<endpoint>

Authentifizierung

Geräte-Endpunkte verwenden zwei Merkmale im HTTP-Header:

HeaderBeschreibung
Authorization: Bearer <api_key>Geräte-/API-Schlüssel (kr_live_… bzw. kr_test_…).
cashregister-token: <token>Kassen-Token der Registrierkasse (cb_live_… / cb_test_…).

Test- und Live-Umgebung

Schlüssel mit dem Präfix kr_test_ arbeiten in einer Sandbox (production:false) mit Testsignatur — strukturell valide, aber keine rechtsgültigen RKSV-Belege. Ideal zum Integrieren. kr_live_ erzeugt echte, rechtsgültige Belege.

Antwortformat

JSON-Endpunkte liefern HTTP 200 mit einem einheitlichen Envelope:

{ "status": "success" | "error", "message": "...", "data": { ... } }

Fachliche Fehler kommen ebenfalls mit HTTP 200 und status: "error".

Endpunkte

POST /v2/createReceipt

Erstellt und signiert einen Beleg. Der erste Beleg einer Kasse muss ein start-Beleg sein, danach folgen standard-Belege. Erfordert das aktive Modul registrierkasse.

receiptType: start, standard, zero, cancellation, training.

POST /v2/getReceipt

Ruft einen zuvor erstellten Beleg anhand seiner receiptId ab.

GET /v2/downloadReceipt?fullReceiptId=…

Liefert das Beleg-PDF direkt. Autorisierung über den verschlüsselten fullReceiptId-Token aus der createReceipt-Antwort (Capability-Link, kein API-Schlüssel nötig).

Schnellstart

1) Startbeleg (einmalig zuerst pro Kasse):

curl -X POST https://api.kasseneck.at/v2/createReceipt \
  -H "Authorization: Bearer kr_test_…" \
  -H "cashregister-token: cb_test_…" \
  -H "Content-Type: application/json" \
  -d '{"params":{"receiptType":"start"}}'

2) Umsatzbeleg:

curl -X POST https://api.kasseneck.at/v2/createReceipt \
  -H "Authorization: Bearer kr_test_…" \
  -H "cashregister-token: cb_test_…" \
  -H "Content-Type: application/json" \
  -d '{"params":{"receiptType":"standard","paymentMethod":"cash",
       "items":[{"name":"Kaffee","quantity":2,"unitPriceCents":350,"vatRate":20}]}}'

Die Antwort enthält den signierten Beleg (data.receipt.sig, data.receipt.qr) und den fullReceiptId-Token für das PDF.


Vollständige Schemas, alle Felder und Fehlercodes findest du in der interaktiven Referenz und der maschinenlesbaren OpenAPI-Spezifikation. Zugang und Schlüssel auf Anfrage.