====== Workflowübergaben ======
**B2Base · 1.0.0-draft.1 · Projektentwurf**
Daten, Aufgaben und Dokumentverweise an einen Folgeworkflow, eine E-Mail-Übergabe oder einen Skriptendpunkt beschreiben.
[[schemes:scheme|Bibliothek]] · [[schemes:process|Aufgaben, Dokumente und Übergaben]] · [[schemes:principles|Internationale Grundregeln]]
===== Direkt verwenden =====
[[b2schema>1.0.0-draft.1/process/handoff.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/process/handoff.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/process/handoff.examples.json|Beispieldaten]]
**Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]]
===== Felder im Überblick =====
^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^
| ''id'' | string | Ja | Eindeutige Übergabekennung; Empfänger soll Wiederholungen anhand dieser ID erkennen. |
| ''kind'' | string | Ja | Art des Zielsystems. |
| ''target'' | string | Ja | HTTPS-Ziel oder mailto-URI je nach kind; keine Zugangsdaten oder Tokens in der URI. |
| ''sourceWorkflowId'' | string | Nein | Kennung des sendenden Workflowlaufs. |
| ''payload'' | object | Ja | Explizit freigegebene Nutzdaten. |
| ''createdAt'' | string | Nein | Zeitpunkt der Auftragserstellung. |
| ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern. |
Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz.
===== International richtig einsetzen =====
* Die drei Übergabearten besitzen dieselbe Datenhülle. Die Integration bestimmt Authentifizierung, Freigabe, Wiederholungsstrategie und Fehlerbehandlung.
* payload.data ist absichtlich fachlich offen und wird zusätzlich gegen payload.schemaId validiert. Ein gültiger Umschlag allein reicht nicht.
* Der derzeitige BPMN-Interpreter verwendet seine bisherigen Endereignisse. Dieses Schema dokumentiert ein neues Austauschformat und wird erst durch einen ausdrücklich implementierten Adapter ausgeführt.
===== Gültige Beispiele =====
Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit.
==== Beispiel 1 ====
{
"id": "urn:example:handoff:42",
"kind": "workflow",
"target": "https://example.org/workflows/review",
"payload": {
"schemaId": "https://b2base.eu/schemas/1.0.0-draft.1/financial/money.schema.json",
"data": {
"amount": "125.00",
"currency": "EUR"
}
}
}
==== Beispiel 2 ====
{
"id": "urn:example:handoff:43",
"kind": "email",
"target": "mailto:workflow@example.org",
"payload": {
"schemaId": "https://b2base.eu/schemas/1.0.0-draft.1/person/nameandbirthdetails.schema.json",
"data": {
"name": {
"preferredName": "Sukarno"
}
}
}
}
===== Umstellung aus dem bisherigen Wiki =====
Neuer Standard. Keine vorhandenen Endereignisse, Skripte oder E-Mail-Ziele werden automatisch umgestellt oder aufgerufen.
[[schemes:migration|Änderungsübersicht und Migrationsregeln]]
===== Vollständiges Schema =====
Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://b2base.eu/schemas/1.0.0-draft.1/process/handoff.schema.json",
"title": "Workflowübergaben",
"$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
"type": "object",
"description": "Ein Übergabeauftrag; keine automatische Ausführung.",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Eindeutige Übergabekennung; Empfänger soll Wiederholungen anhand dieser ID erkennen.",
"format": "uri"
},
"kind": {
"type": "string",
"minLength": 1,
"description": "Art des Zielsystems.",
"enum": [
"workflow",
"email",
"script"
]
},
"target": {
"type": "string",
"minLength": 1,
"description": "HTTPS-Ziel oder mailto-URI je nach kind; keine Zugangsdaten oder Tokens in der URI.",
"format": "uri"
},
"sourceWorkflowId": {
"type": "string",
"minLength": 1,
"description": "Kennung des sendenden Workflowlaufs.",
"format": "uri"
},
"payload": {
"type": "object",
"description": "Explizit freigegebene Nutzdaten.",
"properties": {
"schemaId": {
"type": "string",
"minLength": 1,
"description": "Schema der data-Nutzdaten.",
"format": "uri"
},
"data": {
"type": "object",
"description": "Fachdaten; gegen schemaId gesondert vollständig validieren.",
"additionalProperties": true
},
"taskRefs": {
"type": "array",
"description": "Aufgabenreferenzen.",
"items": {
"type": "string",
"minLength": 1,
"description": "Aufgaben-URI.",
"format": "uri"
}
},
"documentRefs": {
"type": "array",
"description": "Dokumentreferenzen.",
"items": {
"type": "string",
"minLength": 1,
"description": "Dokument-URI.",
"format": "uri"
}
}
},
"required": [
"schemaId",
"data"
],
"additionalProperties": false
},
"createdAt": {
"type": "string",
"minLength": 1,
"description": "Zeitpunkt der Auftragserstellung.",
"format": "date-time"
},
"extensions": {
"type": "object",
"description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.",
"properties": {},
"additionalProperties": true,
"propertyNames": {
"format": "uri"
}
}
},
"required": [
"id",
"kind",
"target",
"payload"
],
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {
"kind": {
"const": "email"
}
},
"required": [
"kind"
]
},
"then": {
"properties": {
"target": {
"pattern": "^mailto:[^?]+"
}
}
}
},
{
"if": {
"properties": {
"kind": {
"enum": [
"workflow",
"script"
]
}
},
"required": [
"kind"
]
},
"then": {
"properties": {
"target": {
"pattern": "^https://"
}
}
}
}
],
"examples": [
{
"id": "urn:example:handoff:42",
"kind": "workflow",
"target": "https://example.org/workflows/review",
"payload": {
"schemaId": "https://b2base.eu/schemas/1.0.0-draft.1/financial/money.schema.json",
"data": {
"amount": "125.00",
"currency": "EUR"
}
}
},
{
"id": "urn:example:handoff:43",
"kind": "email",
"target": "mailto:workflow@example.org",
"payload": {
"schemaId": "https://b2base.eu/schemas/1.0.0-draft.1/person/nameandbirthdetails.schema.json",
"data": {
"name": {
"preferredName": "Sukarno"
}
}
}
}
]
}
===== Quellen und Abgrenzung =====
* [[https://json-schema.org/understanding-json-schema/structuring|JSON Schema: Aufbau und Referenzen]]
* [[https://www.rfc-editor.org/rfc/rfc3339.html|IETF RFC 3339: Datum und Zeitstempel]]
Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen.
[[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]]