Remote Workflow-Transitionen¶
Der @remote-workflow
Endpoint erlaubt es, eine Workflow-Transition mandantenübergreifend auszulösen.
Der Aufruf erfolgt genau gleich wie ein Aufrauf des regulären @workflow Endpoints, mit dem einzigen Unterschied, dass das Objekt über eine remote_oguid
(im JSON body des Requests) spezifiziert wird, statt über den Pfad auf welchem der Endpoint aufgerufen wird.
Das über die remote_oguid
identifizierte Objekt muss sich auf einem anderen Mandant befinden, und muss von einem Typ sein, dessen OGUID im GlobalIndex indexiert ist (dies sind zur Zeit nur Aufgaben).
Das Backend bestimmt dann den entsprechenden Mandanten, leitet den Request an diesen weiter (im Security-Kontext des Benutzers), und leitet die Response wieder an den Client zurück. Wenn der Benutzer auf dem remote-Mandanten die nötigen Berechtigungen hat, wird dadurch die entsprechende Workflow-Transition durchgeführt.
Im untenstehenden Beispiel ist fd
der Remote-Mandant, und der Benutzer will via seinem lokalen Mandanten, rk
, eine Aufgabe auf dem fd
akzeptieren. Diese Aufgabe ist durch die remote_oguid fd:12345
identifiziert.
Beispiel-Request:
POST /rk/@remote-workflow/task-transition-open-in-progress HTTP/1.1 Content-Type: application/json Accept: application/json { "remote_oguid": "fd:12345", "text": "Ich akzeptiere diese Aufgabe" }
Beispiel-Response:
HTTP/1.1 200 OK Content-Type: application/json { "action": "task-transition-open-in-progress", "actor": "hugo.boss", "comments": "", "review_state": "task-state-in-progress", "time": "2020-08-17T13:28:04+00:00", "title": "In Arbeit" }