billomat[API]: Angebote

Alle Angebote auflisten

GET /api/offers
Response: 200 OK
<?xml version="1.0" encoding="UTF-8"?> <offers type="array" page="1" per_page="100" total="2"> <offer> ... </offer> <offer> ... </offer> </offers>

Über Parameter kann gefiltert werden:

GET /api/offers?offer_number=AN123

Listet alle Angebote auf, die "AN123" in der Angebotsnummer haben. Groß- und Kleinschreibung wird ignoriert.

Folgende Parameter stehen zur Verfügung:

Parameter

Beschreibung

client_id

ID des Kunden

offer_number

Angebotsnummer

status

Angebotsstatus (DRAFT, OPEN, WON, LOST, CANCELED)

from

Nur Angebote ab diesem Datum (Format YYYY-MM-DD)

to

Nur Angebote bis zu diesem Datum (Format YYYY-MM-DD)

intro

Freitextsuche im Einleitungstext

note

Freitextsuche im Anmerkungstext

Einzelnes Angebot aufrufen

GET /api/offers/{id}
Response: 200 OK
<?xml version="1.0" encoding="UTF-8"?> <offer> <id type="integer">1</id> <client_id type="integer">123</client_id> <created type="datetime">2007-12-13T12:12:00+01:00</created> <offer_number>AN123</offer_number> <number type="integer">123</number> <number_pre>AN</number_pre> <status>OPEN</status> <date type="date">2009-10-14</date> <address>Billomat GmbH &amp; Co. KG&#13; Hollertszug 26&#13; 57562 Herdorf&#13; Deutschland</address> <intro>Wir freuen uns, Ihnen folgende Positionen anbieten zu drüfen:</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> </offer>

status kann folgende Werte haben:

  1. DRAFT (Entwurf)
  2. OPEN (offen)
  3. WON (gewonnen)
  4. LOST (lost)
  5. CANCELED (storniert)

Zusätzlich zum eigentlichen Angebot werden noch die zusammengefassten Steuern (taxes) mit zurückgegeben.

Die Angebotspositionen und Angebotskommentare können gesondert abgerufen werden.

Angebot erstellen

POST /api/offers

Erstellt ein neues Angebot.

XML-Element

Beschreibung

Typ

Default-Wert

Pflichtfeld

client_id

ID des Kunden

INT

ja

address

komplette Angebotsadresse

ALNUM

Adresse des Kunden

number_pre

Präfix

ALNUM

Wert aus Einstellungen

number

lfd. Nummer

INT

nächste freie Nummer

date

Angebotsdatum

DATE

heute

intro

Einleitungstext

ALNUM

Wert aus Einstellungen

note

Anmerkungstext

ALNUM

Wert aus Einstellungen

currency_code

Währung

ISO-Währungscode

Standard-Währung

quote

Währungskurs (für Umrechnung in Standard-Währung)

FLOAT

1.0000

status ist bei der Erstellung immer DRAFT.
Die übrigen Eigenschaften des Angebotes werden automatisch berechnet.

Angebotspositionen (offer-items) können bei der Erstellung direkt mit angegeben werden. Es gelten die gleichen XML-Elemente wie unter Angebotsposition erstellen. Nur das XML-Element offer_id muss nicht mit angegeben werden.

Request Body
<offer> <client_id>5</client_id> <date>2009-11-17</date> <offer-items> <offer-item> <unit>Stück</unit> <unit_price>1.23</unit_price> <quantity>1.5</quantity> <title>Muster</title> </offer-item> <offer-item> <unit>Stück</unit> <unit_price>1.23</unit_price> <quantity>5</quantity> <title>Muster 2</title> </offer-item> </offer-items> </offer>
Response: 201 Created
<?xml version="1.0" encoding="UTF-8"?> <offer> <id type="integer">1234</id> <client_id type="integer">5</client_id> <created type="datetime">2007-12-13T12:12:00+01:00</created> <offer_number>AN124</offer_number> <number type="integer">124</number> <number_pre>AN</number_pre> <date type="date">2009-11-17</date> ... </offer>

Angebot bearbeiten

PUT /api/offers/{id}

Aktualisiert ein Angebot mit den übergebenen Parametern.

Ein Angebot kann grundsätzlich nur im Entwurfs-Status (DRAFT) bearbeitet werden.

Angebotspositionen und Kommentare können nicht direkt über das Angebot bearbeitet werden. Bitte dafür über die entsprechende Ressource gehen.

Request Body
<offer> <date>2009-10-13</date> </offer>
Response: 200 OK

Angebot löschen

DELETE /api/offers/{id}

Löscht ein Angebot inkl. aller dazugehöriger Dokumente (PDFs), Angebotspositionen und Kommentare.

Response: 200 OK

PDFs eines Angebotes aufrufen

GET /api/offers/{id}/pdf

An dieser Stelle kann außerdem der Parameter format=pdf verwendet werden, um das PDF direkt mit Mimetype "application/pdf" aufzurufen.

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

Angebot abschließen

PUT /api/offers/{id}/complete

Schließt ein Angebot im Entwurfsstatus (DRAFT) ab. Dabei wird der Status auf offen (OPEN) gesetzt und ein PDF erzeugt und im Dateisystem abgelegt.

Welche Vorlage für die PDF-Erzeugung benutzt wird, steuert der Parameter optionale template_id.
Wir dieser Parameter nicht angegeben, wird die eingestellte Standard-Vorlage benutzt.

Request Body
<complete> <template_id>123</template_id> </complete>
Response: 200 OK

Angebot per E-Mail versenden

POST /api/offers/{id}/email

Versendet ein Angebot per E-Mail.

XML-Element

Beschreibung

Typ

Default-Wert

Pflichtfeld

from

Absender

EMAIL

E-Mail des eingeloggten Benutzers

recipients

Empfänger der E-Mail. Muss mindestens einen XML-Knoten "to", "cc" und/oder "bcc" mit den gewünschten E-Mail-Adressen enthalten

XML-Knoten/EMAIL

ja

subject

Betreff der E-Mail, kann Platzhalter enthalten

ALNUM

Wert aus Einstellungen

body

Text der Mail, kann Platzhalter enthalten

ALNUM

Wert aus Einstellungen

filename

Dateiname der PDF-Rechnung (ohne .pdf)

ALNUM

offer_{id}

attachments

Weitere Dateianhänge. Kann beliebig viele Dateianhänge über die Knoten "attachment" mit den Elementen "filename", "mimetype" und "base64file" enthalten

XML-Knoten

Request Body
<email> <from>info@billomat.com</from> <recipients> <to>info@billomat.com</to> <cc>mail@example.com</cc> </recipients> <subject>Ihr Angebot</subject> <body>Sehr geehrte Damen und Herren, ....</body> <filename>angebot</filename> <attachments> <attachment> <filename>zeichnung.pdf</filename> <mimetype>application/pdf</mimetype> <base64file>{base64-kodierte Datei}</base64file> </attachment> </attachments> </email>
Response: 200 OK

Angebot stornieren

PUT /api/offers/{id}/cancel
Response: 200 OK
Du bist hier: Startseite » API » Angebote