Dossier-Transfers¶
Über den @dossier-transfers
Endpoint können Dossier-Transfers für den
Übertrag von einem Mandanten zu einem anderen erstellt werden.
Dies ist eine interne API, und sie kann nur von GEVER selbst verwendet werden.
Dossier-Transfer erstellen¶
Mittels eines POST Requests kann ein Dossier-Transfer erstellt werden:
Beispiel-Request:
POST /@dossier-transfers HTTP/1.1 Accept: application/json { "title": "Transfer Title", "message": "Transfer Message", "target": "recipient_admin_unit_id", "expires": "2024-02-23T15:45:00+00:00", "root": "dossier_uid", "documents": [ "document1_uid", "document2_uid" ], "participations": [ "participation1_id", "participation2_id" ], "all_documents": false, "all_participations": false }
Beispiel-Response:
HTTP/1.1 201 Created Content-Type: application/json Location: /@dossier-transfers/1 { "@id": "http://nohost/plone/@dossier-transfers/1", "@type": "virtual.ogds.dossiertransfer", "id": 1, "title": "Transfer Title", "message": "Transfer Message", "created": "2024-02-18T15:45:00+00:00", "expires": "2024-02-23T15:45:00+00:00", "state": "pending", "source": "plone", "target": "recipient", "source_user": "regular_user", "root": "createresolvabledossier000000001", "documents": [ "document1_uid", "document2_uid" ], "participations": [ "participation1_id", "participation2_id" ], "all_participations": false, "all_documents": false }
Dossier-Transfers auflisten¶
Mittels eines GET Requests können Dossier-Transfers aufgelistet werden:
Beispiel-Request:
GET /@dossier-transfers HTTP/1.1 Accept: application/json
Beispiel-Response:
HTTP/1.1 200 OK Content-Type: application/json { "@id": "http://nohost/plone/@dossier-transfers", "items": [ { "@id": "http://nohost/plone/@dossier-transfers/1", "@type": "virtual.ogds.dossiertransfer", "id": 1, "title": "Transfer Title", "message": "Transfer Message", "created": "2024-02-18T15:45:00+00:00", "expires": "2024-03-19T15:45:00+00:00", "state": "pending", "source": { "token": "plone", "title": "Hauptmandant" }, "target": { "token": "recipient", "title": "Remote Recipient" }, "source_user": "jurgen.konig", "root": "createresolvabledossier000000001", "documents": [ "createresolvabledossier000000003" ], "participations": null, "all_documents": false, "all_participations": true }, { "@id": "http://nohost/plone/@dossier-transfers/2", "@type": "virtual.ogds.dossiertransfer", "id": 2, "title": "Transfer 2", "message": "Transfer Message", "created": "2024-02-18T15:45:00+00:00", "expires": "2024-03-19T15:45:00+00:00", "state": "pending", "source": { "token": "plone", "title": "Hauptmandant" }, "target": { "token": "recipient", "title": "Remote Recipient" }, "source_user": "jurgen.konig", "root": "createresolvabledossier000000001", "documents": [ "createresolvabledossier000000003" ], "participations": [ "meeting_user" ], "all_documents": false, "all_participations": false } ] }
Über die Query-String Parameter direction
und states
können die
zurückgegebenen Transfers gefiltert werden nach Richtung
(outgoing
| incoming
) und/oder Zustand (pending
, completed
):
GET /@dossier-transfers?direction=outgoing HTTP/1.1 Accept: application/jsonGET /@dossier-transfers?states:list=pending HTTP/1.1 Accept: application/json
Mit einem GET Request auf /@dossier-transfers/<id>
kann ein einzelner
Dossier-Transfer abgefragt werden.
Dossier-Transfers löschen¶
Mittels eines DELETE Requests können Dossier-Transfers gelöscht werden:
Beispiel-Request:
DELETE /@dossier-transfers/1 HTTP/1.1 Accept: application/json
Beispiel-Response:
HTTP/1.1 204 No Content Content-Type: application/json
Dossier-Transfer-Inhalt abrufen¶
Mit einem GET Request auf /@dossier-transfers/<id>?full_content=1
kann
zusätzlich zu den Metadaten eines Dossier-Transfers eine Serialisierung des
Inhalts des Transfers abgerufen werden.
Dieser serialisierte Inhalt wird in einem zusätzlichen key content
zurückgegeben:
Beispiel-Request:
GET /@dossier-transfers/42?full_content=1 HTTP/1.1 Accept: application/json
Beispiel-Response:
HTTP/1.1 200 OK Content-Type: application/json { "@id": "http://localhost:8080/fd/@dossier-transfers/4", "...": "...", "content": { "contacts": { "person:39c2789d-a123-44ba-a3b1-4323d6e941c6": { "id": "39c2789d-a123-44ba-a3b1-4323d6e941c6", "firstName": "John", "fullName": "John Doe", "...": "..." } }, "documents": [ { "@id": "http://localhost:8080/fd/dossier-20/dossier-21/document-44", "@type": "opengever.document.document", "UID": "a663689540a34538b6f408d4b41baee8", "...": "..." } ], "dossiers": [ { "@id": "http://localhost:8080/fd/dossier-20", "@type": "opengever.dossier.businesscasedossier", "UID": "1b6d8dbf1f954bbb9510a1b65d51ede5", "...": "...", "participations": [ [ "person:39c2789d-a123-44ba-a3b1-4323d6e941c6", ["final-drawing", "regard"] ] ] }, { "@id": "http://localhost:8080/fd/dossier-20/dossier-21", "@type": "opengever.dossier.businesscasedossier", "UID": "f510a6bb410f40258b53090bf2f0c545", "...": "..." } ] }, "...": "..." }
Blobs von Dossier-Transfers herunterladen¶
Mit einem GET Request auf /@dossier-transfers/<transfer-id>/blob/<document-uid>
kann das Blob eines Dokuments heruntergeladen werden. Der Request muss dazu einem
gültigen Token für diesen Transfer authentisiert werden, und das Dokument muss
in diesem Transfer enthalten sein.