...
Info |
---|
This page contains many collapsed sections that contain details about recommended methods in SOAP, REST, HTTP GET/POST API. Use the "Click to expand" links to reach hidden parts. |
On this page:
Table of Contents | ||
---|---|---|
|
...
Manage single recipients (subscribe, unsubscribe, update)
MailUp provides several ways to add a new subscriber and manage either data fields or subscription status. If you’re in the process of developing a generic application interacting with multiple accounts, it must be considered that personal data fields may differ from account to account.
We recommend to always make making use of the “retrieve field names” feature, returning the actual field names and Id occurences occurrences for a particular admin console account. Those returned occurrences can be used to update personal data recipient fields afterwardsafterward.
Expand | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
HTTP GET/POST and subscription formsSubscription forms are based on HTTP GET/POST methods, which allow subscription unsubscription, check subscription status and update for a single recipient. These methods support optin, confirmed optin, optout, fields update, unsubscription. Refer to this page if you want to build a custom subscription form using AJAX. Retrieve The retrieve fields feature is not available with HTTP GET/POST.
REST APIRest API is the most complete solution for managing a single subscriber ( handles subscription status, group membership, and personal data fields) and . In addition, it is the only MailUp solution that allows the removal of a single recipient from a group. Adding a new recipient is an asynchronous process (i.e. the method's response does not mean that the operation is completed, you could use a specific method to get the status of the requested operation). Retrieve fields feature is available with GET /Console/Recipient/DynamicFields Expand | | ||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
Action | Comments | REST API | Confirm successful communication with the API | Returns authentication information.
|
Expand | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
|
Webhooks
You can configure webhooks to enable a fast callback to your website everytime every time a recipient changes the subscription status or any of the personal data fields (e.g. by filling in and submitting to an autoprofile auto profile form). Callback The callback method can be configured in order to include the recipient's details as the 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.
SOAP API
You can extend the use of StartImportProcess method of MailUpImport SOAP API, that is designed for bulk import, to work with a single recipient. This method allows optin, confirmed optin, forced optin, optout, fields update, unsubscription. Adding or updating a recipient with SOAP API is an asynchronous process (i.e. method response does not mean that the operation is completed, you could use a specific method to get the status of requested operation). Method MailUpSend.GetFields can be used to retreive field names.
Expand | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
|
Synchronize recipients between your application and MailUp (i.e. bulk import and/or export)
You may need to transfer a set of recipients, possibly 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 amounts of recipients, in this case bulk solutions are required.
When planning a synchronization approach 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, unsubscription status is not changed, except for the cases in which you deliberately set an API option that forces subscription.
- If unsubscription is natively managed by MailUp via the "Unsubscribe" link normally nested in the email footer, forcing subscription should be considered only when an unsubscribed recipient specificly asks to be subscribed again
- If unsubscription is managed by an external system outside MailUp (i.e the "Unsubscribe" link in email footer leads to an external site) then the external application runs as "master" database and you should consider to force subscription whenever you import recipients.
Several possible solutions are available.
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FTP based integrationsYou can request your MailUp representative for a FTP Batch Process for massive data transfer using files CSV files. This feature can be used for very large amounts of recipients (this kind of process has been successfully tested with 4 millions of recipients in a single file).
SOAP APIYou can run MailUpImport SOAP API for an immediate import of recipients. In particular, you can use StartImportProcesses method, optionally combined with NewImportProcess if the amount of recipient is more than 5000. These methods also allow a batch import as "pending", and in this case, the confirmation email has to be manually sent using the admin console account. SOAP API is not bidirectional, so you cannot use it to export recipients from MailUp to your application.
SOAP API + FTPYou can get the best of FTP and SOAP API by using SendMessageNL API method, which performs scheduled sending of a message to a set of recipients that are included in the FTP import file previously processed (message ID and filename are passed as method parameter). In this case you have to transfer the file to MailUp before calling the method. Export of subscribed and unsubscribed recipients can be done with an FTP based integration. REST APIRest API allows immediate and bidirectional import and export of recipients. Due to restriction on HTTP channel, no more than 7MB input files can be uploaded with a single import. For the export of recipients the paging feature is recommended to keep control on maximum size of transferred data. REST API is the only MailUp solution that allows removal of a single recipient from a group.
|
Use confirmed opt-in (COI)
Management of new subscribers (single or bulk) is specified in the section above. In some cases you may need to verify if the email addresses and allow subscription only to existing email addresses that belong to subscribers that really want to receive messages from the MailUp list they subscribed to. This case is also called double optin and subscribers have to click on a specific link that is contained in an email message that is sent to them after their signup.
Double opt-in is useful when your application does not check it the email addresses are valid.
Expand | ||
---|---|---|
| ||
HTTP GET/POST and subscription formsTwo HTTP GET/POST methods, (subscribe.aspx and xmlsubscribe.aspx) use confirmed optin by default, they can be used for single recipients. After signup, the subscriber receives the default confimation request message that is configured for the specified MailUp list. Please refer to the documentation of HTTP GET/POST for more details. REST APIAt the moment Rest API supports the COI process by means of a querystring parameter called "ConfirmEmail" that applies to POST calls to Console/List/{ListID}/Recipient and Console/Group/{GroupID}/Recipient endpoints. When this parameter is set as true, the actual behavior can be different if specified recipient already exists:
SOAP APIWith StartImportProcess method of MailUpImport SOAP API you can use a "Confirm" flag to import recipients as pending and prepare sending of a confirmation request email. Please note that this message for pending recipients is added but not sent by API, you must enter into your MailUp admin console to proceed with sending. |
Manage suppression lists (i.e. "do not email" lists of recipients)
Suppression lists are not natively supported by MailUp but you can create a dedicated group of recipients to exclude from sending. In order to automate the process, you can contact MailUp support department and request for the configuration of an FTP based integration with a batch process runing hourly. This process has to be set to import in a new group ( where the destination group name mathces the actual import file name) the recipents that are listed in the file to be imported. Then, when you access to MailUp admin console, you can schedule or fire 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 transactional and other personalized emails
SMTP or API: it's your choice
Sending messages through MailUp from an external application allows you to take advantage of:
- The high reputation and scalability of the MailUp sending infrastructure
- Automatic bounce and feedback loop management
- Ability to include dynamic tags and dynamic content
- Ability to check the send status via API
You can send transactional emails:
Message personalization
You can personalize messages using either data that already exists in the MailUp recipient database (and merge tags that will retrieve that data) or by passing value pairs to the system. This is supported using both SMTP relay and the API.
Bulk email messages
This section describes the different ways through which MailUp can be used to send email messages to groups and lists of users without accessing the administration console. The methods described above can be used to send individual, personalized messages, such as transactional emails. However, if the goal is to send large amounts of messages or DEMs, the best practice to follow is described below.
Some possible scenarios are presented here - with the indication of the web services to be used - as examples of common scenarios. This is in no way an exhaustive overview of all the possible scenarios.
Please note that these cases do not talk about authentication and authorization, you should refer to the specific documentation of each technical solutions for these details.
Expand | ||||
---|---|---|---|---|
| ||||
You may want to send a message to a group of users and both the message and the recipients list are already available in the MailUp console. SOAP API
REST API
|
...
title | Case 2: not all recipients exist in the MailUp admin console (click here to expand) |
---|
Similar to Case 1, but in this case a group of recipients has to be imported as well. Some of these recipients might be already subscribed in MailUp due to a previous signup to a newsletter, some others might be new subscribers. Here below some alternative solutions are listed, refer to Comparison Matrix to see how many recipients can be loaded with each solution.
SOAP API
...
Note |
---|
SendMessageNL is often the best option for a fast bulk import and sending but users should be aware of some known limitations |
REST API
REST API supports only sending to a single group or to the whole list
...
LIST+
List+ allows you to enclose a list of recipients to the message to be sent (by using a file named one2many.import) instead of sending to lists or groups that are already present in MailUp. Click here for more information about this feature
...
title | Case 3: creating and sending a message via the MailUp API (click here to expand) |
---|
In some cases it may be necessary to import into MailUp a message created using an external system.
SOAP API
The CreateNewsletters() method allows the creation of a new message where the parameter to be passed is the body of the message (html, text or URL that points to the html file).
It is also possible to use the SendNewsletterFast() method, which conveys to a single call the information that can be drawn from the calls to CreateNewsletters() and SendNewsletter() methods.
...
REST API
REST API provides more features than SOAP API about creation and editing of an email message. With REST you can fully handle message tags, images and attachments.
...
Synchronize recipients between your application and MailUp (i.e. bulk import and/or export)
You may need to transfer a set of recipients, possibly with their data, from your application to MailUp; or vice-versa. Solutions that work well with a single recipient may not be suitable for big amounts of recipients, in this case, bulk solutions are required.
When planning a synchronization approach 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 a specified MailUp list, unsubscription status is not changed, except for the cases in which you deliberately set an API option that forces subscription.
- If unsubscription is natively managed by MailUp via the "Unsubscribe" link normally nested in the email footer, forcing subscription should be considered only when an unsubscribed recipient specifically asks to be subscribed again
- If unsubscription is managed by an external system outside MailUp (i.e the "Unsubscribe" link in the email footer leads to an external site) then the external application runs as a "master" database and you should consider forcing subscription whenever you import recipients.
Several possible solutions are available.
Expand | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||
FTP based integrationsYou can request your MailUp representative for an FTP Batch Process for massive data transfer using files CSV files. This feature can be used for very large amounts of recipients (this kind of process has been successfully tested with 4 million recipients in a single file).
REST APIRest API allows immediate and bidirectional import and export of recipients. Due to restrictions on the HTTP channel, you cannot pass more than 7MB as a payload of a single call. To overcome this limit, you may either split your list into multiple calls or provide a large file to be uploaded using FTP (the latter is the recommended option in case of a very large data set). The REST API is the only MailUp solution that allows the removal of a single recipient from a group.
|
Use confirmed opt-in (COI)
Management of new subscribers (single or bulk) is specified in the section above. In some cases, you may need to verify if the email addresses and allow subscription only to existing email addresses that belong to subscribers that want to receive messages from the MailUp list they subscribed to. This case is also called double optin and subscribers have to click on a specific link that is contained in an email message that is sent to them after their signup.
Double opt-in is useful when your application does not check if the email addresses are valid.
Expand | ||
---|---|---|
| ||
HTTP GET/POST and subscription formsTwo HTTP GET/POST methods, (subscribe.aspx and xmlsubscribe.aspx) use confirmed optin by default, they can be used for single recipients. After signup, the subscriber receives the default confirmation request message that is configured for the specified MailUp list. Please refer to the documentation of HTTP GET/POST for more details. REST APIAt the moment Rest API supports the COI process using a query string parameter called "ConfirmEmail" that applies to POST calls to Console/List/{ListID}/Recipient and Console/Group/{GroupID}/Recipient endpoints. When this parameter is set as true, the actual behavior can be different if a specified recipient already exists:
|
Manage suppression lists (i.e. "do not email" lists of recipients)
Suppression lists are not natively supported by MailUp but you can create a dedicated group of recipients to exclude from sending. To automate the process, you can contact the MailUp support department and request for the configuration of an FTP-based integration with a batch process running hourly. This process has to be set to import in a new group ( where the destination group name matches the actual import file name) the recipients that are listed in the file to be imported. Then, when you access to MailUp admin console, you can schedule or fire 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 transactional and other personalized emails
SMTP or API: it's your choice
Sending messages through MailUp from an external application allows you to take advantage of:
- The high reputation and scalability of the MailUp sending infrastructure
- Automatic bounce and feedback loop management
- Ability to include dynamic tags and dynamic content
- Ability to check the send status via API
You can send transactional emails:
Message personalization
You can personalize messages using either data that already exists in the MailUp recipient database (and merge tags that will retrieve that data) or bypassing value pairs to the system. This is supported using both the SMTP relay and the API.
Bulk email messages
This section describes the different ways through which MailUp can be used to send email messages to groups and lists of users without accessing the administration console. The methods described above can be used to send individual, personalized messages, such as transactional emails. However, if the goal is to send large amounts of messages or DEMs, the best practice to follow is described below.
Some possible scenarios are presented here - with the indication of the web services to be used - as examples of common scenarios. This is in no way an exhaustive overview of all the possible scenarios.
Please note that these cases do not talk about authentication and authorization, you should refer to the specific documentation of each technical solution for these details.
Expand | ||
---|---|---|
| ||
You may want to send a message to a group of users and both the message and the recipient's list are already available in the MailUp console. REST API
The message, group, and list IDs can be found at the page Settings > Codes or they can be retrieved using API. |
Expand | ||
---|---|---|
| ||
Similar to Case 1, but in this case, a group of recipients has to be imported as well. Some of these recipients might be already subscribed to MailUp due to the previous signup to a newsletter, some others might be new subscribers. Here below some alternative solutions are listed, refer to Comparison Matrix to see how many recipients can be loaded with each solution. REST APIREST API supports only sending to a single group or the whole list
FTPYou can use FTP-ZIP to upload a zip archive containing the list of recipients, the message content, and a file descriptor with the mailing instructions. After the upload, MailUp does all the rest, preparing and scheduling the mailing process. Since the whole process is fully asynchronous, you can add an email address in the file descriptor to be notified when the process is completed LIST+List+ allows you to enclose a list of recipients to the message to be sent (by using a file named one2many.import) instead of sending to lists or groups that are already present in MailUp. Click here for more information about this feature |
Expand | ||
---|---|---|
| ||
In some cases, it may be necessary to import into MailUp a message created using an external system. REST APIWith the REST API, you can fully handle message tags, images, and attachments.
LIST+With List+ you can create an email message with your email client or your application and send it to a MailUp specific email address. Depending on the specified address, this action can lead to
This solution is very powerful if you want to work outside the MailUp console account and it has some interesting additional features like the automatic upload of images, support for dynamic fields, and sender verification. In addition, List+ allows you to enclose a list of recipients (by using a file named one2many.import) instead of sending to existing lists or groups. SMTP+With SMTP+ you can create email messages with your email client or your application and send them to the recipients through MailUp. In this case MailUp acts mainly as a high deliverability SMTP server, but it also provides important features like bounce management and statistics. The content of sent message is not saved to MailUp and delivery speed depends on agreed bandwidth for your accountinstead of sending it to existing lists or groups. |
Expand | ||
---|---|---|
| ||
Most customers need to track campaign results. When the same message is sent more than once (e.g. three different times, to three different groups), statistics are accumulated and pertain to all mailingsthe results are linked to the message ID, not to the three individual mailings. To work aroundIf you need to have distinct results for each mailing, you can make a copy of a the message by cloning it before sending. SOAP APIYou can use the CloneMessage() methodbefore sending it again. REST APIYou can use GET /Console/List/{id_List}/Email/{id_Message} to get message content and then you need to create an identical message with POST /Console/List/{id_List}/Email |
Expand | ||
---|---|---|
| ||
If you are in need to send a high number of personalized messages through the API, please refer to the section of "Transactional emails" or contact us. We can create custom MailUp configurations for you that will address your needs. For example, we worked with a Web site that needed to send hundreds of thousands of personalized alerts on a daily basis, and needed to do so through the MailUp API. SOAP API, REST API and List+You can create personalized sections within your email by means of Dynamic Content feature and MailUp filters. Dynamic Content is not available with email messages sent with HTTP GET/POST API, SendSingleNewsletter (SOAP API) and SMTP+ SMTP+With SMTP+ you can create email messages with a fully personalized content that varies for each recipient. Using your email client or your application you can send these messages to the recipients through MailUp. In this case MailUp acts mainly as a high deliverability SMTP server, but it also provides important features like bounce management and statistics. The content of sent message is not saved on MailUp and delivery speed depends on agreed bandwidth for your account. |
| |
If you are in need to send a high number of personalized messages through the API, please refer to the section of "Transactional emails" or contact us. REST API and List+You can create personalized sections within your email using the Dynamic Content feature and MailUp filters. Dynamic Content is not available with email messages sent with HTTP GET/POST API and SMTP+ |
Send Transactional or Bulk SMS
As for the email channel, the term "transactional SMS" is usually used to distinguish messages that do not belong to "Promotional" or "Bulk" categories.
Note |
---|
The MailUp SMS features have been widely used for sending messages to Italy and many other European countries. Please contact us to know more about sending in your countryPlease check this page for regulations and limitations when sending SMS globally. |
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SOAP REST API, FTPBoth SOAP and The REST APIs offer reliable and scalable solutions for transactional and Bulk SMS. In addition, bulk sending can also be performed with the "SMS sending from CSV file" feature, which uses FTP data tranfer transfer to allow massive sending of highly personalized text messages. The following table includes the recommended API methods to be used to perform certain tasks.
SOAP API |
CreateSMS |
SendSingleSMS |
|
|
|
slowering
|
SendDirectSMS SendSmsFast
SendSMS | SendSmsFast
SendSingleSMS | SendDirectSMS SendSMS SendSmsFast
N/A | | |
...
|
Extractor 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.
...
Expand | ||
---|---|---|
| ||
REST APIREST API offer offers the best suite about of MailUp statistics, also allowing filtered and paged searches. More on this page FTPA batch export can be configured to periodically export to a CSV file the statistics of email and/or SMS messages. Export frequency can be set for hourly to forth fourth weekly schedules. Contact us to request for a batch export for your console account (non-standard configurations may require an extra fee). More on this page SOAP APIWebService MailupReport provides a couple of methods to retreive statistics by message or by recipient. This solution runs fine only when returned data size is relatively small (e.g. lower than 100 items) FrontendFrontend 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. |
...