Alle Positionen eines Angebotes auflisten
GET /api/offer-items?offer_id={offer_id}
Angebotspositionen können immer nur für eine bestimmtes Angebot zurückgegeben werden.
Deshalb ist offer_id ein Pflichtparameter.
Response: 200 OK<?xml version="1.0" encoding="UTF-8"?> <offer-items type="array"> <offer-item> ... <offer-item> <offer-item> ... <offer-item> </offer-items>
Einzelne Position aufrufen
GET /api/offer-items/{id}
Response: 200 OK<?xml version="1.0" encoding="UTF-8"?> <offer-item> <id type="integer">1</id> <offer_id type="integer">1</offer_id> <position type="integer">1</position> <unit>Stück</unit> <quantity type="float">5.2</quantity> <unit_price type="float">10.0</unit_price> <tax_name>MwSt</tax_name> <tax_rate type="float">19.0</tax_rate> <title>Visitenkarten</title> <description>Wunderschöne 4c Visitenkarten</description> <total_gross type="float">61.88</total_gross> <total_net type="float">52.0</total_net> </offer-item>
Position erstellen
POST /api/offer-items
Erstellt eine neue Angebotsposition.
Angebotspositionen können nur für Angebote mit Status Entwurf (DRAFT) erstellt werden.
XML-Element | Beschreibung | Typ | Default-Wert | Pflichtfeld |
|---|---|---|---|---|
offer_id | ID des Angebots | INT | ja (nicht aber bei der Angebotserstellung) | |
unit | Einheit | ALNUM | ||
quantity | Menge | FLOAT | 0.0 | |
unit_price | Preis pro Einheit | FLOAT | 0.0 | |
tax_name | Steuerbezeichnung | ALNUM | Wert aus Einstellungen | |
tax_rate | Steuerrate in Prozent | FLOAT | Wert aus Einstellungen | |
title | Titel | ALNUM | ||
description | Beschreibung | ALNUM |
Die Angebotsposition wird nach eventuell bereits bestehenden Positionen angefügt.
Request Body<offer-item> <offer_id>1</offer_id> <unit>Stück</unit> <quantity>5.2</quantity> <unit_price>10.0</unit_price> <tax_name>MwSt</tax_name> <tax_rate>19.0</tax_rate> <title>Visitenkarten</title> <description>Wunderschöne 4c Visitenkarten</description> </offer-item>
Response: 201 Created<?xml version="1.0" encoding="UTF-8"?> <offer-item> <id type="integer">1</id> <offer_id type="integer">1</offer_id> <created>2007-12-13T12:12:00+01:00</created> <position type="integer">1</position> <unit>Stück</unit> <quantity type="float">5.2</quantity> <unit_price type="float">10.0</unit_price> <tax_name>MwSt</tax_name> <tax_rate type="float">19.0</tax_rate> <title>Visitenkarten</title> <description>Wunderschöne 4c Visitenkarten</description> <total_gross type="float">61.88</total_gross> <total_net type="float">52.0</total_net> </offer-item>
Position bearbeiten
PUT /api/offer-items/{id}
bearbeitet eine bestehende Position.
Hier gelten die selben Parameter wie beim Anlegen, allerdings kann das verknüpfte Angebot (offer_id) nicht mehr geändert werden.
Angebotspositionen können nur für Angebote mit Status Entwurf (DRAFT) bearbeitet werden.
Request Body<offer-item> <unit>Stunde</unit> <quantity>8.5</quantity> </offer-item>
Response: 200 OK
Position löschen
DELETE /api/offer-items/{id}
Löscht eine Angebotsposition.
Beim Löschen von Angebotspositionen wird position für alle verbleibenden Positionen neu vergeben (ohne die Sortierung zu ändern), um die evtl. entstandene Lücke wieder zu füllen.
Angebotspositionen können nur für Angebote mit Status Entwurf (DRAFT) gelöscht werden.
Response: 200 OK
