Lieferscheine

Alle Lie­fer­scheine auflisten

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

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

GET /api/delivery-notes?delivery_note_number=LS123

Lis­tet alle Lie­fer­scheine auf, die “LS123” in der Lie­fer­schein­num­mer haben. Groß– und Klein­schrei­bung wird igno­riert.
Fol­gende Filter-Parameter ste­hen zur Verfügung:

Para­me­ter Beschrei­bung
client_id ID des Kun­den
delivery_note_number Lie­fer­schein­num­mer
sta­tus Lie­fer­schein­sta­tus (DRAFT, CREATED). Meh­rere Stati kön­nen per Komma getrennt werden.
from Nur Lie­fer­scheine ab die­sem Datum (For­mat YYYY-MM-DD)
to Nur Lie­fer­scheine 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

Lie­fer­scheine aggre­giert auflisten

GET /api/delivery-notes?group_by=client

Lie­fer­scheine kön­nen auch grup­piert abge­ru­fen wer­den. Obi­ges Bei­spiel grup­piert alle Lie­fer­scheine nach Kunde.
Fol­gende Werte ste­hen für den Para­me­ter group_by zur Verfügung:

Wert Beschrei­bung
cli­ent Kunde
sta­tus Lie­fer­schein­sta­tus
day Tag
week Woche (beginnt mit Montag)
month Monat
year Jahr

Ein­zel­nen Lie­fer­schein aufrufen

GET /api/delivery-notes/{id}
<?xml version="1.0" encoding="UTF-8"?>
<delivery-note>
	<id type="integer">1</id>
	<client_id type="integer">123</client_id>
	<created type="datetime">2007-12-13T12:12:00+01:00</created>
	<delivery_note_number>GS123</delivery_note_number>
	<number type="integer">123</number>
	<number_pre>LS</number_pre>
	<status>CREATED</status>
	<date type="date">2009-10-14</date>
	<address>Billomat GmbH &amp; Co. KG&#13;
	Hollertszug 26&#13;
	57562 Herdorf&#13;
	Deutschland</address>
        <label>Projekt 123</label>
	<intro>Wir liefern Ihnen folgende Ware:</intro>
	<note>Vielen Dank!</note>
</delivery-note>

sta­tus kann fol­gende Werte haben:

  • DRAFT (Ent­wurf)
  • CREATED (erstellt)

Die Lie­fer­schein­po­si­tio­nen und Lie­fer­schein­kom­men­tare kön­nen geson­dert abge­ru­fen werden.

Lie­fer­schein erstellen

POST /api/delivery-notes
XML-Element Beschrei­bung Typ Default-Wert Pflicht­feld
client_id ID des Kun­den INT ja
address kom­plette Lieferscheinadresse 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 Lie­fer­schein­num­mer (wird mit füh­ren­den Nul­len aufgefüllt) INT Wert aus den Ein­stel­lun­gen
date Lie­fer­schein­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

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

Die übri­gen Eigen­schaf­ten des Lie­fer­scheins wer­den auto­ma­tisch berechnet.

Lie­fer­schein­po­si­tio­nen (delivery-note-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 Lie­fer­schein­po­si­tion erstel­len. Nur das XML-Element delivery_note_id muss nicht mit ange­ge­ben werden.

<delivery-note>
<client_id>1</client_id>
	<date>2009-11-18</date>
	<note>Wir schreiben Ihnen gut:</note>
	<delivery-note-items>
		<delivery-note-item>
			<unit>Stück</unit>
			<quantity>1.5</quantity>
			<title>Muster</title>
		</delivery-note-item>
		<delivery-note-item>
			<unit>Stunde</unit>
			<quantity>8</quantity>
			<title>Arbeiten</title>
		</delivery-note-item>
	</delivery-note-items>
</delivery-note>
<?xml version="1.0" encoding="UTF-8"?>
<delivery-note>
	<id type="integer">1234</id>
	<client_id type="integer">1</client_id>
	<created type="datetime">2007-12-13T12:12:00+01:00</created>
	<delivery_note_number>LS124</delivery_note_number>
	<number type="integer">124</number>
	<number_pre>LS</number_pre>
	<date type="date">2009-11-18</date>
	...
</delivery-note>

Lie­fer­schein bearbeiten

PUT /api/delivery-notes/{id}

Ein Lie­fer­schein kann grund­sätz­lich nur im Entwurfs-Status (DRAFT) bear­bei­tet werden.

Lie­fer­scheinepo­si­tio­nen und Kom­men­tare kön­nen nicht direkt über den Lie­fer­schein bear­bei­tet wer­den. Bitte dafür über die ent­spre­chende Res­source gehen.

<delivery-note>
<date>2009-10-13</date>
</delivery-note>

Lie­fer­schein löschen

DELETE /api/delivery-notes/{id}

Löscht einen Lie­fer­schein inkl. aller dazu­ge­hö­ri­ger Doku­mente (PDFs), Lie­fer­schein­po­si­tio­nen und Kom­men­tare.


PDFs eines Lie­fer­scheins aufrufen

GET /api/delivery-notes/{id}/pdf

An die­ser Stelle kann 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>
	<delivery_note_id type="integer">240</delivery_note_id>
	<filename>delivery-note_123.pdf</filename>
	<mimetype>application/pdf</mimetype>
	<filesize>70137</filesize>
	<base64file>{base64-kodiertes PDF}</base64file>
</pdf>

Lie­fer­schein abschließen

PUT /api/delivery-notes/{id}/complete

Schließt einen Lie­fer­schein im Ent­wurfs­sta­tus (DRAFT) ab. Dabei wird der Sta­tus auf offen (OPEN) gesetzt, ein PDF erzeugt und im Datei­sys­tem abge­legt.
Wel­che Vor­lage für die PDF-Erzeugung benutzt wird, steu­ert der optio­nale Para­me­ter template_id.
Wird die­ser Para­me­ter nicht ange­ge­ben, wird die ein­ge­stellte Standard-Vorlage benutzt.

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

Lie­fer­schein per E-Mail versenden

POST /api/delivery-notes/{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-Lieferschein (ohne .pdf) ALNUM delivery-note_{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>Ihr Lieferschein</subject>
	<body>Sehr geehrte Damen und Herren, ....</body>
	<filename>Lieferschein</filename>
	<attachments>
		<attachment>
			<filename>zeichnung.pdf</filename>
			<mimetype>application/pdf</mimetype>
			<base64file>{base64-kodierte Datei}</base64file>
		</attachment>
	</attachments>
</email>

Lie­fer­schein stornieren

PUT /api/delivery-notes/{id}/cancel