Erlaubte Werte lesen
Benötigte Berechtigung:sales:read(Ausgangsrechnungen und Entwürfe lesen)
Liefert, was ein Layout wählen kann: die Module mit Bereichen, Eigenschaften und erlaubten Werten, die Vorlagen (presets) mit ihren Kombinationen aus Schrift und Farbe (recipes), die Belegarten, die Musterfälle der Vorschau und die Bausteine. Pfade und Werte für set stehen unter modules[].properties, Grenzen zwischen Werten unter modules[].limits.
Benötigt einen Schlüssel mit der Berechtigung sales:read oder read.
AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
Erfolg.
application/json- response
Was ein Layout wählen kann.
blockLimits?Höchstzahl der Bausteine.
blocks?array<>|Die Bausteine.
cases?|Musterfälle der Vorschau je Belegart, dazu recurring und xrechnung; der erste ist der Standard.
documentKinds?array<string>|Belegarten einer Zuweisung; * gilt für alle ohne eigenes Layout.
modules?array<>|Die Module. classic ist das bisherige Layout ohne Einstellungen.
presets?array<>|Die Vorlagen mit ihren Kombinationen aus Schrift und Farbe.
curl --fail-with-body "https://app.bimetrics.de/api/layouts/catalog" \ -H "Authorization: Bearer $BIMETRICS_API_KEY"{ "blockLimits": { "perLayout": 8, "perSlot": 3 }, "blocks": [ { "group": "Persönlich", "id": "thanks", "kinds": [ "invoice", "proposal", "order_confirmation" ], "name": "Dank", "properties": [ { "default": "order", "level": "", "name": "Satz", "path": "sentence", "type": "choice", "values": [ { "id": "order", "name": "Vielen Dank für Ihren Auftrag." }, { "id": "trust", "name": "Vielen Dank für Ihr Vertrauen." } ] } ], "slots": [ "afterTotals" ], "version": 1 } ], "cases": { "invoice": [ "standard", "long", "mixed_rates", "reverse_charge", "no_logo" ], "payment_reminder": [ "standard", "dunning", "partial_payment", "no_logo" ] }, "documentKinds": [ "*", "invoice", "proposal", "order_confirmation", "invoice_correction", "cancellation", "payment_reminder" ], "modules": [ { "din5008": "B", "editable": true, "id": "modern", "limits": [ { "then": { "header.logo.size": { "atMost": "L" } }, "when": { "header.band": true } } ], "name": "Modern", "properties": [ { "default": 14, "level": "page", "max": 20, "min": 10, "name": "Rand oben", "path": "page.margin.top", "step": 1, "type": "number", "unit": "mm" }, { "default": false, "level": "header", "name": "Auf Farbband", "path": "header.band", "type": "toggle" }, { "default": "M", "level": "header.logo", "name": "Größe", "path": "header.logo.size", "type": "step", "values": [ { "id": "S", "maxMm": [ 32, 11 ], "name": "S" }, { "id": "M", "maxMm": [ 48, 16 ], "name": "M" }, { "id": "L", "maxMm": [ 64, 22 ], "name": "L" }, { "id": "XL", "maxMm": [ 80, 30 ], "name": "XL" } ] } ], "regions": [ { "id": "header", "level": "region", "name": "Kopf" }, { "id": "header.logo", "level": "element", "name": "Logo", "parent": "header" } ], "short": "Logo im Kopf, ruhige Tabelle, Anschrift nach DIN 5008 Form B", "slots": [ "belowHeader", "abovePositions", "belowPositions", "payment", "afterTotals", "footer" ], "version": 2 } ], "presets": [ { "id": "modern", "module": "modern@2", "name": "Modern", "recipes": [ { "fonts": { "text": "liberation-sans", "title": "liberation-sans" }, "id": "plain", "line": "Liberation Sans für Titel und Text · nur Schwarz", "name": "Schlicht", "values": { "header.rule": false, "items.head.style": "bold", "title.brand": false } }, { "fonts": { "text": "liberation-sans", "title": "work-sans" }, "id": "friendly", "line": "Work Sans und Liberation Sans · Titel und Tabellenkopf in Hausfarbe", "name": "Freundlich", "values": { "header.rule": false, "items.head.style": "brand", "title.brand": true } } ], "short": "Logo rechts, ruhige Linien", "values": { "footer.pageNumber": "auto", "footer.titles": false, "page.margin.left": 25 } } ]}Layouts zuweisen PUT
Legt fest, welches Layout für welche Belegart gilt, wie „Gilt für“ im Editor. Offene Entwürfe einer Belegart drucken danach mit ihrem neuen Layout, ausgestellte behalten ihres. Mit `expected` antwortet die Route mit `409 LayoutVersionConflict`, wenn sich die Zuweisung seit dem Lesen geändert hat. Benötigt einen Schlüssel mit der Berechtigung `layout:write`.
Vorschau rendern POST
Rendert ein Layout als SVG-Seiten und speichert nichts: das aktuelle Layout einer Belegart, eine Version (`versionId`) oder eine Gestaltung (`spec`), jeweils mit ungespeicherten Operationen (`operations`, wie bei `changeLayout`). Gezeigt wird ein Musterbeleg mit den Daten der Firma (`source.kind` `sample` mit `documentType` und `case` aus dem Katalog), ein eigener Entwurf (`draft` mit `documentType` und `id`) oder ein ausgestellter Beleg (`issued` mit `id`). Je Firma läuft eine Vorschau: Eine neuere, auch im Editor, beendet die ältere mit `409 PreviewSuperseded`. Eine ID einer anderen Firma ergibt `404 LayoutNotFound`. Es gelten dieselben Grenzen wie in der App, dazu 60 Aufrufe je Minute und Schlüssel. Benötigt einen Schlüssel mit der Berechtigung `sales:read` oder `read`.