Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Send transactional and other personalized emails

 

SMTP or API: it's your choice

...

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
titleCase 1: email message and recipients exist in the MailUp admin console (click here to 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
  1. If the message has to be sent to all the recipients in a list the suggested method is WS_MailUpSend.SendNewsletterParameters "send_to = ALL" , list ID, message ID and time and date of sending must be specified. Message and list IDs can be found at the page Settings > Codes Tables  in the MailUp console, or using GetLists() and GetNewsletters() methods.
  2. If the recipients belong to some groups in a list, when calling the SendNewsletter() method the group IDs must be specified as well.
  3. If the users share data that can be extracted using one of the MailUp filters (personal data, activity and geolocation filters, available in the Marketing+ package) when calling the SendNewsletter() method the filter to be applied must be indicated as well. Filters can be used in addition or as an alternative to groups. The great advantage of using them lies in the fact that all the recipients matching a certain condition are automatically included in the filter results, whereas a user must be inserted into a group for group membership.

 

Note

It is imperative that you do not use SendSingleNewsletter() in place of SendNewsletter(): the first one has was designed to be used only for transactional emails, as described abovebut now its use is deprecated. Use of SendSingleNewsletter() for the purpose of sending bulk email messages will trigger a send block on your account and may lead to account termination.

REST API
  1. If the message has to be sent to all the recipients in a list you can call POST /Console/List/{id_List}/Email/{id_Message}/Send.
  2. If the message has to be sent to a group of a MailUp list you can call POST /Console/Group/{id_Group}/Email/{id_Message}/Send

 

Note

Message, group and list IDs can be found at the page Settings > Codes or they can be retrieved using API. Optionally, you can specify also sender name or sender email if you want to use for that message a sender that differs from the default sender of tha MailUp list. At the moment only immediate sending is available with REST API (i.e. you cannot schedule sending). More details are available in the documentation of MailUp REST API

Expand
titleCase 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
  1. Through WS_MailUpImport methods a new temporary group is created (CreateGroup(groupName)) and a group of recipients is imported to it (StartImportProcess(groupID, recipients,…)). This operation may last several minutes, depending on how large the group is, and it can be monitored using GetProcessDetails(). Once the import has completed, SendNewsletter(groupID) method can be used to perform the sending. At the end of the process the group which was created for the purpose must be deleted using DeleteGroup()

  2. The procedure above described is less effective when there are large amounts of data to be imported, so it may be useful to use an alternative procedure that provides for a "bulk" import from a file following an input via web service. SendMessageNL(fileName, listId, messageId, timeDateSending,) method allows to schedule a sending for the desired time and date, then asynchronously executes the following operations:
    1. Creation of a temporary group named "Automatic NN", where NN is a progressive number
    2. Import to this group of the recipients indicated in the file
    3. Sending of the message at the scheduled time and date

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

  1. To import recipients into a group of a MailUp list you may use POST/Console/Group/{ID_GROUP}/Recipients, while POST /Console/List/{id_List}/Recipients can be used to simply import into a MailUp list without specifying a group. Use  POST  /Console/List/{ID_LIST}/Group  if you also need to create a new group. 
  2. Use the methods listed in Case #1 for sending email message with REST API
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
titleCase 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.

Note
  1. It is very relevant that you do not use SendSingleNewsletter() in place of SendNewsletter(): the first one has to be used only for transactional emails, as described above. Use of SendSingleNewsletter() for the purpose of sending bulk email messages will trigger a send block on your account and may lead to account termination.
  2. Use methods that creates a new message on MailUp admin console sparingly (i.e. each call to CreateNewsletters and SendNewsletterFast,but also calls to SendSingleNewsletter when content is not based on existing message ID). The greater is the number of messages and the higher is the burden on MailUp admin console, leading to slowering access time to web pages and response time of web services. Please use alternative solutions provided in this page or contact us if you have to make more than ten actions of this type per day
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.

  1. To create a message use POST /Console/List/{id_List}/Email, passing message content as parameter. Check out this page to know more about the available options
  2. Use the methods listed in Case #1 for sending email message with REST API
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

  • save email message to MailUp and send it to all the recipients of a MailUp list
  • save email message to MailUp and send it to all the recipients of one or more groups in a MailUp list
  • save email message to MailUp without sending it
  • save email message to MailUp and send it to a recipient for test purposes

This solution is very powerful if you want to work outside the MailUp console account and it has some interesting additional features like 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 account.

Expand
titleCase 4: cloning a message to track separate mailings (click here to expand)

Most customers need to track campaign results. When the same message is sent more than once (three different times, to three different groups), statistics are accumulated and pertain to all mailings, not the three individual mailings. To work around, you can make a copy of a message by cloning it before sending. 

SOAP API

You can use the CloneMessage() method

REST API

You 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
titleCase 5: massive sending of personalized messages via Web Services (click here to expand)

If you are in need to send a high number of personalized messages through the API, please 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.

 

...

Expand
titleClick here to expand and see available methods
SOAP API, FTP

SOAP API offers a reliable and scalable solution for transactional SMS with SendDirectSMS, while other solutions are available for Bulk SMS, including "SMS sending from CSV file" feature that is provided for bulk sending personalized text messages using FTP. REST API does not support SMS yet.

The following table includes the recommended API methods to be used to perform certain tasks.

Num.ActionDescriptionSOAP APIREST APIFTP
1Create new text messageCreate a new text message with dynamic fields (optional) that can then be used as "existing message" fro the actions listed below
(MESSAGE_ID is returned). New message is also available on MailUp console.
CreateSMSText messages (SMS) 
2Single sending of EXISTING messages
to a specified recipient 
A single existing text message is sent to a single recipient by specifying MESSAGE_ID and destination number.
Message shall be previously created and it can be customized by means of dynamic fields
SendSingleSMSText messages (SMS) 
3Single sending of NEW messages
to a specified recipient 
In this case existing messages cannot be used, a brand new text message (with or without dynamic fields) has to be created
and sent to a single recipient
SendDirectSMS  
4Bulk sending of EXISTING messages
to all subscribers or groups of them

A single existing text message is sent to many recipients (e.g. all list subscribers, one or more groups ...). by specifying
MESSAGE_ID and List/group identifiers
Message shall be previously created and it can be customized by means of dynamic fields

SendSMSText messages (SMS) 
5Bulk sending of NEW messages
to all subscribers or groups of them

A new text message (with or without dynamic fields) has to be created and sent to a list of subscribers.

Note

Each action of this type creates a new message on MailUp admin console.
The greater is the number of  messages and the higher is the load on MailUp admin console, leading to
slowering access time to web pages and response time of web services. Please use alternative solutions
provided in this page if you have to make more than ten actions of this type per day

CreateSMS  + SendSMS
or SendSmsFast

  
6Bulk sending of NEW messages
to a list of recipients with a specific
text message for each recipient

In some cases customization through dynamic fields could be not enough
A list of {recipient + message text for this recipient} has to be provided as input and all messages shall be sent as a single campaign.
This option has not the side effects of option #5 and it also allows sending of completely different messages for each recipient.

N/AN/ASMS sending from CSV file
7Immediate sendingFor text messages to be sent as soon as possibleSendSingleSMS 
SendDirectSMS  
SendSMS
SendSmsFast 
 SMS sending from CSV file 
8Scheduled sendingFor text messages to be sent at specified timeSendSMS
SendSmsFast 
 SMS sending from CSV file 
9Sending of concatenated messagesWhen message length is higher than 160 characters (or higher than 70 chars if "Unicode" (use Unicode for non western alphabets)SendSingleSMS 
SendDirectSMS  
SendSMS
SendSmsFast 
 SMS sending from CSV file 

...