On this page:
You can develop your integration with MailUp by mixing the available solutions, taking advantage of the features they provide. Each listed item is a link to the correspondent documentation.
- HTTP GET/POST (includes Subscription forms, that are based on the same methods)
- SOAP API
- REST API
- SMTP+ (SMTP Relay)
- Frontend reporting pages
Here below there is a comparison matrix between available solutions.
= available with restrictions (see specific notes for each case)
Manage lists and groups
|Read lists and groups|
|Import recipient (single)||1||2|
|Import of recipients (bulk)||3|
|Bulk import limit |
(Mega Bytes )
MailUpImport : Multiple import by splitting in blocks,
SendMessageNL: as FTP case
|Multiple import by splitting in blocks,|
up to 7 MB per block
|N/A, but successfully |
tested either with 50 MB or with
a single import file containing 4 millions email addresses
|Force optin of unsubscribed recipient (single)||2||2|
|Force optin of unsubscribed recipients (bulk)|
|Unsubscribe recipient (single)||2|
Unsubscribe recipient (bulk)
|Read personal data fields settings|
|Update recipients' personal data fields|
|Check recipient's subscription status|
|Add to group (single)||2|
|Add to group (bulk)|
|Remove from group (single)|
|Remove from group (bulk)||4|
|Create email message|
|Read email messages|
|Manage both embedded and not embedded images in the same message|
|Manage dynamic fields|
|Manage dynamic content||?|
|Manage image upload (i.e. make them hosted by MailUp)|
|Full content customization for each recipient|
|Allow mixing embedded and not embedded images in one email message|
|Transactional emails (account credentials after signup, password reminders...)||5|
|Transactional emails (newsletters, customized messages)||5|
|Send to a single recipient||2,3|
|Send to a group|
|Send to all list subscribers|
|Manage queue of messages to be sent|
|Get email statistics in real time|
|Get email statistics (with scheduled process)|
|Create SMS (with dynamic fields)||6|
|Manage dynamic fields|
|Send SMS to a recipient||6|
|Send SMS to a group/list (immediate & scheduled)||6|
|Get SMS statistics in real time|
|Get SMS statistics (with scheduled process)|
|Security||HTTP with encrypted querystring |
parameters and IP restriction9 in
most of the pages7
HTTP, user authentication, and IP
|OAuth2 with refresh token||STARTTLS Encryption is supported||sFTP and FTPs are supported||Authorization workflow|
at application level
(sender and mailing
shall be approved before
|HTTP with encrypted querystring |
parameters in most of the pages8
|New trial account activation|
(1) New recipients are added to list when a message is sent to them
(2) For this API the feature is designed for bulk operations, its massive use on single recipients may affect system performances
(3) New recipients are added when listed in enclosed "one2many.import" file
(4) Requires a customization
(5) Can be used for confirmation requests, not for massive use (see this Rate Limiting about SendSingleNewsletter)
(6) With the "Text message (SMS) sending from .CSV file" feature
(7) where these features are not available, the actions require a click on a confirmation email before proceeding
(8) please note that the purpose of frontend web pages is to be freely available by specifying an URL, without any console authentication
(9) Restrictions on caller IP cannot be used and shall be disabled in case of cloud hosting (in this case it is not possible to get all possible IPs to be authorized)
For each use case more solutions may be available, but they always differ in some aspects. Check them out to see which one better fits your needs.
Manage single recipients
MailUp provides several ways to add a new subscriber and manage either data fields or subscription status.
HTTP GET/POST and subscription forms
Subscription forms are based on HTTP GET/POST methods, which allow subscription unsubscription, check subscription status and update for a single recipient. These methods supports optin, confirmed optin, optout, fields update, unsubscription
Rest API is the most complete solution for managing a single subscriber (subscription status, group mebership and personal data fields) and it is the only MailUp solution that allows removal of a single recipient from a group. Adding a new recipient is an asynchronous process.
You can configure webhooks to enable a fast callback to your website when a recipient changes the subscription status or the personal data fields (e.g. by accessing to an autoprofile form). Callback method can be configured in order to include recipient's details as method parameter. Webhooks are managed by a worker process that is like a "frequent cron": you may experience some minutes of delay between the action and the corresponding callback. Bounces cannot be notified through webhooks
You can extend StartImportProcess method of MailUpImport SOAP API, that is designed for bulk import, to work with a single recipient. This method supports optin, confirmed optin, forced optin, optout, fields update, unsubscription. Adding a new recipient is an asynchronous process.
Synchronize recipients between your application and MailUp (i.e. import and/or export)
You may need to transfer a set of recipients, eventually with their personal data, from your application to MailUp; or viceversa. Solutions that work well with a single recipient may not be suitable for big numbers of recipients, in this case bulk solutions are needed.
When defining your synchronization strategy you must take care about how unsubscription is made. In particular, you should be aware that, when importing subscribers that are already present and unsubscribed in specified MailUp list, subscription status is not changed, except for the cases in which you deliberately set an API option that forces subscription.
- If unsubscription is managed by MailUp with the "Unsubscribe" link in email footer (that's the default case) forcing subscription should be consider only when an unsubscribed recipient asks to be subscribed again
- If unsubscription is managed by an external system (i.e the "Unsubscribe" link in email footer leads to an external site) then the external application is the "master" and you should consider to force subscription whenever you import recipients.
Several possible solutions are available
FTP based integrations
You can use FTP Batch Processes for massive data transfer using files in CSV format. This feature can be used with very high numbers of recipients (import has been successfully tested with 4 millions of recipients in a single file) and it is configured on request by MailUp support team.
You can request this feature to
- Import recipients as subscribed
- Import recipients as unsubscribed
- Export unsubscribed
- Export subscribers
- Export statistics
- Export bounces
Data transfer is not in real time: it is usually configured as daily or weekly, but for specific cases even hourly data transfer can be done)
You can use MailUpImport SOAP API for an immediate import of recipients. In particular, you can use StartImportProcess method, eventually combined with NewImportProcess if the number of recipient is higher than 5000. These methods also allow a batch import as "pending", with the confirmation email that has to be manually sent using the adimin console account. SOAP API is not bidirectional, since it does not allow export of recipients.
SOAP API + FTP
You can get the best of FTP and SOAP API by using SendMessageNL API method, which performs scheduled sending to a group of recipients that is specified on a file. In this case you have to transfer the file to MailUp before calling the method. Export of recipients can be done with an FTP based integration.
Rest API allows immediate and bidirectional import and export of recipients. Due to restriction on HTTP channel, no more than 7MB can be uploaded with a single import. For the export of recipients the paging feature is recommended to keep control on maximum size of tranferred data. REST API is the only MailUp solution that allows removal of a single recipient from a group
Manage suppression lists (i.e. "do not email" lists of recipients)
You can contact MailUp support and ask configuration of an FTP based integration with a batch process that is configured to run hourly. This process has to be set to import in a new group (group name = file name) the recipents that are listed in the file to be imported. Then, when you access to MailUp admin console, you can schedule your campaign to be sent to "all subscribers except for the recipients that belong to a certain group". It should be easy for you to identify the right group because it has the name of the imported file plus a timestamp.
Send email/SMS campaigns from your application (e.g. CRM or CMS)
To manage your campaign with MailUp you need to import (subscribe) the recipients first. Refer to section above to discover how to move recipients from your an external application to MailUp. Campaign messages can be created using API or you can use messages that were previously created through admin console account.
Since email statistics are aggregated by message, be aware that when you reuse a previously sent message then it is likely that you will not be able to split the aggregated statistics. You can make a copy of the message instead of reusing it.
You can use CreateNewsletter to create a new email message, Clone Message to make a copy of an existing one and finally you can use SendNewsletter to program an immediate or scheduled sending (at sending time you will be able to specify who will receive that campaign). For SMS you can use a similar approach with CreateSMS and SendSMS methods. Since SMS statistics are very poor when compared to email, there was no need to implement a "clone SMS" method
SOAP API + FTP
Email only. As an alternative to importing recipients and then calling SendNewsletter , method SendMessageNL allows a bulk import and the scheduling of a specified email message with a single operation. Refer to method documentation to learn more about this method and its known limitations
Email only. REST API offers the most complete suite form creating and managing an email message, but it still has some limitations about sending that are going to be removed in some of the next product releases:
- scheduled sending is not yet supported (only immediate sending to all subscribers or to specified groups/recipients)
- recipient selection by applying filters is not available
- capability of immediate delivery (e.g. for confirmation messages) regardless what else is happening in the delivery queue at that time is not supported
SMS Only. FTP solution offers the capability to import (bulk) recipients and send them SMS messages that can be fully customized for each recipient. Refer to "Text message (SMS) sending from .CSV file" for more info.
Email only. You can create an email message on your application (or email client) and send it to a specified MailUp address. According to the specified email address you can simply save message on MailUp (images are also saved on MailUp space), send it to a test recipient or send the message to a list/group
Send transactional emails/SMS
The term "transactional" is usually used to distinguish messages that do not belong to "Promotional" or "Bulk" categories.
Email only. SMTP+ offers a scalable solution that is valid also for high volumes of transactional email messages to be sent. Delivery time depends on the bandwidth agreed for that console account.
SOAP API offers a good and scalable solution for transactional SMS with SendDirectSMS, while for email you can use SendSingleNewsletter or SendNewsletter but you must be aware of the existing limitations (refer directly to the documentation of these methods or check out the API use policy
Extract or display statistics
Email statistics are mainly the number and the details about opens and clicks, usually grouped by message. About SMS we can only know the delivery status and, in case of error, the error code.
REST API offer the best suite about MailUp statistics, also allowing filtered and paged searches
A batch export can be configured to periodically export on a CSV file the statistics of email and/or SMS messages. Export frequency can be set from 1 hour to 2 weeks. Contact us to ask a batch export for your console account (non standard configurations may require an extra fee).
WebService MailupReport provides a couple of methods to retreive statistics by message or by recipient. This solution works well only when returned data size is relatively small (e.g. lower than 100 items)
Frontend pages provide a reduced version of some statistics pages of the console account, so that an external application can embed them. Available pages are similar to Summary Report and Opens report.