Anhänge zu Anlagen

Anlagenanhänge sind Dateien, die Anlagen zugeordnet sind.

Mit der bookamat–API können Anlagenanhänge abgefragt, hinzugefügt, geändert und gelöscht werden. Es sind also GET, POST, PUT/PATCH und DELETE Requests möglich.

Liste der Anhänge für Anlagen

Die Liste aller Anlagenanhänge wird mit einem GET Request auf die Listen-URL abgefragt.

/inventories/attachments/

Response

HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8

{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 8914,
            "inventory": 7896,
            "name": "rechnung.pdf",
            "size": 10700
        },
        {
            "id": 8915,
            "inventory": 7898,
            "name": "beleg.jpg",
            "size": 60300
        }
    ]
}

Felder

id:

Eindeutige Identifikationsnummer

Format
inventory:

ID der Anlage

Format
Siehe
name:

Dateiname des Anhangs

Format
String (max. 50 Zeichen)
size:

Dateigröße des Anhangs (in Bytes)

Format

Filter

inventory:

Anlage

Format des Filters
Ganzzahl
Beispiele
inventory=7896

Sortierung

ordering:

Sortierung

Möglichkeiten
id, inventory, name, size
Beispiele
ordering=id

Anlagenanhang Detail

Ein Anlagenanhang wird mit einem GET–Request auf die Detail–URL abgefragt. Es sind dieselben Felder verfügbar wie bei der Listenansicht.

/inventories/attachments/{id}/

Anlagenanhang hinzufügen

Ein neuer Anlagenanhang wird mit einem POST Request auf die Listen URL hinzugefügt. Der Request Body muss alle notwendigen Felder beinhalten, als Response wird der neue Anlagenanhang zurückgegeben.

Warnung

Es können maximal 3 Anhänge pro Anlage hinzugefügt werden.

/inventories/attachments/

Request Body

{
    "inventory": 7897,
    "name": "dokument.pdf",
    "file": "Ym9va2FtYXQgdGVzdA== ..."
}

Response

HTTP/1.0 201 CREATED
Content-Type: application/json; charset=utf-8

{
    "id": 8916,
    "inventory": 7897,
    "name": "dokument.pdf",
    "size": 19800
}

Felder

inventory *:

ID der Anlage

Format
name *:

Dateiname

Format
file *:

Base64 kodierte Datei

Format

Anlagenanhang ändern

Ein bestehender Anlagenanhang kann mit einem PATCH oder PUT Request auf die Detail URL geändert werden.

/inventories/attachments/{id}/

Request (PATCH)

Content-Type: application/json; charset=utf-8

{
    "name": "honorarnote.pdf",
    "file": "Ym9va2FtYXQgdGVzdA== ..."
}

Bemerkung

Die Felder name und file müssen immer zusammen angegeben werden.

Request (PUT)

Content-Type: application/json; charset=utf-8

{
    "inventory": 7897,
    "name": "honorarnote.pdf",
    "file": "Ym9va2FtYXQgdGVzdA== ..."
}

Response

HTTP/1.0 202 ACCEPTED
Content-Type: application/json; charset=utf-8

{
    "id": 8916,
    "inventory": 7897,
    "name": "honorarnote.pdf",
    "size": 19800
}

Felder

Die Felder sind deckungsgleich mit dem POST Request (siehe Felder beim Hinzufügen eines Anlagenanhangs). Beim PATCH Request sind nur die geänderten Felder anzugeben, beim PUT Request sind alle Felder notwendig.

Anlagenanhang löschen

Ein Anlagenanhang wird mit einem DELETE Request auf die Detail URL gelöscht.

/inventories/attachments/{id}/

Response

HTTP/1.0 204 NO CONTENT

Anlagenanhang Download

Für den Download steht eine eigene URL zur Verfügung.

/inventories/attachments/{id}/download/

Response

HTTP/1.0 200 OK
Content-Type: application/json; charset=utf-8

{
    "id": 8914,
    "inventory": 7896,
    "name": "rechnung.pdf",
    "size": 10700,
    "mimetype": "application/pdf",
    "file": "Ym9va2FtYXQgdGVzdA== ..."
}

Felder

Es sind dieselben Felder verfügbar wie bei der Listenansicht. Zusätzlich sind beim Download der mimetype und das Base64-kodierte File verfügbar.

mimetype:

MIME Type

Format
Möglichkeiten
application/msword
application/pdf
application/rtf
application/vnd.ms-excel
application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.spreadsheet
application/vnd.sun.xml.writer
application/vnd.sun.xml.calc
application/x-iwork-pages-sffpages
application/x-iwork-numbers-sffnumbers
application/zip
image/bmp
image/gif
image/jpeg
image/png
image/tiff
message/rfc822
text/csv
text/html
text/plain
file:

Base64 kodierte Datei

Format