Dossiers

Dossiers können über die REST-API gem. Kapitel Operationen bedient werden. Zusätzlich stehen folgende Funktionen für Dossiers zur Verfügung.

Dossier übertragen

Der Dossier-Verantwortliche kann über den Endpoint @transfer-dossier an eine neue Person übertragen werden. Dabei wird überprüft, ob old_userid der aktuelle Dossier-Verantwortliche ist. Ist dies der Fall, wird der Benutzer mit der User-ID new_userid als neuer Verantwortlicher gesetzt. Benachrichtigungen, die normalerweise bei einer Änderung ausgelöst werden, werden unterdrückt. Dieser Endpoint wird mit einer Berechtigung geschützt: opengever.api.TransferAssignment Die Berechtigung ist standardmässig den Rollen Administrator und Manager zugewiesen.

Standardmässig werden auch Subossiers, welche explizit auf den früheren Benutzer gesetzt waren, auf den neuen Verantwortlichen übertragen.

Beispiel-Request:

POST /dossier-1/@transfer-dossier HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "old_userid": "john.doe",
  "new_userid": "robert.ziegler"
}

Beispiel-Response:

HTTP/1.1 204 No content

Übertragen von Subdossiers unterbinden

Über die Option recursive kann gesteuert werden, ob Subdossiers auch übertragen werden sollen, oder nicht.

Standardmässig ist diese Option aktiviert.

Beispiel-Request:

POST /dossier-1/@transfer-dossier HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  "old_userid": "john.doe",
  "new_userid": "robert.ziegler",
  "recursive": false
}

Beispiel-Response:

HTTP/1.1 204 No content

Dossier erstellen samt Beteiligungen

Über den participations Parameter lassen sich Beteiligungen direkt bei der Dossiererstellung miterstellen. Unterstützt werden dabei die Referenz von bestehenden Kontakten/Benutzern anhand der Kontakt ID im Key participant_id, wie auch die Angabe von Kontaktinformationen. Dabei findet eine Prüfung statt ob dieserr bereits existiert oder neu erstellt werden muss.

Beispiel-Request mit participant_id:

POST /position-1 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
   "@type": "opengever.dossier.businesscasedossier",
   "title": "Test 123",
   "responsible": "hugo.boss",
   "participations": [
      {
         "participant_id": "person:6fbef39e-4ad7-50d9-a96c-c0a68a2cf6e6",
         "roles": ["regard", "participation"]
      }
   ]
}

Beispiel-Response:

HTTP/1.1 204 No content

Beispiel-Request mit Kontaktangaben:

POST /position-1 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
   "@type": "opengever.dossier.businesscasedossier",
   "title": "Test 123",
   "responsible": "hugo.boss",
   "participations": [
      {
         "type": "person",
         "firstName": "Hans",
         "officialName": "Muster",
         "thirdPartyId": "756. XXXX. XXXX. XX",
         "roles": ["regard"]
      }
   ]
}

Beispiel-Response:

HTTP/1.1 204 No content