DocumentService (/documents)/

DocumentService (/documents)/

Neben den Methoden zur Suche und Anzeige von Indexdaten bietet der DocumentService noch Funktionen zur Auszeichnung von Dokumentenfavoriten an. Diese Funktionen werden über eine spezielle konfigurierbare Mappe des Benutzers abgebildet, in der die als Favoriten markierten enaio®-Objekte verwaltet werden.

/osrest/api/documents

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert eine gekürzte Version der für den Benutzer gültigen Objektdefinition zurück.

/osrest/api/documents/cabinets

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert eine Liste aller interner Namen für den Benutzer sichtbaren Schränke zurück.

/osrest/api/documents/cabinets/[Schrank]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert alle Ordner aus dem Schrank mit dem gegebenen Namen.

Optionale Parameter sind:

  • metadata (String): Dateiname eines alternativen Metadatenmappings

  • pagesize (Integer): maximale Anzahl der Treffer

  • offset (Integer): Trefferoffset für das Blättern durch die Treffer

  • page (Integer): angeforderte Seite für das Blättern durch die Treffer

/osrest/api/documents/storedqueries

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert eine Liste der gespeicherten Anfragen zurück. Das Feld isIncomplete zeigt bei einer Anfrage an, dass nicht alle ursprünglichen variablen Felder in der Abfrage enthalten sind. Dies passiert dann, wenn ein variables Feld der Anfrage im Nachgang aus der Objektdefinition entfernt wurde ohne den Server neuzustarten.

Optionale Parameter sind:

  • showglobal (String): Ist der Parameter auf 'false' gesetzt, werden globale gespeicherte Anfragen ausgeblendet.

  • foldering (Boolean): Ist der Parameter gesetzt und 'true', werden die Anfragen gemäß des enaio® clients in Ordner strukturiert. Die Rückgabestruktur gleicht dann einem Baum und ist keine plane Liste mehr.

  • refresh (Boolean): Ist der Parameter gesetzt und 'true', wird das Cache ignoriert und die Anfragen neu vom Server abgefragt.

/osrest/api/documents/storedqueries/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert das Ergebnis der gespeicherten Anfrage mit der übergegebenen ID zurück. Für DATE-, TIME- und DATETIME-Felder kann auch <Datum, <=Datum, >Datum, >=Datum/Datum und Zeit/Zeit angegeben werden.
Eine Intervallsuche für Datum, Zeit und Datum/Zeit ist erst ab enaio® 8.1 möglich.

Optionale Parameter sind:

  • metadata (String): Dateiname eines alternativen Metadatenmappings

  • pagesize (Integer): maximale Anzahl der Treffer für den Aufruf

  • offset (Integer): Trefferoffset für das Blättern durch die Treffer

  • page (Integer): angeforderte Seite für das Blättern durch die Treffer

  • autostar (String): Autosternverhalten. Werte gleichen der Server-API-Werte: ("0" = Kein Autostern, "1" = *Anfrageparameter, "2" = Anfrageparameter*, "3" = *Anfrageparameter*). Wird kein Wert angegeben, wird der Wert aus der Clientkonfiguration des Benutzers übernommen.

  • verbose (Boolean): Es wird ein erweitertes generische Metadatenmodell ausgegeben

  • Anfrageparameter als HTTP-Queryparameter [objekt].[feld] (z. B. Email.Absender=Peter)

.../osrest/api/documents/storedqueries/1234?Person.Vorname=Gustav&Person.Nachname=Gans&metadata=MeinMapping

/osrest/api/documents/storedqueries/[id]

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Eingabeformate: JSON

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert das Ergebnis der gespeicherten Anfrage mit der übergebenen ID zurück. Statt der storedqueries/[id] GET-Methode werden hier direkt die VariablenNamen mit den gewünschten Suchwerten als JSON übergeben. Ansonsten sind die Methoden von ihrer Funktionsart her gleich. Für DATE-, TIME- und DATETIME-Felder kann auch <Datum, <=Datum, >Datum, >=Datum/Datum und Zeit/Zeit angegeben werden. Eine Intervallsuche für Datum, Zeit und Datum/Zeit ist erst ab Enaio 8.1 möglich.

Optionale Parameter sind:

  • metadata (String): Dateiname eines alternativen Metadatenmappings

  • pagesize (Integer): maximale Anzahl der Treffer für den Aufruf

  • offset (Integer): Trefferoffset für das Blättern durch die Treffer

  • page (Integer): angeforderte Seite für das Blättern durch die Treffer

  • autostar (String): Autosternverhalten. Werte gleichen der Server-API-Werte: ("0" = Kein Autostern, "1" = *Anfrageparameter, "2" = Anfrageparameter*, "3" = *Anfrageparameter*). Wird kein Wert angegeben, wird der Wert aus der Clientkonfiguration des Benutzers übernommen.

  • verbose (Boolean): Es wird ein erweitertes generische Metadatenmodell ausgegeben

POST JSON Beispiel

{ fields: { "var1": "Kunde*", "var2": "10.12.2015 } }

/osrest/api/documents/storedqueries/add

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Eingabeformate: JSON

  • Unterstützte Ergebnisformate: JSON

Pflichtparameter sind:

  • name (String): Name der Suchanfrage

Die Methode liefert die ID der gespeicherten Suchanfrage zurück. Im POST-Body muss eine Suchanfrage gemäß des /osrest/api/documents/search Aufrufes mitgegeben werden. Hier existiert jedoch aktuell die Einschränkung, dass bei den Listen-Basisparametern nur der erste Wert übernommen wird. Es kann also beispielsweise keine Veroderung von ArchiveState vorgenommen werden. Zudem gelten dieselben Einschränkungen, wie für den Serverjob "DMS.AddStoredQuery".

/osrest/api/documents/tray

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert die Objekte aus der Benutzerablage zurück.

Optionale Parameter sind:

  • metadata (String): Dateiname eines alternativen Metadatenmappings

/osrest/api/documents/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert die Indexdaten des Objektes mit der gegebenen ID.

Optionale Parameter sind:

  • objecttypeid (Integer): ObjektTyp ID des gesuchten Objekts. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • metadata (String): Dateiname eines alternativen Metadatenmappings

  • insertInfo (boolean): Ausgabe aller hinzufügbaren Objekttypen

  • insertInfo_verbose (boolean): ausführlichere Ausgabe aller hinzufügbaren Objekttypen

  • locale  (DE, EN, SP, FR, IT, NL, SV, HU, PL): Mittels einer dieser Abkürzungen in Großbuchstaben wird die Ausgabesprache festgelegt.

  • lockinfo (boolean): Informationen zum Benutzer sowie Datum und Uhrzeit, an dem das Objekt gesperrt wurde. Alternative Werte sind UNLOCKED, SELF oder EXTERN.

  • timestamps (boolean): Bei true werden die Datum-, Zeit- und Datum/Zeit-Basisparameter in Form eines Java-Zeitstempels zurückgegeben.

  • refresh (boolean): ignoriert die zwischengespeicherten Daten und ruft die angefragten Daten neu ab

  • fillLeadingZeros (boolean): Es werden führende Nullen gemäß der enaio Editoreinstellungen bei Werten mit ausgegeben.

  • verbose (boolean): Ausgabe aller Felddaten Deprecated! Bitte documents/search/{Id} verwenden.

Hinweis für insertInfo-Parameter: Im Normalfall werden nur Pflichtfelder eines Objekttyps ausgegeben. Für weitere Felder muss in der Schemadatei ein insertFields-Tag hinzugefügt werden (siehe Beispiel).

Optionale Felder in insertInfo

<cabinet name="Kunde"> <object name="Dokument"> <property name="title" field="Typ"/> <property name="info" field="Beschreibung"/> <insertFields active="true"> <!-- true ist default --> <property field="Beschreibung"/> <!-- Beschreibung ist kein Pflichtfeld --> </insertFields> </object> <cabinet/>

/osrest/api/documents/parent/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert in einer Baumstruktur bestimmte Elternobjekte zu einem Objekt mit der gegebenen ID. Hat ein Objekt mehrere Standorte wird auch nur einer zurückgeliefert. Um Daten zu einem bestimmten Standort zu erhalten, muss eine parentId mitgegeben werden.

Optionale Parameter sind:

  • objecttypeid (Integer): ObjektTypID des gewünschten Objekts. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • parentid (Integer): ID eines bestimmten Elternobjekts

  • parenttypeid (Integer): ObjektTypId des Elternobjekts. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • metadata (String): Dateiname eines alternativen Metadatenmappings

Die Ausgabe entspricht der Form des /osrest/api/documents/parents/[id]-Aufrufs.

/osrest/api/documents/parents/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert eine sortierte, lineare Liste der Elternobjekte zu einem Objekt mit der gegebenen ID. Neben der linear, sortierten Liste, kann auch die Baumstruktur eines Standorts angezeigt werden, was insbesondere für die Darstellung mehrerer Standorte wichtig ist.

Optionale Parameter sind:

  • objecttypeid (Integer): ObjektTypID des gewünschten Objekts. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • metadata (String): Dateiname eines alternativen Metadatenmappings

  • verbose (Boolean): Es wird ein erweitertes generische Metadatenmodell ausgegeben

  • tree (Boolean): Wenn true, wird die Standort-Hierarchie aller Standorte eines Objekts als Baum dargestellt. Dieser Parameter sollte immer mitgegeben und "true" gesetzt werden, andernfalls kann es bei Objekten mit mehreren Standorten zu Problemen kommen. Die "einfache" lineare Ausgabe wird aus Kompatibilitätsgründen weiterhin verwendet.

Beispiel der Ausgabe (Objekt-ID war hier 14007051):

{ "pagesize": 500, "totalHits": 3, "more": false, "documents": [ { "id": "4475", "type": "FOLDER", "fields": { "title": "Stoz Pumpenfabrik GmbH", "info": "Anwender 0234-OS" }, "fav": false, "typeless": false }, { "id": "14003866", "type": "REGISTER", "fields": { "title": "Altbestand", "info": "Einführung enaio, 50 user, Jukebox" }, "fav": false, "typeless": false }, { "id": "14007051", "type": "DOCUMENT", "fields": { "title": "Angebot: STP-AN-1/13", "info": "Einführung ECM...." }, "fav": false, "typeless": false } ] }

/osrest/api/documents/objectHierarchy/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert die Verzeichnisbaumstruktur eines Ordners oder Registers bis zu einer variablen Tiefe. Der Hashwert "hash" auf der obersten Ebene ist ein kumulativer Hashwert, der den gesamten zurückgegebenen Baum beinhaltet. Er kann optional bei späteren Anfragen als Parameter übergeben werden. Wird er mit übergeben und ist er identisch zu dem aktuellen Hashwert, so wird kein Baum vom Server zurückgeliefert. Er ist ja identisch zum bestehenden. Die Hashwerte auf den einzelnen Ebenen des Baumes beziehen sich ausschließlich auf die Ebene selber. Der jeweilige Hashwert bezieht keine Unterordner/Unterregister mit ein. Über diese Hashwerte kann schnell überprüft werden, ob für die Ebene die gecachten Daten verwendet werden können oder ob die Ebene (falls mehr Informationen notwendig sind) über documents/explore neu bezogen werden muss.

Optionale Parameter sind:

  • depth (int): Tiefe der Verzeichnisbaumstruktur

  • hash (String): Hashwert, der mit neuem kumulativ errechnetem Hashwert abgeglichen wird. Bei Gleichheit wird kein Baum zurückgegeben.

  • childschema (String): DOC|REG|ALL- DOC alle Dokumente-, REG alle Register werden automatisch hinzugefügt, ALL Alle Register und Dokumente werden automatisch hinzugefügt

Beispiel der Ausgabe (id=4779;depth=10):

http://localhost:8080/osrest/api/documents/objectHierarchy/4779?depth=10

{ "pagesize": -1, "totalHits": 1, "more": false, "documents": [ { "id": "4779", "type": "FOLDER", "fields": { "title": "null", "info": "0" }, "fav": false, "typeless": false, "hasPages": false, "lastmodified": "1295711263", "children": { "hash": "-1010811263", "documents": [ { "id": "14043114", "type": "REGISTER", "fields": {}, "fav": false, "typeless": false, "hasPages": false, "lastmodified": "1263306900", "children": { "hash": "-363596267", "documents": [ { "id": "4780", "type": "DOCUMENT", "fields": {}, "fav": false, "typeless": false, "hasPages": false, "lastmodified": "1231420126" }, { "id": "5770", "type": "DOCUMENT", "fields": {}, "fav": false, "typeless": false, "hasPages": false, "lastmodified": "1231420126" } ] } } ] } } ], "hash": "840007432" }

 /osrest/api/documents/childrenHierarchy/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

  • Ab enaio 9.00

Die Methode liefert die vollständige Baumstruktur aller Kinder eines Ordners oder Registers.

Beispiel der Ausgabe:

http://localhost:8080/osrest/api/documents/childrenHierarchy/23617

[{ id: "24271", objectTypeId: "6488087", lastmodified: "1499433939000", children: [{ id: "24438", objectTypeId: "6488087", lastmodified: "1520591596000", children: [{ id: "58999", objectTypeId: "6488087", lastmodified: "1520521139000", children: [{ id: "59000", objectTypeId: "196620", lastmodified: "1520521158000", children: [] }] }, { id: "59153", objectTypeId: "6488087", lastmodified: "1520591800000", children: [] }, { id: "59154", objectTypeId: "6488087", lastmodified: "1520591876000", children: [] }] } }]

/osrest/api/documents/variants/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert alle Varianten zu dem Objekt mit der gegebenen ID zurück. Hat das Objekt keine Varianten wird das Objekt als Variante zurückgeliefert.

Optionale Parameter:

  • objectTypeId (Integer): ObjectTypeId des Dokuments. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • verbose (boolean): Reichert die einzelnen Varianten mit einer 'ecmObject' Property an, die ausführlichere Informationen zu den einzelnen Dokumenten bietet (sowie Indexdaten, etc.).

  • refresh (boolean): Übergeht die zwischengespeicherten Daten und ruft die angeforderten Daten neu ab.

{ "id": 14007049, "originId": 0, "version": "Original", "active": false, "children": [ { "id": 14007051, "originId": 14007049, "version": "1.0.0", "active": true, "children": [ { "id": 14041838, "originId": 14007051, "version": "1.1.0", "active": false, "children": [] } ] }, { "id": 14119107, "originId": 14007051, "version": "2.0.0", "active": false, "children": [] } ] }

/osrest/api/documents/variants/setactive/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: HTTP/204 (No Content)

Die Methode setzt die Variante mit der übergebenen Varianten-ID als aktive Variante.

Path Parameter:

  • id (int): ID der Variante, die aktiviert werden soll

Optionale Query Parameter:

  • activevariant (Integer): ID der Variante, die gerade aktiv ist. Der Parameter ist optional, aber aus Performanzgründen wird dringend empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • objecttypeid (Integer): ObjectTypeId des Dokuments. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

/osrest/api/documents/variants/create/[originid]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode erstellt eine neue Untervariante zu der Variante mit der übergebenen ID. Ist der Job erfolgreich, wird die neu erstellte Variante zurückgeliefert.

Path Parameter:

  • originid (int): ID der Variante aus der das neue Dokument erstellt werden soll

Pflicht Parameter:

  • type (String): Gibt an auf welcher Ebene die neue Variante angelegt werden soll (als neue Hauptvariante, Nebenvariante oder Untervariante). Mögliche Werte sind: "main", "parallel", "sub".

Optionale Parameter:

  • objecttypeid (Integer): ObjectTypeId des Dokuments. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • verbose (boolean): Reichert die zurückgelieferte Variante mit einer 'ecmObject' Property an, die ausführlichere Informationen zu den einzelnen Dokumenten bietet (sowie Indexdaten, etc.).

/osrest/api/documents/explore/[id]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ergebnisformate: JSON

Die Methode liefert den Inhalt des Ordners oder Registers mit der gegebenen ID.

Optionale Parameter sind:

  • metadata (String): Dateiname eines alternativen Metadatenmappings

  • pagesize (Integer): maximale Anzahl der Treffer

  • offset (Integer): Trefferoffset für das Blättern durch die Treffer

  • insertInfo (Boolean): Ausgabe aller hinzufügbaren Objekttypen (vgl. Hinweis für insertInfo-Parameter)

  • page (Integer): angeforderte Seite für das Blättern durch die Treffer

/osrest/api/documents/explore

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Eingabeformate: JSON

  • Unterstützte Ergebnisformate: JSON

Optionale Parameter sind: 

  • pagesize (Integer): maximale Treffer pro Seite

  • offset (Integer): Trefferoffset für das Blättern durch die Treffer

  • page (Integer): angeforderte Seite für das Blättern durch die Treffer

  • registertreeids (Boolean): Im Ergebnis findet sich eine Sektion des gesamten Registerbaumes vom Ordner, in welchem sich das angefragte Register befindet (Ab 9.00)

Eine Anfrage für einen explore Aufruf muss immer die "osid" des zu öffnenden Eltern-Objektes beinhalten. Da auch das Eltern-Objekt ausgegeben wird, kann mit dem fieldschema_mode Wert die auszuliefernden Felder jenes Objekts festgelegt werden. Explore kennt dabei folgende Parameter, die im JSON auf der oberster Ebene angegeben werden müssen:

Parameter

Typ

Beschreibung

Default

Parameter

Typ

Beschreibung

Default

osid

String

ID des Eltern-Objekts ist ein Pflichtfeld, muss also gesetzt werden.

-

fieldschema_mode

[MIN, DEF, ALL]

Legt fest in welchem Modus die Felder des angefragten Objektes zurückgegeben werden. MIN= nur Basisparameter | DEF= die im fieldschema-Objekt definierten Felder | ALL= alle Felder

MIN

childschema_mode

[DOC, REG, ALL, DEF]

Legt fest in welchem Modus die Kind-Objekte zurückgegeben werden.

  • DOC = Nur Dokumenttypen

  • REG = nur Registertypen

  • ALL = Alle möglichen Objekttypen

  • DEF = nur die in "children" definierten Objekttypen

ALL

childfieldsschema_mode

[MIN, DEF, ALL]

Legt fest in welchem Modus die Felder der Kind-Objekte zurückgegeben werden. MIN= nur Basisparameter der Kinder | DEF= die in "children" definierten Felder | ALL= alle Felder der Kinder

MIN

children

List[child]

Definiert die Kindtypen, die ausgegeben werden sollen. Muss in Kombination mit "childschema_mode": DEF verwendet werden.

null

explore_depth

Integer

Legt die Tiefe des explore Aufrufs fest. ACHTUNG! kann zu sehr großen Trefferlisten führen schon bei einer Tiefe von 1.

1

registertreeids

Boolean

In der Antwort des Calls findet sich im JSON ein Abschnitt "folderRegisterTree". In diesem ist die gesamte Hierarchie des Ordners (wenn ein Register angefragt wurde der Ordner in welchem sich das Register befindet) mit seinen Unterregistern. Dabei werden nur die Ids ausgegeben. Sind Indexdaten zusätzlich gewünscht, so müssen die anhand der Ids in einem weiteren Aufruf angefragt werden.

false

Kind-Typen, die in "children" definiert werden, kennen folgende Parameter:

Parameter

Typ

Beschreibung

Parameter

Typ

Beschreibung

objectTypeId

String

Typ ID des Kind-Typs.

internalName

String

interner Name des Kind-Typs.

displayName

String

sprechender Name des Kind-Typs.

dbname

String

Datenbank Name des Kind-Typs.

osguid

String

OS GUID des Kind-Typs.

fieldsschema

List[field]

Definiert die Felder, die von dem jeweiligen Objekt-Typen zurückgeben werden.

Feld-Typen, die in "fieldsschema" definiert werden, kennen folgende Parameter:

Parameter

Typ

Beschreibung

Parameter

Typ

Beschreibung

internalName

String

interner Name des Feld-Typs.

displayName

String

sprechender Name des Feld-Typs.

dbname

String

Datenbank Name des Feld-Typs.

osguid

String

OS GUID des Feld-Typs.

Ein explore-Aufruf kann nach folgendem Beispiel konfiguriert werden: 

Beispiel explore Request

{ "osid": "7882", "fieldsschema_mode": "MIN", "childschema_mode": "DEF", "childfieldsschema_mode": "DEF", "children": [ { "objectTypeId": "6488100", "fields": [ { "internalName": "Patientenstatus" }, { "internalName": "File" } ] }, { "objectTypeId": "262208", "fields": [ { "internalName": "feld16" }, { "internalName": "feld12" } ] }, { "objectTypeId": "393224", "fields": [ { "internalName": "Von_" }, { "internalName": "An_" }, { "internalName": "Betreff_" } ] } ] }

/osrest/api/documents/insertables/[locationId]

  • Unterstützte Anfragemethoden: GET

  • Unterstützte Ausgabeformate: JSON

Die Methode ermittelt die Anzahl der zum Zeitpunkt des Aufrufes gerade einfügbaren Objekte an diesem Standort. Die Ermittlung wird vom Server durchgeführt und basiert auf den Objektrelationen. Diese Objektrelationen werden mithilfe des Editors definiert und legen fest wie viele Objekte eines bestimmten Objekttyps in einem Ordner oder Register angelegt werden dürfen.

Beispiel für die Ausgabe

"objectInserts": { "262165": -1, "393221": -1, "6488083": 0, "6488084": 3, "6488085": -1, "6488086": -1 }

Die Ausgabe ist eine Liste von Objekttyp-IDs zusammen mit einer Anzahl. Die Anzahl kann -1 für unbegrenzt, 0 für keine und > 0 sein.

/osrest/api/documents/settype/[objectId]

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Eingabeformate: JSON

  • Unterstützte Ausgabeformate: HTTP/204 No Content

Der Request muss den Contenttyp multipart/form-data haben (RFC 1867).

Die Methode typisiert ein typenloses Dokument. Ordner und Register können nicht typenlos sein. Da sich typenlose Dokumente entweder in der Benutzer- oder der Workflowablage befinden können, muss diese Information beim Aufruf mitgegeben werden. Typenlose Dokumente in der Akte eines Vorgangsschritt befinden sich damit auch in der Workflowablage. Für die Indexdaten des gewünschten Objekttyps können die Werte zur Verschlagwortung mit übergeben werden.

Parameter sind:

  • objectId (Integer): Die ID des zu typisierenden Dokumentes.

  • inwftray (boolean): Typisiert das Dokument in der Workflow Ablage.

  • inusertray (boolean): Typisiert das Dokument in der Nutzer Ablage.

Es muss einer der Parameter inwftray oder inusertray als true übergeben werden.

Objekt

{ "osid": "23360", "objectTypeId": "262176", "mainTypeId": "4", "fields": { "Ordner": { "value": "Kunde", "internalName": "Ordner" }, "Datum": { "value": "1495490400000", "internalName": "Datum" } }, "result_config": { "fieldsschema": [] } }

/osrest/api/documents/insert/[locationId]

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Eingabeformate: JSON

  • Unterstützte Ausgabeformate: TEXT

Der Request muss den Contenttyp multipart/form-data haben (RFC 1867).

Die Methode erstellt ein Objekt in einem Ordner oder Register mit der gegebenen Standort-ID (Location-ID). Beim Anlegen von Ordnern oder Dokumenten in der Ablage kann der Parameter für die Location ID weggelassen oder eine Null gesendet werden. Das JSON-Schema basiert auf dem vom 'insertInfo'-Parameter zurückgegebenem Schema. Als Rückgabewert wird lediglich die neue OSID zurückgegeben und kein JSON.

Zur Identifikation des Typs des neu anzulegenden Objektes werden die Parameter cabinet für den Schrank und name für den internen- oder Anzeige-Namen oder alternativ die objectTypeId mitgegeben. Die mainTypeId zur Bestimmung des Haupttyps (siehe Server-API-Dokumentation)  ist optional.

Felder werden mit ihrem Anzeigenamen gekennzeichnet. Ihnen kann aber auch der interne Name als Attribut mitgegeben werden, dann wird der Anzeigename (display name) ignoriert.

Auch Varianten können angelegt werden. Dafür wird die ID des Dokuments, von dem die Variante erstellt werden soll, als Location-ID gesetzt. 

Für Radiobuttons muss dem Feld das 'type'-Attribut mitgegeben werden ("type": "RADIO").
Für Tabellen muss dem Feld das 'type'-Attribut mitgegeben werden ("type": "GRID").

Varianten: Wenn im Request keine Indexdaten übergeben werden, dann werden die Indexdaten vom Eltern-Dokument übernommen.

Optionaler Path-Parameter:

  • locationId (int): Objekt ID des gewünschten Standorts (Schrank oder Register ID).

Optionale Parameter sind:

  • objecttypeid (Integer): ObjektTypID des gewünschten Standorts. Der Parameter ist optional, aber aus Performanzgründen wird empfohlen den Parameter zu setzen, wenn er bekannt ist.

  • setvariantactive (boolean): Setzt die neue Variante als aktive Variante, z.B. http://demo.optimal-systems.org/osrest/api/documents/insert/14133432?setvariantactive=true.

  • archivable (boolean): Setzt das Dokument auf archivierbar ("Zur Archivierung freigeben").

  • islink (boolean): Erstellt einen weiteren Standort für das Dokument. Es muss eine osid neben der objecttypeid angegeben werden, wodurch das Quellobject definiert wird.

  • isgreenarrowreference (boolean): Erstellt einen grünen Pfeilverweis in dem Standort. Mitgesendeter Content wird ignoriert. Nur die Indexdaten werden gespeichert. Es muss eine osid neben der objecttypeid angegeben werden, wodurch das Quellobject definiert wird.. (Ab Version 1.5.103 verfügbar)

  • inwftray (boolean): Erstellt das Dokument in der Workflow Ablage.

  • inusertray (boolean): Erstellt das Dokument in der Nutzer Ablage.

Objekt

{ "cabinet": "Kunde", "name": "Projekt", "objectTypeId": "83", "fields": { "Projekttyp": { "internalName": "i_Projekttyp", "value": "PUA - Allgemein" }, "Art": { "value": "Technik" }, "3": { "internalName": "i_sichtbarfuer", "value": "DEMO(g)" } } }

Tabellen werden wie folgt befüllt. Bitte beachten, zwar nur die Spalten dem Request mitgegeben werden muss, die auch editiert werden, aber es müssen alle Zeilen mitgeliefert werden, da enaio-Seitig eine Ersetzung der Tabellenwerte erfolgt.

{ "fields": { ..., "ERH_INV_POS": { "type": "GRID", "columns": [ { "internalName": "ERH_INV_POS_QSID" }, { "internalName": "ERH_INV_POS_P1" }, { "internalName": "ERH_INV_POS_P3" } ], "rows": [ ["Row 1 - 1", "Row 1 - 2", "Row 1 - 3"], ["Row 2 - 1", "Row 2 - 2", "Row 2 - 3"], ["Row 3 - 1", "Row 3 - 2", "Row 3 - 3"], ["Row 4 - 1", "Row 4 - 2", "Row 4 - 3"] ] } } }

/osrest/api/documents/update/[id]

  • Unterstützte Anfragemethoden: POST

  • Unterstützte Eingabeformate: JSON

  • Unterstützte Ausgabeformate: JSON

Die Methode ändert das Objekt mit der gegebenen ID. Verwendung ähnelt der der documents/insert-Methode, wobei die ObjektTypeId optional mitgegeben werden kann, um den Aufruf zu beschleunigen. Außerdem können nur explizit angegebene Felder in enaio® geändert werden. Der Aufruf muss den Contenttyp multipart/form-data haben (RFC 1867).