Reminders

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:

ParameterDescription
client_idID of the client
contact_idID of the contact
invoice_numberNumber of the related invoice
statusStatus (DRAFT, OPEN, PAID, OVERDUE, CANCELED). More than one statuses could be given as a comma separated list. Theses statuses will be logically OR-connected.
fromOnly show invoices since this date (format YYYY-MM-DD)
toOnly show invoices up to this date (format YYYY-MM-DD)
subjectFree text search in subject
labelFree text search in label text
introFree text search in introductory text
noteFree text search in explanatory notes
tagsComma separated list of tags
article_idID 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-01</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">2009-10-31</due_date>
    <due_days>30</due_days>
    <total_gross type="float">119</total_gross>
    <paid_amount type="float">0</paid_amount>
    <open_amount type="float">119</open_amount>
    <is_old>0</is_old>
    <customerportal_url>https://mybillomatid.billomat.net/customerportal/reminders/show/entityId/123?hash=123456789aabbcc</customerportal_url>
    <template_id></template_id>
</reminder>

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

Create reminder

POST /api/reminders
XML elementDescriptionTypeDefault valueMandatory
invoice_idID of the overdue invoiceINTyes
contact_idID of the contactINT
addressthe addressALNUMAddress from invoice
dateDate of the reminderDATEtoday
due_dateDue date of the reminderDATEdate + due days taken from the settings
subjectSubjectALNUMSubject of the next dunning level (if available)
labelLabel text to describe the projectALNUM
introIntroductory textALNUMIntroductory text of the next dunning level (if available)
noteExplanatory notesALNUMExplanatory notes of the next dunning level (if available)
template_idThe ID of the template to be used to complete the reminder.INTID 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_level_name></reminder_text_id></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 elementDescriptionTypeDefault valueMandatory
base64fileBase64 encoded PDF with digital signatureBASE64FILEja

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 elementDescriptionTypeDefault valueMandatory
email_template_idID of the e-mail templateINT
fromSenderEMAILDefault email from the settings
recipientsRecipients of the e-mail. There must be at least one xml node for “to”, “cc” and/or “bcc”.XML node/EMAILja
subjectSubject of the e-mail (may include placeholders)ALNUMValue taken from the (default) e-mail template
bodyText of the e-mail (may include placeholders)ALNUMValue taken from the (default) e-mail template
filenameName of the PDF file (without .pdf)ALNUMinvoice_{id}
attachmentsFurther 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>
    Dear sir or madam, ....
    <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 elementDescriptionTypeDefault valueMandatory
colorDetermines whether to use color printing.BOOL0
duplexDetermines whether to use duplex printing.BOOL1
paper_weightDetermines the paper weight in grams. Possible values are 80 or 90.INT90
attachmentsFurther 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