API: Berichte

Prüfberichte über die API abfragen und das PDF über einen zeitlich begrenzten, signierten Link laden, zum Beispiel für ERP oder Dokumentenablage.

Stand:

Berichte sind über die API nur lesbar. Alle Endpunkte brauchen die Berechtigung read:reports.

Methode Pfad Inhalt
GET /reports Berichte, blätterbar
GET /reports/{id} ein Bericht mit frischem PDF-Link
GET /reports/{id}/pdf?… das PDF; nur über den Link aus pdf.download_url

Berichte abfragen#

Filter für GET /reports: work_order_id, customer_id, site_id, status sowie limit, cursor, updated_since.

{
  "data": {
    "id": "01k7c5d7e9f1g3h5j7k9m1n3p5",
    "number": "B-2026-00211",
    "version": 2,
    "full_number": "B-2026-00211-v2",
    "title": "Wartungsbericht",
    "status": "sent",
    "work_order_id": "01k7b2c4d6e8f0g2h4j6k8m0n2",
    "order_number": "A-2026-00012",
    "customer_id": "01k7a3m9x2c4d5e6f7g8h9j0k1",
    "site_id": "01k7a3n4q8r2s6t0v4w8x2y6z0",
    "supersedes_report_id": "01k7c4b6d8f0g2h4j6k8m0n2p4",
    "generated_at": "2026-11-03T10:41:05+00:00",
    "approved_at": "2026-11-03T14:02:47+00:00",
    "verification_code": "K7M2-QX9T-PA4H",
    "verification_url": "https://app.revisio-app.net/verify/K7M2QX9TPA4H",
    "pdf": {
      "sha256": "9f2c4e1a7b3d5f6e8a0c2b4d6f8e0a1c3b5d7f9e1a2c4b6d8f0e2a4c6b8d0f1e",
      "download_url": "https://app.revisio-app.net/api/public/v1/reports/01k7c5d7e9f1g3h5j7k9m1n3p5/pdf?expires=1793714525&signature=…&token=…",
      "expires_at": "2026-11-04T07:22:05+00:00"
    },
    "created_at": "2026-11-03T10:40:51+00:00",
    "updated_at": "2026-11-03T14:05:12+00:00"
  }
}
Feld Bedeutung
status pending (in Erzeugung), generated (erzeugt), approved (freigegeben), sent (versendet), failed (Erzeugung fehlgeschlagen), delivery_failed (Versand fehlgeschlagen), superseded (durch Korrekturversion ersetzt)
version, full_number Version 1 hat keine Endung, Korrekturversionen enden auf -v2, -v3 …
supersedes_report_id Bericht, den diese Korrekturversion ersetzt
verification_code, verification_url Prüfcode und öffentliche Prüfseite, auf der jeder die Echtheit des Berichts bestätigen kann
pdf null, solange noch kein PDF vorliegt
pdf.sha256 Prüfsumme des PDF; nach dem Download vergleichen

PDF herunterladen#

pdf.download_url ist ein signierter Link, der 10 Minuten gilt. Er braucht keinen Authorization-Header und kann deshalb direkt an einen Browser, ein Ablagesystem oder einen Download-Dienst weitergegeben werden.

curl -s "https://app.revisio-app.net/api/public/v1/reports/01k7c5d7e9f1g3h5j7k9m1n3p5" \
  -H "Authorization: Bearer rvs_IhrToken" \
  | jq -r '.data.pdf.download_url' \
  | xargs curl -s -o B-2026-00211-v2.pdf

sha256sum B-2026-00211-v2.pdf
  • Jeder Abruf von GET /reports/{id} oder der Liste erzeugt einen neuen Link. Speichern Sie Links nicht, sondern holen Sie bei Bedarf einen frischen.
  • Abgelaufene oder veränderte Links ergeben 403 invalid_signature.
  • Der Link ist an den API-Zugang gebunden. Wird der Zugang widerrufen, läuft ab oder verliert die Berechtigung read:reports, sind auch ausgegebene Links sofort ungültig (404).
  • Jeder Download steht im Protokoll mit dem Namen des Zugangs.

Korrekturversionen#

Wird ein Bericht korrigiert, legt Revisio eine neue Version mit derselben number und höherer version an. Die alte Version bekommt den Status superseded, die neue verweist mit supersedes_report_id auf sie. Ein Ablagesystem sollte deshalb die alte Datei als ersetzt kennzeichnen und nicht löschen; beide Fassungen bleiben über ihren Prüfcode nachweisbar. Mehr dazu unter Korrekturversion.

Wann ein Bericht bereitsteht#

Der Webhook report.created meldet, sobald das PDF vorliegt. report.sent meldet den Versand an die Berichtsempfänger. Wer Berichte erst nach der Freigabe archivieren möchte, prüft status auf approved oder sent. Siehe Webhook-Ereignisse.

Schnittstelle (API und Webhooks)

  • API und Webhooks im Überblick

    Was die Schnittstelle kann, wie ein Fremdsystem angebunden wird und wo die technischen Einzelheiten stehen.

  • Grundlagen: Anmeldung, Formate, Blättern, Fehler

    Anmeldung mit Token, Berechtigungen, Datenformate, Blättern mit Cursor, Abgleich mit updated_since, Rate-Limit und Fehlercodes der API.

  • API: Stammdaten

    Kunden, Objekte, Anlagen mit SW-Nummer und Auftragstypen über die API lesen, mit Filtern und allen Feldern.

  • API: Aufträge

    Aufträge über die API abfragen, anlegen und ihren Status ändern, mit Filtern, Feldern, erlaubten Statuswechseln und Beispielen.

  • API: Berichte

    Prüfberichte über die API abfragen und das PDF über einen zeitlich begrenzten, signierten Link laden, zum Beispiel für ERP oder Dokumentenablage.

  • API: Störungen

    Störungen über die API abfragen und melden, mit Statuswerten, Prioritäten, Störungskategorien und Reaktionszeit.

  • Webhooks empfangen und prüfen

    Aufbau einer Webhook-Nachricht, Header, Prüfung der Signatur mit Beispielen für PHP, Node.js und Python, Wiederholungen, Duplikate und Reihenfolge.

  • Webhook-Ereignisse

    Alle Ereignisse, die Revisio per Webhook meldet, wann sie ausgelöst werden und welche Daten sie enthalten.

  • Anwendungsbeispiele

    Typische Anbindungen Schritt für Schritt – ERP-Abrechnung, Berichtsablage im DMS, Störungsmeldung aus einer Leitstelle, Stammdatenabgleich und Wartungsplanung im ERP.

Verwandte Artikel

  • Anlagen, Berichte und Betriebsbuch im Portal

    Was der Kunde auf der Seite einer Anlage sieht, wie er Komponenten durchsucht, Prüfberichte herunterlädt und das Betriebsbuch liest.

  • Rechnungen

    Rechnungsentwürfe aus Aufträgen und Vertragspauschalen bearbeiten, festschreiben, als PDF und XRechnung ausgeben, korrigieren, stornieren oder an Lexware Office und sevDesk übergeben.

  • Prüfberichte

    Wie Berichte aus dem eingefrorenen Stand entstehen, was die Statuswerte bedeuten und wie Sie Berichte finden, ansehen und herunterladen.

  • Echtheit eines Berichts prüfen

    Mit dem Prüfcode und dem QR-Code im Bericht prüft jeder ohne Anmeldung, ob ein Bericht gültig und das PDF unverändert ist.