Integration Guide

Integration Guide

Index



Intro

This document is written for project managers, technicians and responsible security officers at the involved departments of our client and/or the parties that are connected. This document contains 2 subjects:

  • Data structure XML, CSV, ODS and XLSX
    Meant for the stakeholders that deliver the data, ie. the selection of data, the collection of data both on query basis or manual delivery.

  • Data transport
    The secure transport of customer data to and from Collectmaxx

Intention

The goal of this document is to clarify how Collectmaxx platform works, to determine a standard concerning the delivery of data and the importance of transport security of data and to bring your attention to other technical security affairs.

How does Collectmaxx work?

Collectmaxx is a reminder service that can remind people of upcoming events, payments or share important information through phone, text messages (SMS), e-mail or other channels. Go to collectmaxx.com for a demonstration of the possibilities.

With the data format that is described in this document, all services can be directed.



 

Contact or support

Do you have a question or problem? Please log on to our service desk to create a ticket.

Data structure

To process data correctly it is important that this data is delivered in a reliable way. The content of the data has to be structured correctly to make sure it can be automatically processed. The cleaner (better) the input data is, the better the result of our services.

It is recommended to automate the selection of data - the process that determines which data is send to Collectmaxx. This decreases the chance of human errors and makes the dependency of humans to make the export smaller.

All records that are delivered at Collectmaxx will be processed automatically with the agreed settings in Collectmaxx. Don't deliver records that should not be processed.

Input file format

There are five possible file formats to deliver data: CSV, XLSX, XLS, ODS and XML. The information in this document applies all formats. The conversion of this information to the required file format is shown in a required fields matrix. This field matrix is located at the end of this document.

Example files are custom made for you. You will receive a complete custom CSV example from Collectmaxx with all the necessary fields and specifications.

Technical specifications XML

  • The file must be encoded in UTF-8.

  • The root-element is <annabel>, every record has to be surrounded by <record>.

  • Every category has to be surrounded by a new element. The fields of these categories are sub-elements. For an example of the element names of the different categories see the table below.

Technical specifications csv-file

  • The file must be encoded in UTF-8.

  • The field are divided by an delimiter. This delimiter has to be an semicolon (;).

Example: “person_familyname”;”contact_phonenumber_1”

  • All fields must be enclosed by an qualifier. This qualifier must be a double quote (“).

Example: “value"

  • Records have to be divided by a newline, according to the UNIX notation, or ASCII code 0x0A, or represented in most program languages by “\n”.

  • Field names have to be exactly the same as described n the documentation below**.

  • Fields cannot have unnecessary tabs and/or spaces. This can be solved with the so called trim() function.

  • Fields cannot be longer than the maximum described value.

  • A phone number can have a + or – sign, spaces are also allowed. It cannot have other alphanumeric signs.

  • Phone numbers must be delivered with a country code.

Technical specifications ODS or XLSX file

  • The first row should contain the field names and have to be exactly the same as described in the documentation below**.

  • Fields cannot be longer than the maximum described value.

  • A phone number can have a + or – sign, spaces are also allowed. It cannot have other alphanumeric signs.

  • Phone numbers must be delivered with a country code.

 

** When creating a file with the required field names is not possible in your situation, we can setup a custom field name mapping. This will be a one-time setup.

File names

Import

The names of the files that are sent to Collectmaxx must be unique, even when the content is identical. The preferred format is described below:

20200519-XXXX-1.csv

date (YYYYMMDD) + client number +”-” + number + “.csv”

Results

You can find our result files in our Portal or get them from our SFTP. The result files are created at night for the previous day. So at 6 AM, the results are available from the previous day.

Result files will have the following filename format:

result_20200519-XXXX.csv
Examples:

Daily result files:

result_20220106-acos1001.csv

Monthly result files:

result_20211201_20211231-acos1001.csv

"result_" + date(YYYYMMDD) + “-acos“+ script number + “.csv”

 

 

 



Field specification delivery file

For every message sent by Collectmaxx, a separate record must be delivered. Every record contains the necessary information from the specified fields below.

Every category can be delivered once or more times per record. This is mentioned in the header of every category. When an entity can be delivered more than once in a category it is required to number the entities by a '_X' suffix.

Example:

CONTACT_PHONENUMBER_1, CONTACT_PHONENUMBER_2

Identification (IDENTIFICATION)

The IDENTIFIER field is used to make sure that every record can be identified as unique. When there are 2 records containing the same IDENTIFIER the system will treat it as one (only the last one will be used). Therefore it is important that this identifier is unique, not only in a single file but in all your delivery history.

Field

Description

Format (Max.)

IDENTIFIER

A unique string that identifies the record. This is the identifier in our result file.
In our API this field is called “reference“.

(VARCHAR) 255

 

This identifier has to be unique overall history of sending. To ensure this it can be composed of a file number or customer number in combination with the present date.

Person (PERSON)

Describes the customer.

Field

Description

Format (Max.)

FAMILYNAME

Last name. Also contains inserts.

(VARCHAR) 100

GIVENNAME

First name(s)

(VARCHAR) 100

GENDER

Gender. Valid values are: M/F/U

M = Male, F = Female, U = Unknown

(VARCHAR) 1

BIRTHDAY

Birthday

Example: 1975-01-01

(DATE) yyyy-mm-dd

IDENTIFIER

Client number / debtor number / patient number / etc.

(VARCHAR) 100

HONORIFICPREFIX

Title of customer (prefix)

Example: Drs. Ing.

(VARCHAR) 100

HONORIFICSUFFIX

Title of customer (suffix)

Example: MSc.

(VARCHAR) 100

 

For the CSV format it is necessary to add the prefix 'PERSON_' to all field names of this category. for example, PERSON_FAMILYNAME.

 

The field FAMILYNAME should also contain all the (pre)names that have to be pronounced. These have to be inserted in the order of pronunciation. A name like 'Berg, van der" is inserted in the cell as "van der Berg".



Address (ADDRESS)

Describes an address.

Field

Description

Format (Max.)

STREET

Street name

(VARCHAR) 100

HOUSENUMBER

House number (an extension can be added when it cannot be split to EXTENSION)

(VARCHAR) 50

EXTENSION

House number extension

(VARCHAR) 50

ZIPCODE

Zip code

(VARCHAR) 15

CITY

City

(VARCHAR) 100

COUNTRY

2-digit ISO3611 land code

Example: NL

(VARCHAR) 2

 

The splitting of address fields is strongly recommended, especially when using enrichment. It has a great influence on the quality of the enriched phone numbers.

Contact (CONTACT)

Contains all contact information from 1 person. It is possible to add multiple phone numbers for a record. The maximum is 3. To add multiple phone numbers simply add a number to the column name, for example:

CONTACT_PHONENUMBER_1;CONTACT_PHONENUMBER_2;CONTACT_PHONENUMBER_3

Field

Description

Format (Max.)

PHONENUMBER_x

Phone number in E.164 international format.

Example: 31107989525

(VARCHAR) 20

EMAIL_1

Email address.
Currently no support for multiple email addresses.

(VARCHAR) 100

 

When phone numbers aren't correctly delivered, we will try to correct then to the proper format. Leading zero's, spaces and hyphens are removed. When a number starts with 0 it will be replaced with the Dutch land code (31). International clients should always add their land code.

 

For voice and SMS scripts we validate the phone numbers against Google's library for validating international phone numbers. While importing we discard values that do not match your configuration.

 

Invoice information (INVOICE)

All information that concerns a specific payment.

Field

Description

Format (Max.)

NUMBER

Invoice number, can also be a dossier number

(VARCHAR) 100

DATE

Invoice date

Example: 2021-01-01

(DATE) yyyy-mm-dd

DUEDATE

Last payment date (should always be a date in the future)
This wil be the last day a PayLink could be paid.

Example: 2021-01-01

(DATE) yyyy-mm-dd

CURRENCY

3-digit ISO 4217 code of the currency.

Example: EUR

(VARCHAR) 3

AMOUNT

Total amount of the invoice (in cents)

Example: 10000 (= €100,00)

(INT)

TAX

Total amount of the VAT (in cents).

(INT)

DESCRIPTION

Description of the invoice

(VARCHAR) 255

REFERENCE

Reference of the invoice


When using iDEAL
[a-zA-Z0-9]{1,35}

SERIAL

Serial number of the invoice (first invoice, first reminder, etc.)

Example: 1

(INT)

 

Some payment providers have a character limit for the description and reference. We will shorten the field to this limit, for the transaction. Our landing page will have the full text. iDEAL has a limit of 35 characters, PayPal 127.

By default, the PayLink expires 90 days after the date of creation.

Payment arrangement (INVOICE_ARRANGEMENT)

All fields that concern a payment arrangement of a specific invoice.

Field

Description

Format (Max.)

DESCRIPTION

Description of the payment

(VARCHAR) 255

TOTALTERMS

Total amount of terms of the arrangement

INT

TERM

Current term of the arrangement

INT

STARTDATE

Start date of payment arrangement

Example: 2021-01-01

(DATE) yyyy-mm-dd

DUEDATE

Last payment date (always use future date)

Example: 2021-01-01

(DATE) yyyy-mm-dd

CURRENCY

3-digit ISO 4217 code of the currency

Example: EUR

(VARCHAR) 3

AMOUNT

Amount of the arrangement (in cents).

Example: 10000 (= €100,00)

(INT)

REMAINING

Total amount that remains of the arrangement.

(INT)

Invoice lines (maximum 3) (INVOICELINES)

Describes the individual lines of an invoice. Use the '_X' suffix for multiple lines, for example:

INVOICELINES_1_DESCRIPTION

Field

Description

Format (Max.)

DESCRIPTION

Description of the invoice line

(VARCHAR) 255

UNITS

Amount of units of this product or service

(INT)

UNITPRICE

Price per unit (in cents).

Example: 10000 (= €100,00)

(INT)

TOTAL

Total amount for this line (in cents).

Example: 10000 (= €100,00)

(INT)

TAX

VAT for this line (in cents).

Example: 10000 (= €100,00)

(INT)

 

Emandate information (EMANDATE)

The fields are used to generate an Emandate.

Field

Description

Format (Max.)

IDENTIFIER

The number of the Emandate

(VARCHAR) 35

PURCHASEID

The number of the transaction

(VARCHAR) 35

REASON

The reason of the transaction

(VARCHAR) 70

DEBTORID

The Debtor identification number

VARCHAR) 35

VISIBLEUNTIL

The date when the request expires.

(DATE) yyyy-mm-dd

Contract information (CONTRACT)

These fields describe the value of products or contracts.

Field

Description

Format (Max.)

IDENTIFIER

The number of the contract or product

(VARCHAR) 25

TYPE

The category of the contract or product

Example: damage insurance

(VARCHAR) 100

NAME

The name of the contract or product

(VARCHAR) 100

STARTDATE

The start date of the contract or product

(DATE) yyyy-mm-dd

ENDDATE

The end date of the contract or product

(DATE) yyyy-mm-dd

Contractor information (CONTRACT_CONTACT)

These fields are used to present the contact information of the company for a specific contract or product.

Field

Description

Format (Max.)

FAMILYNAME

The last name of the contact person

(VARCHAR) 100

GIVENNAME

The first name of the contact person

(VARCHAR) 100

GENDER

The gender of the contact person

M = Male, F = Female, U = Unknown

(VARCHAR) 1

PHONENUMBER

The phone number of the contact person in E.164 international format.

Example: 31107989525

(VARCHAR) 20

EMAIL

The email address of the contact person

(VARCHAR) 100



Collectmaxx control elements (CONTROL)

These fields are used to control the messages that are send.

Field

Description

Format (Max.)

SUPPLIER

Identifier or name of a supplier. A mapping will be agreed with Collectmaxx when used with Voice message.

(VARCHAR) 100