On this page:
Available solutions
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)
- FTP
- List+
- Frontend reporting pages
Development can be done starting from scratch learning from available samples (see docs for each solution), or you can use the RubyGem (that is a wrapper of the REST API)
Comparison matrix
Here below there is a comparison matrix between available solutions.
= available
= available with restrictions (see specific notes for each case)
Manage lists and groups
HTTP, Forms | SOAP | REST | SMTP+ | FTP | List+ | Frontend | |
---|---|---|---|---|---|---|---|
Create/Delete/Update lists | |||||||
Create/Delete/Update groups | |||||||
Read lists and groups |
Subscriptions
HTTP, Forms | SOAP | REST | SMTP+ | FTP | List+ | Frontend | |
---|---|---|---|---|---|---|---|
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 | 10 MB | |||
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 |
HTTP, Forms | SOAP | REST | SMTP+ | FTP | List+ | Frontend | |
---|---|---|---|---|---|---|---|
Create email message | |||||||
Read email messages | |||||||
Manage tags | |||||||
Manage attachments | |||||||
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) | |||||||
Manage attachments | |||||||
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 | ||||||
Promotional emails | |||||||
Send to a single recipient | 2,3 | ||||||
Send to a group | |||||||
Send to all list subscribers | |||||||
Scheduled sending | |||||||
Manage queue of messages to be sent | |||||||
Get email statistics in real time | |||||||
Get email statistics (with scheduled process) |
SMS
HTTP, Forms | SOAP | REST | SMTP+ | FTP | List+ | Frontend | |
---|---|---|---|---|---|---|---|
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) |
Other features
HTTP, Forms | SOAP | REST | SMTP+ | FTP | List+ | Frontend | |
---|---|---|---|---|---|---|---|
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 before sending) | 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)
Use cases
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.
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
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.
Send transactional emails/SMS
The term "transactional" is usually used to distinguish messages that do not belong to "Promotional" or "Bulk" categories.
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.