Diese API ist für die Verwendung aus Web Apps, Desktop Apps und Server Services konzipiert und bietet keine Benutzerinteraktion oder GUI.
Der HTTP(S) Response erfolgt als JSON Objekt. System-Eigenschaften wird ein "$" (z.B. $id, $ref, ..) vorangestellt.
Es können Benutzer angemeldet, sowie Metadaten und Dokumente abgerufen/bearbeitet werden.
Anmeldung und Benutzerverwaltung:
Die REST API für Metadaten ist über folgenden Pfad über HTTP/HTTPS zugänglich: "/user
".
Die Parameter werden im GET übergeben.
- signin: Meldet den User in allen Benutzermanagern (siehe server.conf, [USER]) und zugriffsberechtigten Archiven an.
- signout: Meldet den Benutzer aus alles Archiven ab.
- status: gint ein JSON-kodiertes Status Objekt des angemeldeten User zurück.
Aktion |
GET Parameter |
Anmelden Meldet den User in allen Benutzermanagern (siehe server.conf, [USER]) und zugriffsberechtigten Archiven an. |
- action: signin
- username
- password
|
Abmelden Zerstört die User-Session und meldet den Benutzer aus allen Archiven ab. Beispiel: https://drdoc.com/user?action=signout |
|
Alle abmelden Zerstört alle User-Sessions des Benutzers und meldet den Benutzer aus allen Archiven ab. |
|
Status holen Gibt ein JSON-kodiertes Status Objekt des angemeldeten User zurück. Beispiel: https://drdoc.com/user?action=status |
|
User erstellen |
- action: create-user
- username: <Benutzername>
- password: <Passowort>
- groups: <Liste von Gruppen, bei denen der User Mitglied werden soll mit ";" getrennt>
- value:
- anonymerBenutzer: 1|0
- managerBerechtigung: 1|0
- ..
|
Gruppe erstellen |
- action: create-group
- group: <Name der Gruppe>
- value:
- besitzerGruppe: 1|0
- berechtigungsGruppe: 1|0
- wiedervorlageGruppe: 1|0
- workflowGruppe: 1|0
|
Mitgliedschaft eines Benutzer oder Gruppe ("grantee") einer Gruppe ("group") hinzufügen |
- action: add-to-group
- grantee: <Berechtigter/Group-Name>
- group: <Group-Name>
|
Mitgliedschaft eines Benutzer oder Gruppe ("grantee") aus einer Gruppe ("group") entfernen |
- action: delete-from-group
- grantee: <Berechtigter/Group-Name>
- group: <Group-Name>
|
Gruppe löschen |
- action: delete-group
- value: <Group-Name>
|
Benutzer/User löschen |
- action: delete-user
- value: <Username>
|
Die REST API für Metadaten ist über folgenden Pfad über HTTP/HTTPS zugänglich: "/model/crud
".
Die Request Parameter werden im POST übergeben. Hintergrund ist, dass Metadaten die maximal zulässige Länge des Query Strings übersteigen können.
Der Response (JSON) hat folgende Struktur:
- $ModelType (Dr.DOC Archiv)
- Result
- MetaSortTree (nur bei Sortierung)
- HasArray
- Count
- CountTotal
- HasError
- Error
Als ID wird das eindeutige Systemfeld "Dokumet-Nr." gewählt.
Parameter, die in "[..]" eingefasst sind, sind optional.
Aktion |
POST Parameter |
auth Authentifizierung/Anmeldung via HTTP Authorisation Header für "auth" = "basic" oder "digest"; Bzw. für "auth" = "post" Anmeldedaten als POST Data |
- auth:
- [username]: username für auth=post
- [password]: Passwort für auth=post
- [totp]: TOTP für auth=post
|
get Beispiel: POST https://drdoc.com/model/crud POST Data: action=get&archive=scan&id=123 |
- archive: Zu wählendes Archiv
- action: get
- id: Dokument-Nr.
- [id_field]: Feld der ID
- [lock]: true|false, gibt an, ob der Datensatz zur Bearbeitung gesperrt werden soll.
|
set |
- archive: Zu wählendes Archiv
- action: set
- value: zu speichernder Datensatz als JSON-Objekt kodiert.
|
create |
- archive: Zu wählendes Archiv
- action: create
- value: zu erstellender Datensatz als JSON-Objekt kodiert.
|
remove |
- archive: Zu wählendes Archiv
- action: get
- id: Dokument-Nr. des zu löschenden Datensatzes + Dokuments
|
searchfields |
- archive: Zu wählendes Archiv
- value: Suchbedigung der zu suchenden Datensätze als JSON-Objekt kodiert
- [selection]: Auswahl-Felder mit ";" separiert
- [sort]: Sortierungs-Felder mit ";" separiert
- [duplicate]: Ausgabedubletten-Felder mit ";" separiert
- [max]: Maximale Anzahl der intern Treffer-Datensätze (nicht der Zurückgegebenen). Für unbegrenzt: -1
- [start]: Absoluter Startindex in der internen Treffer-Liste
- [count]: Anzahl der maximal zurückgegebenen Datensätze
- [recursive]: new, true
|
textretrieval |
- archive: Zu wählendes Archiv
- value: Suchbedingung
- [selection]: Auswahl-Felder mit ";" separiert
- [sort]: Sortierungs-Felder mit ";" separiert
- [duplicate]: Ausgabedubletten-Felder mit ";" separiert
- [max]: Maximale Anzahl der intern Treffer-Datensätze (nicht der Zurückgegebenen). Für unbegrenzt: -1
- [start]: Absoluter Startindex in der internen Treffer-Liste
- [count]: Anzahl der maximal zurückgegebenen Datensätze
- [recursive]: new, true
|
unlock |
- archive: Zu wählendes Archiv
- action: unlock
|
tree |
- archive: Zu wählendes Archiv
- action: tree
|
wf-set-completed |
- archive: Zu wählendes Archiv
- action: wf-set-completed
|
thesaurus |
- archive: Zu wählendes Archiv
- action: thesaurus
|
reo-unlock Entsperrt alle Datensätze des Archivs. Es müssen sich zuvor alle User abmelden. |
- archive: Zu wählendes Archiv
- action: reo-unlock
|
Document
Die REST API für Dokumente ist über folgenden Pfad über HTTP/HTTPS zugänglich: "/model/document".
Aktion |
GET Parameter |
get Dokument laden Beispiel: https://drdoc.com/model/document?action=get&archive=scan&id=123 |
- archive: Zu wählendes Archiv
- action: get
- id: ID
- [id_field]: Feld der ID
- [original]: Default: "true; "false" gibt an, dass aus Intern TIFF eine PDF generiert werden soll
- [download]: Default: "false"; "true" gibt an, ob ein Download gestartet werden soll
|
set Erstellt ein Dokument, welches in FILE angegeben ist. Je nach Versionsverwaltung wird eine neue Version erzeugt. |
- archive: Zu wählendes Archiv
- action: set
- id: ID
- [id_field]: Feld der ID
+ Dokument in FILE |
create Erstellt eins oder mehrere Dokumente mit Feldvorbelegung. |
- archive: Zu wählendes Archiv
- action: create
- [preset]: Feldvorbelegung
+ Dokument(e) in FILE |