Integration overview

There are several solutions on how you can integrate with Carma. Which solution you should choose, depends on your circumstances and preferences. This document is a guide in the choice of integration method towards Carma. We present the most common integration solutions and describe the situation in which each solution is best suited.

What kind of data can be stored in Carma?

Recipient data

Property data connected to a recipient that can be extended to any number of properties.
All properties on a recipient can be used for segmentation of recipients or to be presented directly in the email.

Purchase History data

Purchase history data is additional to your property data and enables you to import multiple events on existing recipients in your database. You can have up to 20 different parameters in your setup (of which ten parameters are predefined).


What can I do with this data?



Transferring data

Manual imports via the Carma interface

It is easy to manually import files into a Carma database using the Carma import interface. Via the mapping feature, you can create an import scheme that imports your file data to the correct properties in Carma. For more information, please click here.

Automated imports

Carma auto import
Our most popular solution is easy and quick to implement and makes few demands on your own IT organization. The solution is based on a data file from your system which, once a day, is reflected into Carma using file transfer. Data is transferred using FTP, sFTP or Secure copy, and one file contains all data about your recipients that you wish to import into Carma. The file you export from your system should be a .csv/.txt file where each line of the file contains information about a recipient. At a given time Carma will look for a new file to import and then update your Carma database with the data in the file.

Advantage – an extremely fast and very simple method to get a powerful integration.

Disadvantage – large amounts of data, that are in no need of updating, might be moved (the larger parts of the data rarely changes within day intervals).

Carma auto import – multi file import
This solution is an extension of the Carma auto import, which makes it possible to send multiple files to Carma saved into the same database. This solution is suitable if you want to import data into Carma from different systems. This requires that all systems are using the same ID to identify the recipients.


The Carma trigger solution is based on a call to Carma from an external system which generates a message. It is possible to either send a single message or multiple, which is explained below. You prepare the message in Carma and the trigger call only needs to include the recipient data to send the message. Our different trigger solutions are:

Transactional – single message

This solution is based on a web service where an http or https call to Carma easily triggers a single send out of an email or SMS. It is suitable to use for welcome emails, invoices, reminders, passwords, etc. Transactional messages will receive priority status and will therefore be sent before other messages in queue.

Batch Transactional – multiple messages

With this solution you can make a selection of recipients in a system outside Carma and send a message to these recipients. The recipients will also be updated with, if any, new data.

This solution is suitable if you want Carma to be used as a mailing engine of recurring emails from your own system. For example birthday messages or other types of emails which is of a recurring nature.

Carma Batch Transactional can be executed by two different methods:

Web service (call to Carma’s web service updates recipients and sends a specific trigger message)

File transfer (upload of a file, that is connected to a specific trigger message, updates and sends the message)

Retry recommendations

We recommend to implement a retry functionality for some HTTP responses.
But first it is important that you consider:

  • Is it critical for the message to be delivered (at least once) or is it worse if it would be sent multiple times (at most once)
    • If it is tickets or order information messages it is probably more critical to get it delivered at all then if it would be sent multiple times
    • If it is an offer or gift value message it is probably worse if it sends multiple times

Below is listed HTTP response codes where we recommend retrys:

  • 400 codes:
    • 429 – Too many requests: You have hit your API rate limit, retry with time delay
  • 500 error codes
    • 502, 503 – Bad gateway/Service unavailable. System is not available at the moment, retry with time delay
    • 504 – Gateway timeout. Uncertain if request was successful, probably not but the request might have been handled and network connection was broken during process. Retry is suitable depending on the critical level of delivery.
  • Request timeout. If request fails due to timeout retry depends on
    • Connection timeout. You have not reached our server, retry without risk
    • Socket timeout. You have reached the server but did not get any response in time. Retry is suitable depending on the critical level of delivery

Send Campaign

This is a file based solution for both updating recipients and sending a specific campaign to these recipients. The uploaded file contains the information Carma needs to send a campaign. The file name should contain information about which database that should be updated, which delivery that should to be sent and which time.

This solution is suitable if you wish to, outside Carma, make a selection of recipients of a specific campaign.


By using our REST API, you can access several features in Carma, including the ability to update your recipients. The solution is suitable in cases when you want Carma to be real time updated.