Auftragsbestätigungen

Alle Auf­trags­be­stä­ti­gun­gen auflisten

GET /api/confirmations
<?xml version="1.0" encoding="UTF-8"?>
<confirmations type="array" page="1" per_page="100" total="2">
    <confirmation>
        ...
    </confirmation>
    <confirmation>
        ...
    </confirmation>
</confirmations>

Über Para­me­ter kann gefil­tert werden:

GET /api/confirmations?confirmation_number=AB123

Lis­tet alle Auf­trags­be­stä­ti­gun­gen auf, die “AB123” in der Auf­trags­be­stä­ti­gun­ges­num­mer haben. Groß– und Klein­schrei­bung wird igno­riert.
Fol­gende Para­me­ter ste­hen zur Verfügung:

Para­me­ter Beschrei­bung
client_id ID des Kun­den
confirmation_number Auf­trags­be­stä­ti­gungs­num­mer
sta­tus Auf­trags­be­stä­ti­gungs­sta­tus (DRAFT, COMPLETED, CANCELED). Meh­rere Stati kön­nen per Komma getrennt werden.
from Nur Auf­trags­be­stä­ti­gun­gen ab die­sem Datum (For­mat YYYY-MM-DD)
to Nur Auf­trags­be­stä­ti­gun­gen bis zu die­sem Datum (For­mat YYYY-MM-DD)
label Freitext­su­che in der Bezeichnung
intro Freitext­su­che im Einleitungstext
note Freitext­su­che im Anmerkungstext

Ein­zelne Auf­trags­be­stä­ti­gung aufrufen

GET /api/confirmations/{id}
<?xml version="1.0" encoding="UTF-8"?>
<confirmation>
    <id type="integer">1</id>
    <client_id type="integer">123</client_id>
    <created type="datetime">2007-12-13T12:12:00+01:00</created>
    <confirmation_number>AB123</confirmation_number>
    <number type="integer">123</number>
    <number_pre>AB</number_pre>
    <status>COMPLETED</status>
    <date type="date">2010-10-01</date>
    <address>Billomat GmbH &amp; Co. KG&#13;
Hollertszug 26&#13;
57562 Herdorf&#13;
Deutschland</address>
    <label>Projekt 123</label>
    <intro>Wir freuen uns, Ihnen folgende Positionen anbieten zu dürfen:</intro>
    <note>Wir freuen und über Ihren Auftrag!</note>
    <total_gross type="float">119.0</total_gross>
    <total_net type="float">100.0</total_net>
    <currency_code>EUR</currency_code>
    <quote type="float">1.0000</quote>
    <taxes type="array">
        <tax>
            <name>MwSt</name>
            <rate type="float">19.0</rate>
            <amount type="float">19.0</amount>
        </tax>
    </taxes>
    <validity_date>2010-10-31</validity_date>
</confirmation>

sta­tus kann fol­gende Werte haben:

  • DRAFT (Ent­wurf)
  • COMPLETED (abge­schlos­sen)
  • CANCELED (stor­niert)

Zusätz­lich zur eigent­li­chen Auf­trags­be­stä­ti­gung wer­den noch die zusam­men­ge­fass­ten Steu­ern (taxes) mit zurück­ge­ge­ben.
Die Posi­tio­nen und Kom­men­tare kön­nen geson­dert abge­ru­fen werden.

Auf­trags­be­stä­ti­gung erstellen

POST /api/confirmations
XML-Element Beschrei­bung Typ Default-Wert Pflicht­feld
client_id ID des Kun­den INT ja
address kom­plette Adresse ALNUM Adresse des Kunden
number_pre Prä­fix ALNUM Wert aus Ein­stel­lun­gen
num­ber lfd. Num­mer INT nächste freie Nummer
number_length Min­dest­länge der Auf­trags­be­stä­tungs­num­mer (wird mit füh­ren­den Nul­len aufgefüllt) INT Wert aus Ein­stel­lun­gen
date Auf­trags­be­stä­ti­gungs­da­tum DATE heute
label Bezeich­nung ALNUM
intro Ein­lei­tungs­text ALNUM Wert aus Ein­stel­lun­gen
note Anmer­kungs­text ALNUM Wert aus Ein­stel­lun­gen
currency_code Wäh­rung ISO-Währungscode Standard-Währung
quote Wäh­rungs­kurs (für Umrech­nung in Standard-Währung) FLOAT 1.0000

sta­tus ist bei der Erstel­lung immer DRAFT.

Die übri­gen Eigen­schaf­ten der Auf­trags­be­stä­ti­gung wer­den auto­ma­tisch berechnet.

Auf­trags­be­stä­ti­gungs­po­si­tio­nen (confirmation-items) kön­nen bei der Erstel­lung direkt mit ange­ge­ben wer­den. Es gel­ten die glei­chen XML-Elemente wie unter Auf­trags­be­stä­ti­gungs­be­stä­ti­gungs­po­si­tio­nen erstel­len. Nur das XML-Element confirmation_id muss nicht mit ange­ge­ben werden.

<confirmation>
    <client_id>5</client_id>
    <date>2009-11-17</date>
    <confirmation-items>
        <confirmation-item>
            <unit>Stück</unit>
            <unit_price>1.23</unit_price>
            <quantity>1.5</quantity>
            <title>Muster</title>
        </confirmation-item>
        <confirmation-item>
            <unit>Stück</unit>
            <unit_price>1.23</unit_price>
            <quantity>5</quantity>
            <title>Muster 2</title>
        </confirmation-item>
    </confirmation-items>
</confirmation>
<?xml version="1.0" encoding="UTF-8"?>
<confirmation>
    <id type="integer">1234</id>
    <client_id type="integer">5</client_id>
    <created type="datetime">2007-12-13T12:12:00+01:00</created>
    <confirmation_number>AB124</confirmation_number>
    <number type="integer">124</number>
    <number_pre>AB</number_pre>
    <date type="date">2009-11-17</date>
    ...
</confirmation>

Auf­trags­be­stä­ti­gung bearbeiten

PUT /api/confirmations/{id}

Eine Auf­trags­be­stä­ti­gung kann grund­sätz­lich nur im Entwurfs-Status (DRAFT) bear­bei­tet werden.

Posi­tio­nen und Kom­men­tare kön­nen nicht direkt über die Auf­trags­be­stä­ti­gung bear­bei­tet wer­den. Bitte dafür über die ent­spre­chende Res­source gehen.

<confirmation>
    <date>2009-10-13</date>
</confirmation>

Auf­trags­be­stä­ti­gung löschen

DELETE /api/confirmations/{id}

Löscht eine Auf­trags­be­stä­ti­gung inkl. aller dazu­ge­hö­ri­ger Doku­mente (PDFs), Posi­tio­nen und Kom­men­tare.


PDFs einer Auf­trags­be­stä­ti­gung aufrufen

GET /api/confirmations/{id}/pdf

An die­ser Stelle kann außer­dem der Para­me­ter format=pdf ver­wen­det wer­den, um das PDF direkt mit Mime­type “application/pdf” aufzurufen.

<pdf>
    <id type="integer">4882</id>
    <created type="datetime">2009-09-02T12:04:15+02:00</created>
    <confirmation_id type="integer">240</confirmation_id>
    <filename>confirmation_123.pdf</filename>
    <mimetype>application/pdf</mimetype>
    <filesize>70137</filesize>
    <base64file>{base64-kodiertes PDF}</base64file>
</pdf>

Auf­trags­be­stä­ti­gung abschließen

PUT /api/confirmations/{id}/complete

Schließt eine Auf­trags­be­stä­ti­gung im Ent­wurfs­sta­tus (DRAFT) ab. Dabei wird der Sta­tus auf offen (OPEN) gesetzt und ein PDF erzeugt und im Datei­sys­tem abgelegt.

Wel­che Vor­lage für die PDF-Erzeugung benutzt wird, steu­ert der Para­me­ter optio­nale template_id.

Wir die­ser Para­me­ter nicht ange­ge­ben, wird die ein­ge­stellte Standard-Vorlage benutzt.

<complete>
    <template_id>123</template_id>
</complete>

Auf­trags­be­stä­ti­gung per E-Mail versenden

POST /api/confirmations/{id}/email
XML-Element Beschrei­bung Typ Default-Wert Pflicht­feld
from Absen­der EMAIL E-Mail des ein­ge­logg­ten Benutzers
reci­pi­ents Emp­fän­ger der E-Mail. Muss min­des­tens einen XML-Knoten “to”, “cc” und/oder “bcc” mit den gewünsch­ten E-Mail-Adressen enthalten XML-Knoten/EMAIL ja
sub­ject Betreff der E-Mail, kann Platz­hal­ter enthalten ALNUM Wert aus Ein­stel­lun­gen
body Text der Mail, kann Platz­hal­ter enthalten ALNUM Wert aus Ein­stel­lun­gen
file­name Datei­name der PDF-Auftragsbestätigung (ohne .pdf) ALNUM confirmation_{id}
attach­ments Wei­tere Datei­an­hänge. Kann belie­big viele Datei­an­hänge über die Kno­ten “attach­ment” mit den Ele­men­ten “file­name”, “mime­type” und “base64file” enthalten XML-Knoten
<email>
    <from>info@billomat.com</from>
    <recipients>
        <to>info@billomat.com</to>
        <cc>mail@example.com</cc>
    </recipients>
    <subject>Bestätigung des Auftrags</subject>
    <body>Sehr geehrte Damen und Herren, ....</body>
    <filename>Auftragsbestätigung</filename>
    <attachments>
        <attachment>
            <filename>zeichnung.pdf</filename>
            <mimetype>application/pdf</mimetype>
            <base64file>{base64-kodierte Datei}</base64file>
        </attachment>
    </attachments>
</email>

Auf­trags­be­stä­ti­gung stornieren

PUT /api/confirmations/{id}/cancel