Änderungen
Die Seite wurde neu angelegt: „Der nachfolgend beschriebene API-Endpoint hat die URL <code>/invoice</code>. Zur Verwendung der System-API konsultieren Sie bitte die Grundsätze der System-…“
Der nachfolgend beschriebene API-Endpoint hat die URL <code>/invoice</code>. Zur Verwendung der System-API konsultieren Sie bitte die [[Grundsätze der System-API]].
== GET (alle Rechnungen) ==
'''Erwartete Parameter'''
Keine
'''Rückgabe'''
JSON-Array mit allen Rechnungen und jeweils den folgenden Elementen:
* ID
* client
* date
* duedate
* customno
* status
== GET (eine Rechnung) ==
'''URL'''
<code>/invoice/INVOICE_ID</code>
'''Erwartete Parameter'''
Keine
'''Rückgabe'''
JSON-Array mit allen Daten der Rechnung und den Rechnungspositionen
== POST (Rechnung anlegen) ==
'''Erwartete Parameter'''
* client
* date (optional, ansonsten aktuelles Datum)
* duedate (optional, ansonsten Standard)
* items[]
** description
** amount
** tax = 0|1
'''Rückgabe'''
JSON-Array mit Element "id", der ID der neuen Rechnung
== PUT (Rechnung bearbeiten) ==
'''URL'''
<code>/invoice/INVOICE_ID</code>
'''Erwartete Parameter'''
Es können alle Spalten aus der Tabelle <code>invoices</code> als Key verwendet werden. Als Value ist der gewünschte neue Wert zu übergeben.
Zusätzlich können Rechnungspositionen angelegt/bearbeitet werden:
* items[]
** id (nur für Bearbeitung, ID der Rechnungsposition)
** description
** amount
** tax = 0|1
'''Rückgabe'''
JSON-Array mit "status" = "ok"
== GET (alle Rechnungen) ==
'''Erwartete Parameter'''
Keine
'''Rückgabe'''
JSON-Array mit allen Rechnungen und jeweils den folgenden Elementen:
* ID
* client
* date
* duedate
* customno
* status
== GET (eine Rechnung) ==
'''URL'''
<code>/invoice/INVOICE_ID</code>
'''Erwartete Parameter'''
Keine
'''Rückgabe'''
JSON-Array mit allen Daten der Rechnung und den Rechnungspositionen
== POST (Rechnung anlegen) ==
'''Erwartete Parameter'''
* client
* date (optional, ansonsten aktuelles Datum)
* duedate (optional, ansonsten Standard)
* items[]
** description
** amount
** tax = 0|1
'''Rückgabe'''
JSON-Array mit Element "id", der ID der neuen Rechnung
== PUT (Rechnung bearbeiten) ==
'''URL'''
<code>/invoice/INVOICE_ID</code>
'''Erwartete Parameter'''
Es können alle Spalten aus der Tabelle <code>invoices</code> als Key verwendet werden. Als Value ist der gewünschte neue Wert zu übergeben.
Zusätzlich können Rechnungspositionen angelegt/bearbeitet werden:
* items[]
** id (nur für Bearbeitung, ID der Rechnungsposition)
** description
** amount
** tax = 0|1
'''Rückgabe'''
JSON-Array mit "status" = "ok"