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.