Versions Compared

Key

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

...

  • You want to send emails/SMS with highly personalized content to your subscribers (e.g. job offers)
  • You want to implement a one-to-one notification (e.g. password reminder)
  • Sending bulk promotional messages is not your main goal.

Are

...

transactional APIs only for transactional messages?

Yes. You can do some occasional bulk mailing if it is compliant with the terms and conditions accepted by your recipients, but this should be a rare exception.

...

Which methods should be used for bulk and promotional messages?

In this case Instead of using Transactional APIs, it is recommended you use the specific methods for sending email/SMS campaigns (see docs). For your marketing campaigns we recommend you do a bulk mailing in one of the following ways:

Which channels are supported by

...

the transactional APIs?

Email and SMS

Is there a single method that lets me choose the delivery channel (email/SMS)?

No, each channnel has its own endpoint and request format.

Are there any sending limitations?

...

  • in case you need only the basic feature, getting started with SMTP+ is usually easier because there are a lot of "ready to use" code snippets that help you implement a SMTP client   
  • with APIs you can choose between providing the whole HTML code of the message or to refer an existing email template that may be personalized with merge tags. The  SMTP relay does not support templates instead.
  • the way you access them is different. Parameters that are specified with message headers in SMTP+, in the API are handled as fields of a JSON object that is passed to the web services. For more details about these parameters please check out the examples that are provided for SMTP+
  • with APIs you can take advantage of a set of additional methods for creating and retieving users

Is there a single method that lets me choose the delivery channel (email/SMS)?

No, each channnel has its own endpoint and request format.

What kind of setup is required?

What kind of setup is required?

Some preliminary tasks have to be performed the very first time to setup a transactional channel.

...

Which methods have to be used for sending transactional messages? 


Recipient's number, SMS text
ChannelMethodsReferenceMain request parametersOptional request parametersReturned values
Email  Recipient's address, subject, email bodyscheduled datetime, campaign code*, ... SMS  
Code Block
POST https://send.mailup.com/API/v2.0/messages/sendmessage
 
POST https://send.mailup.com/API/v2.0/messages/sendtemplate
Transactional Emails using APIsRecipient's address, subject, email bodyscheduled datetime, campaign code*, ... 

Is sample code available?

boh

How does the auhtentication process work?

Depending on the invoked method, different authentication types are required. 

ChannelOperationAuthentication type
EmailSetupOAuth 2 
EmailSend messageSMTP+ credentials in the request body
SMSSetup Basic Authentication 
SMSSend messageAPI key

 

Is HTTPS supported?

Yes, all the methods can be invoked using HTTPS only (port 443)

 

How can I manage high priority mailings?

(email only)

There could be cases in which, due to the purchased frequency and to a FIFO (first-in, first-out) approach, some urgent messages could be delayed by other outgoing messages, like large campaigns that are already in progress. Please note that the “priority” value that can be set for each SMTP+ user is just an additional information that some email clients use when displaying the message summary. This setting cannot be used by MailUp to move forward or behind the messages within a delivery queue. If you have mailings with different priorities in terms of delivery (e.g. password reminders have to be very quick, while standard notifications could take longer) you may need a special configuration (aka “fast”) to be set to one or more of your SMTP+ users. Messages sent through the “fast” SMTP+ user use a separate queue. If you send only really urgent messages through this second queue the delivery is likely to be extremely fast. The “fast” configuration is a custom setting, not related to the “priority” value described above. Please contact your MailUp representative to check if it is applicable to your account and if there is an additional cost.

 

What kind of results can I get from sent messages?

With the word “outcomes” we mean each one of these results related to an email:

...

Error codes
SMS
Code Block
POST https://sendsms.mailup.com/api/v2.0/sms/{account_ID}/{List_ID}
Transactional SMS using APIs

 

Recipient's number, SMS textscheduled datetime, campaign code*, ...Delivery ID

*the campaign code is an ID that MailUp uses to group the mailing results by the specified ID. For each new ID, MailUp creates a "message" object, which will act as result container

Is sample code available? 

Work in progress

 

How does the auhtentication process work?

Depending on the invoked method, different authentication types are required. 

ChannelOperationAuthentication type
EmailSetupOAuth 2 
EmailSend messageSMTP+ credentials in the request body
SMSSetup Basic Authentication 
SMSSend messageAPI key

 

Is HTTPS supported? 

Yes, all the methods can be invoked using only HTTPS (port 443)

 

How can I manage high priority mailings?
Status
colourYellow
titleDRAFT

Email: There could be cases in which, due to the purchased frequency and to a FIFO (first-in, first-out) approach, some urgent messages could be delayed by other outgoing messages, like large campaigns that are already in progress. Please note that the “priority” value that can be set for each SMTP+ user is just an additional information that some email clients use when displaying the message summary. This setting cannot be used by MailUp to move forward or behind the messages within a delivery queue. If you have mailings with different priorities in terms of delivery (e.g. password reminders have to be very quick, while standard notifications could take longer) you may need a special configuration (aka “fast”) to be set to one or more of your SMTP+ users. Messages sent through the “fast” SMTP+ user use a separate queue. If you send only really urgent messages through this second queue the delivery is likely to be extremely fast. The “fast” configuration is a custom setting, not related to the “priority” value described above. Please contact your MailUp representative to check if it is applicable to your account and if there is an additional cost.

SMS: aaa

What kind of results can I get from sent messages? 
Status
colourYellow
titleDRAFT

 

ChannelResult TypesSample code
Email
  • Sent
  • Bounced
  • Marked as spam
  • Unsubscribed by clicking the “unsubscribe” link
  • Opened
  • Clicked
Expand

Let’s say we have just sent a transactional email using MailUp list n.3 to peter@example.com, also specifying the CampaignCode “test01”. The value of the CampaignCode is stored in the Subject when you don’t specify the “CampaignName” value

Code Block
titleStatistics by recipient
-- Get the recipient’s ID
GET /Console/List/3/Recipients/Subscribed?filterby="Email.Contains(‘peter@example.com’)"

-- Let’s suppose the method above returns "idRecipient":13, then I can get the available outcomes for that recipient (sent, open, click, bounce). 
-- In the example below there is also an additional filter on the sent message
GET /Recipient/13/List/Deliveries?filterby="Subject.Contains(‘test01’)"
GET /Recipient/13/List/Views?filterby="Subject.Contains(‘test01’)"
GET /Recipient/13/List/Clicks?filterby="Subject.Contains(‘test01’)"
GET /Recipient/13/List/BounceDetails?filterby="Subject.Contains(‘test01’)"
Code Block
titleStatistics by message
-- Get message’s ID
GET /Console/List/3/Emails?filterby="Subject.Contains(‘test01’)"&orderby="idMessage+asc"

-- If the method above returns "idMessage":27, then I can use this value to get the outcomes, either the aggregate counts or the detailed list. 
-- Detailed lists can also be filtered, see the documentation for details
GET /Message/27/Count/Recipients
GET /Message/27/Count/Views
GET /Message/27/Count/Clicks
GET /Message/27/Count/Bounces
GET /Message/27/List/Recipients
GET /Message/27/List/Views
GET /Message/27/List/Clicks
GET /Message/27/List/Bounces

 

 

SMS
  • Sent to the carrier (pending)
  • Delivered
  • Failed
Expand
titleStatistics by recipient

When you successfully send an SMS using the transactional APIs, a Delivery ID is returned

Code Block
{"Data":{"DeliveryId":1648,"Cost":1.0},"Code":"0","Description":"","State":"DONE"}

Then you can use this ID to query MailUp REST API about the delivery status

Code Block
GET /Console/Sms/{SMS_ID}/Sendings/ReportDetails?DeliveryId=1648
Expand
titleStatistics by message

For example, you sent transactional SMS keeping the same campaing code 'Promo 1' in the parameters. Then you can query MailUp REST API about the delivery status of the SMS sent with this campaign code

Code Block
-- First get the message ID that was created for 'Promo 1'
GET /Console/Sms/List/1/Messages?filterby="Subject.Contains('Promo 1')"
 
-- Let's say that the previous call returns 24 as message ID
-- Then you can call one of the following methods to get the delivery results
-- You can also apply filters using querystring parameters (refer to the documentation)
GET /Console/Sms/24/Sendings/Report
GET /Console/Sms/24/Sendings/ReportDetails
 

 

 

 

 

...

How to send transactional emails

...