CONTENT SERVER API
- Former user (Deleted)
- Dennis Balzuweit
Übersicht
Die CONTENT SERVER API ist eine HTTP basierte Schnittstelle zum CONTENT SERVER für die Verwaltung von Dokumenten
Allgemein
Platzhalter
Bei der Beschreibung der API gibt es bei den verschiedenen Aufrufen folgende Platzhalter.
Platzhalter | Beschreibung |
---|---|
{{host}} | hostname/IP zum CONTENT SERVER |
{{port}} | port zum CONTENT SERVER |
{{repository}} | Name des repositorys mit dem kommunziert werden soll |
{{idfilename}} | ID einer temporären Datei (Upload) |
{{document_uuid}} | ID eines Dokuments (UUID) |
{{blob_uuid}} | ID eines Blobs (UUID) |
{{note_uuid}} | ID einer Notiz |
{{SessionToken}} | ID einer aktiven Session |
HTTP Returncodes
Code | Beschreibung |
---|---|
200 | OK |
201 | Eintrag wurde erzeugt |
204 | OK, aber kein Inhalt |
400 | Fehlerhafte/Unerlaubte Anfrage |
401 | Nicht autorisierte Anfrage |
403 | Unerlaubte Anfrage |
404 | Ressource wurde nicht gefunden |
406 | Ressource steht nicht wie gewünscht zur Verfügung |
412 | Eine in der Anfrage übertragene Voraussetzung traf nicht zu (If-Match). |
500 | Interner / unerwarteter Server Fehler |
Datenobjekte
Der Aufbau eine Dokuments kann prinzipiell eine beliebige Struktur bzw. Felder und Werte beinhalten. Es gibt jedoch ein paar interne Schlüsselnamen, die vom System fest vergeben sind. Interne Schlüsselnamen beginnen alle mit einem Unterstrich.
Dokument
Enthält sämtliche Metadaten, Informationen über die zugrunde liegenden Binärdaten, sowie optionale Feldinformationen zu einem Dokument. Die nachfolgende Tabelle zeigt nur die intern fest vergebenen Schlüsselnamen und deren Bedeutung. Ein Dokument kann jedoch um beliebige Informationen erweitert werden.
Feldname | Typ | Werte | Beschreibung |
---|---|---|---|
_uuid | String (32) | Eindeutige ID des Dokuments | |
_rootuuid | String (32) | Root ID des Dokuments (Bei Versionierung ändert sich die _uuid bei Änderungen am Dokument) | |
_parentuuid | String (32) | ID der vorhergehenden Version des Dokuments | |
_storprovid | String (32) | ID des Storage Providers (z.b. bei Wechsel des Laufwerks) | |
_state | Integer | unbenutzt | |
_version | Integer | Versionsnummer eines Dokuments (bei aktiver Versionierung wird die Nummer inkrementiert) | |
_active | Integer | 0/1 | Aktives/Neuestes Dokument bei Versionierung (aktiv = 1) |
_deleted | Integer | 0/1 | Dokument gelöscht (=1) oder nicht gelöscht (=0) |
_createdate | Date (UTC) | Wann wurde das Dokument erzeugt | |
_changedate | Date (UTC) | Wann wurde das Dokument geändert | |
_subject | String | Betreff des Dokuments | |
_docrefid | String | URI Referenz auf ein anderes Dokument (docref://<RepoName>/<RepoId>/<DocId>/<Version> | |
_doctype | String | Typ eines Dokuments | |
_language | String | Sprache des Dokuments | |
_externalid | String | Zugehörige ID auf ein externes Dokument | |
_fulltext | String | Erzeugter Text für die Volltextsuche | |
_fields | JSON-Objs | s.u. | Feldliste des Dokuments (Xtract-Ergebnisse) |
_table | JSON-Obj | s.u. | Tabelle der Rechnungspositionen |
_blobs | JSON-Array | s.u. | Array von Blobs eines Dokuments (PDF, PNG, TIF, etc.) |
Blobs
JSON-Array von Blob Einträgen (Binärdaten) in einer Dokumentstruktur (_blobs)
Feldname | Typ | Werte | Beschreibung |
---|---|---|---|
_uuid | String (32) | Eindeutige ID des Blobs | |
_storprovid | String (32) | ID des Storage Providers (z.b. bei Wechsel des Laufwerks) | |
_changedate | Date (UTC) | Wann wurden Werte des Blobs geändert | |
_ext | String | Extension des Blob Objekts (z.b. tif, pdf, ...) | |
_mimetype | String | MimeTyp des Blob Objekts (z.b. Image/tiff, Image/png, etc...) | |
_doctype | String | unbenutzt - Typ eines Blobs | |
_extblobid | String | unbenutzt - ID auf ein externes Blob Objekt | |
_name | String | Name des Blob Objekts | |
_blobdata | String | unbenutzt - Daten des Blob Objekts | |
_bloblink | String | unbenutzt - URI auf Blob Objekt | |
_blobsize | Integer | Größe des abgelegten Blob Objekt Daten (kann unterschiedlich zu <_datasize> sein (z.b. bei _encryption) | |
_datasize | Integer | Größe der Blob Objekt Daten in Bytes (sollte vom Client gesetzt werden) | |
_blobdate | Date (UTC) | Datum des Blob Objekts | |
_encryption | Integer | 0,1,2 | Verschlüsselungsverfahren der Blob Objektdaten (0=unverschlüsselt, 1=3DES, 2=AES256) |
Fields
JSON-Objektliste von Feldinformationen zu einem Dokument (z.b. aus einer OCR Erkennung des zugrundeliegenden Blob Objekts)
Feldname | Typ | Werte | Beschreibung |
---|---|---|---|
_active | Integer | 0/1 | Feld aktiv/inaktiv (aktiv = 1) |
_name | String | Name des Feldes | |
_datatype | String | Datentyp des Feldes | |
_value | Mixed | Wert des Feldes | |
_confidence | Integer | OCR/Scan Ergebnis Sicherheit/Verlässlichkeit (0=unsicher, 100=verlässlich) | |
_page | Integer | Seite des erkannten Feldes im Blob Objekt | |
_zone | JSON-Obj | Bereich des Feldscans (_left, _top, _right, _bottom, _width, _height) |
Notes
Zu jedem Dokument können über die Api beliebige Notizen angelegt, geholt oder gelöscht werden. JSON-Strukur einer Notiz zu einem Dokument:
Feldname | Typ | Werte | Beschreibung |
---|---|---|---|
_uuid | String (32) | Eindeutige ID der Notiz | |
_docid | String (32) | ID des mit der Notiz verknüpften Dokuments | |
_createdate | Date (UTC) | Datum der Anlage der Notiz | |
_username | String | Wer hat die Notiz angelegt | |
_noteinfo | String | unbenutzt | |
_notetype | Integer | Typ der Notiz (0=Text (default), 1=Keyword) | |
_notetext | String | Text der Notiz |
Table
JSON-Struktur von Tabelleninformationen zu einem Dokument (z.b. Rechnungsdaten aus einer OCR Erkennung)
Feldname | Typ | Werte | Beschreibung |
---|---|---|---|
_header | JSON-Array | s.u. | Spalteninformationen der Tabelle |
_rows | JSON-Array | s.u. | Zeilen einer Tabelle |
Spalten (_header) | |||
_id | Integer | 0..n | Spaltenindex einer Tabelle (für die Zuordnung der Zeilenfelder) |
_externalid | String | Externe ID eines Feldes | |
_colname | String | Spaltenname | |
_datatype | String | Datentyp der Werte der Tabellespalte | |
Zeilen (_rows) | |||
_row | Integer | 0..n | Zeilennummer |
cellobj_name | JSON-Objs | (s.u.) | Zellenobjekte innerhalb einer Zeile |
Zellenobjekte | |||
_colidx | Integer | 0..n | Spaltenindex (siehe _header) |
_value | mixed | Zelleninfomationen mit Typ aus entsprechender _header informationen | |
_confidence | Integer | OCR/Scan Ergebnis Sicherheit/Verlässlichkeit (0=unsicher, 100=verlässlich) | |
_page | Integer | 0..n | Seite der Zelle innerhalb des Dokuments |
_zone | JSON-Obj | Bereich des Zellenscans (_left, _top, _right, _bottom, _width, _height) |
Beispiel JSON einer Tabelle
Nutzungshinweise
Die API orientiert sich stark an das standardisierte Open Data Protokoll (OData), erfüllt dieses aber nicht vollständig. Aufgrund der offenen Struktur der abgelegten Informationen kann speziell im Bereich CSDL (Common Schema Definition Language) das Protokoll nur lückenhaft erfüllt werden.
- storage.rest.api - Root
- storage.rest.api - Service Metadata
- storage.rest.api - Authenticate
- storage.rest.api - Get repository
- storage.rest.api - Get repositories
- storage.rest.api - Create document
- storage.rest.api - Get document
- storage.rest.api - Change document
- storage.rest.api - Patch document
- storage.rest.api - Delete document
- storage.rest.api - Store binary data
- storage.rest.api - Get blob data
- storage.rest.api - Append binary data
- storage.rest.api - Filter documents
- storage.rest.api - Create note
- storage.rest.api - Get notes
- storage.rest.api - Delete notes
- storage.rest.api - Delete note