storage.rest.api - Change document
- Michael Riedel (Unlicensed)
- Dennis Balzuweit
PUT
http://{{host}}:{{port}}/storage/rest/api/Repositories('{{repository}}')/Documents('{{document_uuid}}')?SessionToken={{SessionToken}}
Beschreibung
Ändert ein bestehendes Dokument mit der ID {{document_uuid}} im Repository {{repository}} auf dem CONTENT SERVER mit dem übergebenen JSON-Daten. Rückgabe des kompletten geänderten Dokuments als JSON Struktur.
Parameter
Name | Wert | Beschreibung |
---|---|---|
Url | ||
SessionToken | {{SessionToken}} | Session Token aus Authenticate request |
Request Header | ||
Content-Type | application/json | |
If-Match | {{ifmatch_token}} | Der {{ifmatch_token}} entspricht dem bei einer Abfrage eine Dokuments erhaltenen OData @etag und muss bei einer Änderung eines Dokuments im If-Match Request Header übergeben werden. Damit ist sichergestellt, dass sich das Dokument seit dem Empfang nicht aus einer anderen Quelle geändert hat. |
Response Header | ||
Content-Type | application/json; odata.metadata=minimal; odata.streaming=false; IEEE754Compatible=false; charset=UTF-8 |
Body
Das zu ändernde Dokument muss als gültige JSON-Struktur im <body> mitgegeben werden. Es muss das komplette Dokument übergeben werden, da nur gespeichert wird, was als <body> übergeben wird. Interne Felder werden unter Umständen überschrieben (z.b. _rootuuid, _changedate, _storprovid, etc.). Will man nur Teile bestehender Daten ersetzen, sollte die Patch document (PATCH) API Funktion benutzt werden.
Der folgende Beispiel body als JSON ändert das in Create document erstellte Dokument. Geändert wurde dabei das Feld <_subject> und <_language>. Es muss trotzdem das komplette Dokument übergeben werden.
Example Request
curl --location --request PUT "http://localhost:4680/storage/rest/api/Repositories('REPO')/Documents('A761CC9609B445768C12AF5DFA89A332')?SessionToken=8E96F313F3894D5BA1EF54332979B1F7" \ --header "Content-Type: application/json" \ --data "{ \"_subject\": \"Just a new subject\", \"_doctype\": \"invoice\", \"_language\": \"en\", \"_externalid\": \"0050568F572C1ED8B999857F01393628\", \"customdata\": { \"value\": 1222345.34, \"whatever\": { \"a\": 1234, \"b\": 120, \"c\": 300, \"d\": 200, \"e\": 1 } }, \"_fields\": { \"ARTZAHL\": { \"_active\": true, \"_name\": \"ARTZAHL\", \"_datatype\": \"UCS2STR\", \"_value\": \"Überweisung\", \"_confidence\": 100, \"_page\": 0, \"_zone\": { \"_left\": 0, \"_top\": 0, \"_right\": 1, \"_bottom\": 1, \"_width\": 1, \"_height\": 1 } }, \"Faktura\": { \"_active\": true, \"_name\": \"Faktura\", \"_datatype\": \"UCS2STR\", \"_value\": \"0090005188\", \"_confidence\": 100, \"_page\": 0, \"_zone\": { \"_left\": 0, \"_top\": 0, \"_right\": 1, \"_bottom\": 1, \"_width\": 1, \"_height\": 1 } } }, \"_blobs\": [ { \"_uuid\": \"95B32CFA8DBC43558F28571E36E8C9AF\", \"_storprovid\": \"23BFCEEA137D4B5A8FA7818785D4E28C\", \"_changedate\": \"2019-05-16T10:02:28.635Z\", \"_ext\": \"txt\", \"_mimetype\": \"text/plain\", \"_doctype\": \"\", \"_extblobid\": \"\", \"_name\": \"test\", \"_blobdata\": \"\", \"_bloblink\": \"doc://auri/test\", \"_blobsize\": 16, \"_datasize\": 0, \"_blobdate\": \"1899-12-29T23:00:00.000Z\", \"_encryption\": 2 } ] }"