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.

<?xml version="1.0" encoding="UTF-8"?>
<offer-items type="array" page="1" per_page="100" total="2">
    <offer-item>
        ...
    <offer-item>
    <offer-item>
        ...
    <offer-item>
</offer-items>

Einzelne Position aufrufen

GET /api/offer-items/{id}
<?xml version="1.0" encoding="UTF-8"?>
<offer-item>
    <id type="integer">1</id>
    <article_id type="integer">123</article_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">49.98</total_gross>
    <total_net type="float">42.0</total_net>
    <reduction>10</reduction>
    <total_gross_unreduced type="float">61.88</total_gross_unreduced>
    <total_net_unreduced type="float">52.0</total_net_unreduced>
    <optional>0</optional>
</offer-item>

Position erstellen

POST /api/offer-items

Angebotspositionen können nur für Angebote mit Status Entwurf (DRAFT) erstellt werden.

XML-ElementBeschreibungTypDefault-WertPflichtfeld
offer_idID des AngebotsINTja (nicht aber bei der Angebotserstellung)
article_idID des Artikels, setzt bei Neuanlage zusätzlich die Werte aus ArtikelINT
unitEinheitALNUM
quantityMengeFLOAT0.0
unit_pricePreis pro EinheitFLOAT0.0
tax_nameSteuerbezeichnungALNUMStandard-Steuersatz
tax_rateSteuerrate in ProzentFLOATStandard-Steuersatz
titleTitelALNUM
descriptionBeschreibungALNUM
reductionRabatt (Absolut oder als Prozentwert: 10/10%)ALNUM
optionalGibt an, ob es sich um eine optionale Position (=1) handelt. Der Preis wird dann nicht bei der Gesamtsumme berücksichtigtINT

Die Angebotsposition wird nach eventuell bereits bestehenden Positionen angefügt.

<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>
    <optional>1</optional>
</offer-item>
<?xml version="1.0" encoding="UTF-8"?>
<offer-item>
    <id type="integer">1</id>
    <article_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>
    <optional>1</optional>
</offer-item>

Position bearbeiten

PUT /api/offer-items/{id}

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.

<offer-item>
    <unit>Stunde</unit>
    <quantity>8.5</quantity>
</offer-item>

Position löschen

DELETE /api/offer-items/{id}

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.