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 (JSON Properties) wird ein $
vorangestellt (z.B. $id
, $ref
, ..).
Die API besteht aus drei Endpunkten:
- Benutzerverwaltung und Anmeldung
- Metadaten CRUD
- Document
Die JSON REST API verwendet das Cookie uid
für die User Session (Anmeldung in Dr.DOC Archiven) und merkt sich die Standard-Benutzerverwaltung. Ansonsten kann die API stateless betrieben werden.
1.) Benutzerverwaltung und Anmeldung:
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.
Sollte kein POST Objekt, aber ein GET Objekt angegeben werden, wird das GET Objekt verwendet.
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 Datensatz lesen 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. Default: false
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
set Datensatz bearbeiten |
- archive: Zu wählendes Archiv
- action: set
- value: zu speichernder Datensatz als JSON-Objekt kodiert.
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
create Datensatz erstellen |
- archive: Zu wählendes Archiv
- action: create
- value: zu erstellender Datensatz als JSON-Objekt kodiert.
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
remove Datensatz löschen |
- archive: Zu wählendes Archiv
- action: get
- id: Dokument-Nr. des zu löschenden Datensatzes + Dokuments
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
remove-all Alle Datensätze löschen |
- archive: Zu wählendes Archiv
- action: remove-all
- value: zu löschende Datensätze als JSON-Objekt kodiert.
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
searchfields Feldsuche in einem Archiv |
- archive: Zu wählendes Archiv
- action: searchfields
- 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
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
textretrieval Volltextsuche in einem Archiv |
- archive: Zu wählendes Archiv
- action: textretrieval
- 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
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
hyper Hypersuche über mehrere Archive |
- action: hyper
- value: Name der Hypersuche
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
unlock |
- archive: Zu wählendes Archiv
- action: unlock
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
tree |
- archive: Zu wählendes Archiv
- action: tree
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
wf-set-completed |
- archive: Zu wählendes Archiv
- action: wf-set-completed
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
thesaurus |
- archive: Zu wählendes Archiv
- action: thesaurus
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
reo-unlock Entsperrt alle Datensätze des Archivs. Es müssen sich zuvor alle User abmelden. |
- archive: Zu wählendes Archiv
- action: reo-unlock
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
3.) 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
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
|
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
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
+ Dokument in FILE |
create Erstellt eins oder mehrere Dokumente mit Feldvorbelegung. |
- archive: Zu wählendes Archiv
- action: create
- [preset]: Feldvorbelegung
- [usermanager]: Benutzerverwaltung, Pfad zur .BVD Datei
+ Dokument(e) in FILE |