Mahnungen

Alle Mah­nun­gen auflisten

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

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

GET /api/reminders?invoice_number=RE123

Lis­tet alle Mah­nun­gen für die Rech­nung “RE123”. 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
invoice_number Rech­nungs­num­mer
sta­tus Rech­nungs­sta­tus (DRAFT, OPEN, PAID, OVERDUE, CANCELED). Meh­rere Stati kön­nen per Komma getrennt werden.
from Nur Mah­nun­gen ab die­sem Datum (For­mat YYYY-MM-DD)
to Nur Mah­nun­gen bis zu die­sem Datum (For­mat YYYY-MM-DD)
label Freitext­su­che in der Bezeichnung
sub­ject Freitext­su­che im Betreff
intro Freitext­su­che im Einleitungstext
note Freitext­su­che im Anmerkungstext

Ein­zelne Mah­nung aufrufen

GET /api/reminders/{id}
<?xml version="1.0" encoding="UTF-8"?>
<reminder>
    <id type="integer">1</id>
    <created type="datetime">2007-12-13T12:12:00+01:00</created>
    <status>OPEN</status>
    <invoice_id>7</invoice_id>
    <reminder_text_id type="integer">123</reminder_text_id>
    <reminder_level type="integer">1</reminder_level>
    <reminder_level_name>Erste Stufe</reminder_level_name>
    <date type="date">2009-10-14</date>
    <label>Projekt 123</label>
    <subject>Zahlungserinnerung</subject>
    <intro>Sicherlich haben Sie nur vergessen, zu zahlen...</intro>
    <note>Bitte zahlen Sie bis zum....</note>
    <due_date type="date">2011-04-12</due_date>
    <total_gross type="float">119.0</total_gross>
    <is_old>0</is_oldt>
</reminder>

sta­tuskann fol­gende Werte haben:

  • DRAFT (Ent­wurf)
  • OPEN (offen)
  • OVERDUE (über­fäl­lig)
  • PAID (bezahlt)
  • CANCELED (stor­niert)

Die Mah­nungs­po­si­tio­nen kön­nen geson­dert abge­ru­fen werden.

Mah­nung erstellen

POST /api/reminders
XML-Element Beschrei­bung Typ Default-Wert Pflicht­feld
invoice_id ID der über­fäl­li­gen Rech­nung INT ja
address kom­plette Mahnungsadresse ALNUM Adresse aus der Rechnung
date Mah­nungs­sda­tum DATE heute
due_date Fäl­lig­keits­da­tum DATE date + Fäl­lig­keit in Tagen aus Einstellungen
sub­ject Betreff ALNUM Betreff der nächs­ten Mahn­stufe (falls vorhanden)
label Bezeich­nung ALNUM
intro Ein­lei­tungs­text ALNUM Ein­lei­tungs­text der nächs­ten Mahn­stufe (falls vorhanden)
note Anmer­kungs­text ALNUM Anmer­kungs­text­der nächs­ten Mahn­stufe (falls vorhanden)

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

Mah­nungs­po­si­tio­nen (reminder-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 Mah­nungs­po­si­tion erstel­len. Nur das XML-Element reminder_id muss nicht mit ange­ge­ben werden.

<reminder>
    <invoice_id>56610</invoice_id>
    <reminder_level type="integer">1</reminder_level>
    <date type="date">2009-10-14</date>
    <subject>Zahlungserinnerung</subject>
    <intro>Sicherlich haben Sie nur vergessen, zu zahlen...</intro>
    <note>Bitte zahlen Sie bis zum....</note>
    <due_date type="date">2011-04-12</due_date>
    <reminder-items>
         <reminder-item>
            <unit></unit>
            <unit_price>2</unit_price>
            <quantity>1</quantity>
            <title>Verzugszinsen</title>
        </reminder-item>
        <reminder-item>
            <unit></unit>
            <unit_price>10</unit_price>
            <quantity>1</quantity>
            <title>Mahngebühren</title>
        </reminder-item>
    </reminder-items>
</reminder>
<reminder>
	<id type="integer">9</id>
	<created type="datetime">2011-02-11T11:33:05+01:00</created>
	<status>1</status>
	<invoice_id type="integer">56610</invoice_id>
	<reminder_text_id type="integer"/>
	<reminder_level type="integer">1</reminder_level>
	<reminder_level_name/>
	<date type="date">2009-10-14</date>
	<subject>Zahlungserinnerung</subject>
	...
</reminder>

Mah­nung bearbeiten

PUT /api/reminders/{id}

Eine Mah­nung kann grund­sätz­lich nur im Entwurfs-Status (DRAFT) bear­bei­tet werden.

Mah­nungs­po­si­tio­nen kön­nen nicht direkt über die Mah­nung bear­bei­tet wer­den. Bitte dafür über die ent­spre­chende Res­source gehen.

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

Mah­nung löschen

DELETE /api/reminders/{id}

Löscht eine Mah­nung inkl. aller dazu­ge­hö­ri­ger Doku­mente (PDFs), Mah­nungs­po­si­tio­nen und Kommentare.


PDFs einer Mah­nung aufrufen

GET /api/reminders/{id}/pdf

Als optio­na­ler Para­me­ter kann type=signed ver­wen­det wer­den, um das digi­tal signierte PDF aufzurufen.

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>
    <reminder_id type="integer">240</reminder_id>
    <filename>reminder_123.pdf</filename>
    <mimetype>application/pdf</mimetype>
    <filesize>70137</filesize>
    <base64file>{base64-kodiertes PDF}</base64file>
</pdf>

Mah­nung abschließen

PUT /api/reminders/{id}/complete

Schließt eine Mah­nung im Ent­wurfs­sta­tus (DRAFT) ab. Dabei wird der Sta­tus auf offen (OPEN) bzw. über­fäl­lig (OVERDUE) gesetzt und ein PDF erzeugt und im Datei­sys­tem abge­legt.
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>

Signier­tes PDF zu einer Mah­nung hochladen

PUT /api/reminders/{id}/upload-signature

Lädt ein PDF mit einer digi­ta­len Signa­tur zur ange­ge­be­nen Mah­nung hoch.
Die Mah­nung darf sich nicht mehr im Entwurfs-Status (DRAFT) befinden.

XML-Element Beschrei­bung Typ Default-Wert Pflicht­feld
base64file Base64-kodiertes PDF mit digi­ta­ler Signatur BASE64FILE ja

Hin­weis: Eine (qua­li­fi­zierte) digi­tale Signa­tur kann NICHT direkt über die billomat[API] erstellt wer­den. Wir emp­feh­len, für diese Funk­tion direkt auf die PixelLetter-Schnittstelle oder einen ande­ren Dienst zurück zu greifen.

<signature>
    <base64file>{base64-kodiertes PDF}</base64file>
</signature>

Mah­nung per E-Mail versenden

POST /api/reminders/{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-Rechnung (ohne .pdf) ALNUM reminder_{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>Mahnung</subject>
    <body>Sehr geehrte Damen und Herren, ....</body>
    <filename>mahnung</filename>
    <attachments>
        <attachment>
            <filename>zeichnung.pdf</filename>
            <mimetype>application/pdf</mimetype>
            <base64file>{base64-kodierte Datei}</base64file>
        </attachment>
    </attachments>
</email>

Mah­nung stornieren

PUT /api/reminders/{id}/cancel