Anhänge zu Buchungen

Buchungsanhänge sind Dateien, die Buchungen zugeordnet sind.

Mit der bookamat–API können Buchungsanhä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 Buchungen

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

/bookings/attachments/

Response

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

{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 8904,
            "booking": 6782,
            "name": "rechnung.pdf",
            "size": 10700
        },
        {
            "id": 8905,
            "booking": 6784,
            "name": "beleg.jpg",
            "size": 60300
        }
    ]
}

Felder

id:

Eindeutige Identifikationsnummer

Format
booking:

ID der Buchung

Format
Siehe
name:

Dateiname des Anhangs

Format
String (max. 50 Zeichen)
size:

Dateigröße des Anhangs (in Bytes)

Format

Filter

booking:

Buchung

Format des Filters
Ganzzahl
Beispiele
booking=6782

Sortierung

ordering:

Sortierung

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

Buchungsanhang Detail

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

/bookings/attachments/{id}/

Buchungsanhang hinzufügen

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

Warnung

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

/bookings/attachments/

Request Body

{
    "booking": 6790,
    "name": "dokument.pdf",
    "file": "Ym9va2FtYXQgdGVzdA== ..."
}

Response

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

{
    "id": 8906,
    "booking": 6790,
    "name": "dokument.pdf",
    "size": 19800
}

Felder

booking *:

ID der Buchung

Format
name *:

Dateiname

Format
file *:

Base64 kodierte Datei

Format

Buchungsanhang ändern

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

/bookings/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

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

Response

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

{
    "id": 8906,
    "booking": 6790,
    "name": "honorarnote.pdf",
    "size": 19800
}

Felder

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

Buchungsanhang löschen

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

/bookings/attachments/{id}/

Response

HTTP/1.0 204 NO CONTENT

Buchungsanhang Download

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

/bookings/attachments/{id}/download/

Response

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

{
    "id": 8904,
    "booking": 6782,
    "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