bimetricsEntwickler
Layouts

Vorschau rendern

Als Markdown ansehen

Benötigte Berechtigung:sales:read(Ausgangsrechnungen und Entwürfe lesen)

POST
/api/layouts/preview

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.

Authentifizierung

headerAuthentifizierungBearer <bm_…>

Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.

Request-Body

Optional versionId oder spec, nicht beides; ohne beide das aktuelle Layout der Belegart. Optional operations (höchstens 20) und source, ohne source ein Muster der Rechnung.

application/json
  1. body

Antworten

Erfolg.

application/json
  1. response

Eine gerenderte Vorschau; gespeichert wird nichts.

notice?"amounts_differ"

amounts_differ: Ein ausgestellter Beleg zeigt eine andere Summe als gespeichert, etwa bei alten Angeboten. Der Beleg selbst bleibt, wie er ist.

Wert in"amounts_differ"
pages?array<string>|

Die Seiten als SVG.

version?|

Die gezeigte gespeicherte Version; null mit spec, mit ungespeicherten Operationen oder ohne eigenes Layout.

Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/layouts/preview" \  -H "Authorization: Bearer $BIMETRICS_API_KEY" \  -H "Content-Type: application/json" \  -d '{"operations":[{"op":"set","path":"header.logo.size","value":"L"},{"op":"brandColor","value":"#1F5F5B"}],"source":{"case":"standard","documentType":"invoice","kind":"sample"}}'
Beispielantwort
{  "pages": [    "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 595.28 841.89\">…</svg>"  ],  "version": null}