List all payment reminders

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>

You can filter the result by parameters:

GET /api/reminders?invoice_number=RE123

Lists all reminders with “RE123” in the invoice number. Upper and lower case are ignored.
The following filter parameters are available:

Parameter Description
client_id ID of the client
contact_id ID of the contact
invoice_number Number of the related invoice
status Status (DRAFT, OPEN, PAID, OVERDUE, CANCELED). More than one statuses could be given as a comma separated list. Theses statuses will be logically OR-connected.
from Only show invoices since this date (format YYYY-MM-DD)
to Only show invoices up to this date (format YYYY-MM-DD)
subject Free text search in subject
label Free text search in label text
intro Free text search in introductory text
note Free text search in explanatory notes
tags Comma separated list of tags
article_id ID of an article

Get a single reminder

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>
    <contact_id type="integer"></contact_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>project 123</label>
    <subject>Friendly reminder</subject>
    <intro>Surely you've only forgotten to pay...</intro>
    <note>Please pay to....</note>
    <due_date type="date">2011-04-12</due_date>
    <total_gross type="float">119.0</total_gross>
    <is_old>0</is_old>
    <customerportal_url>https://mybillomatid.billomat.net/customerportal/reminders/show/entityId/123?hash=123456789aabbcc</customerportal_url>
</reminder>

status can have the following values::
– DRAFT
– OPEN
– OVERDUE
– PAID
– CANCELED
Reminder items can be accessed separately.

Create reminder

POST /api/reminders
XML element Description Type Default value Mandatory
invoice_id ID of the overdue invoice INT yes
contact_id ID of the contact INT
address the address ALNUM Address from invoice
date Date of the reminder DATE today
due_date Due date of the reminder DATE date + due days taken from the settings
subject Subject ALNUM Subject of the next dunning level (if available)
label Label text to describe the project ALNUM
intro Introductory text ALNUM Introductory text of the next dunning level (if available)
note Explanatory notes ALNUM Explanatory notes of the next dunning level (if available)
template_id The ID of the template to be used to complete the reminder. INT ID of the default template

status at creation is always DRAFT.
Reminder items (reminder-items) can be specified directly at creation. Please find a documentation of the XML elements at Create reminder items, but the XML element reminder_id need not be specified with.

<reminder>
    <invoice_id>56610</invoice_id>
    <reminder_level type="integer">1</reminder_level>
    <date type="date">2009-10-14</date>
    <subject>Friendly reminder</subject>
    <intro>Surely you've only forgotten to pay...</intro>
    <note>Please pay to....</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>Late payment interest</title>
        </reminder-item>
        <reminder-item>
            <unit></unit>
            <unit_price>10</unit_price>
            <quantity>1</quantity>
            <title>Overdue fines</title>
        </reminder-item>
    </reminder-items>
</reminder>
<reminder>
<id type="integer">9</id>
<created type="datetime">2011-02-11T11:33:05+01:00</created>
<status>DRAFT</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>Friendly reminder</subject>
...
</reminder>

Edit reminder

PUT /api/reminders/{id}

A reminder can basically be edited in draft status (DRAFT) only.
Reminder items could not be edited at the reminder. Please use the appropriate resource instead.

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

Delete reminder

DELETE /api/reminders/{id}

Deletes a reminder with all documents (PDFs) and items.

Complete reminder

PUT /api/reminders/{id}/complete

Completes a reminder in the draft status (DRAFT). Here, the status of open (OPEN) or overdue (OVERDUE) is set and a PDF is generated and stored in the file system.

The optional parameter template_id determines which template is used to create a pdf.

If this parameter is not specified, the template specified at the reminder or the default template is used.

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

Open pdf of a reminder

GET /api/reminders/{id}/pdf

At this point, the parameter format=pdf can also be used to open the PDF directly with MIME type “application/pdf”.
With the optional parameter type=print you can request the PDF without background. Note that the setting print_version must have been activated.

<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 encoded PDF}</base64file>
</pdf>

Updoad a digital signature for a given reminder

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

Updoads a digital signature for a given invoice.
The status of the reminder may not be DRAFT.

XML element Description Type Default value Mandatory
base64file Base64 encoded PDF with digital signature BASE64FILE ja

Note: A (qualitfied) digital signature can NOT be created by the billomat[API] directly. We recommend that you use this function directly on the PixelLetter interface or another service

<signature>
    <base64file>{base64 encoded PDF}</base64file>
</signature>

Send reminder by e-mail

POST /api/reminders/{id}/email
XML element Description Type Default value Mandatory
email_template_id ID of the e-mail template INT
from Sender EMAIL Default email from the settings
recipients Recipients of the e-mail. There must be at least one xml node for “to”, “cc” and/or “bcc”. XML node/EMAIL ja
subject Subject of the e-mail (may include placeholders) ALNUM Value taken from the (default) e-mail template
body Text of the e-mail (may include placeholders) ALNUM Value taken from the (default) e-mail template
filename Name of the PDF file (without .pdf) ALNUM invoice_{id}
attachments Further files. Attachments can contain as many nodes on the “attachment” with the elements “filename”, “mimetype” and “base64file”. XML node
<email>
    <from>info@billomat.com</from>
    <recipients>
        <to>info@billomat.com</to>
        <cc>mail@example.com</cc>
    </recipients>
    <subject>Reminder!</subject>
    <body>Dear sir or madam, ....</body>
    <filename>reminder</filename>
    <attachments>
        <attachment>
            <filename>drawing.pdf</filename>
            <mimetype>application/pdf</mimetype>
            <base64file>{base64 encoded file}</base64file>
        </attachment>
    </attachments>
</email>

Send reminder by mail

POST /api/reminders/{id}/mail

Sends a reminder by mail. Pixelletter has to be configured as add on for usage.

XML element Description Type Default value Mandatory
color Determines whether to use color printing. BOOL 0
duplex Determines whether to use duplex printing. BOOL 1
paper_weight Determines the paper weight in grams. Possible values are 80 or 90. INT 90
attachments Further PDF files. Attachments can contain as many nodes on the “attachment” with the elements “filename”, “mimetype” and “base64file”. XML node
<mail>
    <color>0</color>
    <duplex>1</duplex>
    <paper_weight>90</paper_weight>
    <attachments>
        <attachment>
            <filename>drawing.pdf</filename>
            <mimetype>application/pdf</mimetype>
            <base64file>{base64 encoded file}</base64file>
        </attachment>
    </attachments>
</mail>

Cancel reminder

PUT /api/reminders/{id}/cancel

Undo cancellation

PUT /api/reminders/{id}/uncancel