Using the API to send emails
It is possible to use the Ortto API to send emails by using a dedicated transactional email API.
Requests to send transactional email messages in Ortto are submitted as a single POST
method to the following URL:
https://api.ap3api.com/v1/transactional/send
Ortto customers who have their instance region set to Australia or Europe will need to use specific service endpoints relative to the region:
For example: https://api.eu.ap3api.com/v1/<entity/endpoint> All other Ortto users will use the default service endpoint (https://api.ap3api.com/). |
Sending transactional emails
Ortto supports sending transactional emails, optionally with attachments, via the API. You might want to do this to send tickets, e-books, receipts, invoices, booking confirmation and anything which requires an email to be delivered to a customer.
Example of sending a single transactional email to a single person
The example below sends a single transactional email to the email chris@ortto.com
.
curl --request POST 'https://api.ap3api.com/v1/transactional/send' \
--header 'X-Api-Key: YOUR-CUSTOM-API-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"asset": {
"from_email": "jenny@ortto.com",
"from_name": "Jenny Spencer",
"cc": [
"help@ortto.com"
],
"subject": "Booking confirmation for {{ people.first-name }}",
"email_name": "confirm-booking",
"no_click_tracks": false,
"no_opens_tracks": false,
"html_body": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" style=\"font-family: Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><head><meta name=\"viewport\" content=\"width=device-width\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><title>Booking confirmation for {{ people.first-name }}</title><style type=\"text/css\">img {max-width: 100%;}body {-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em;}body {background-color: #f6f6f6;}@media only screen and (max-width: 640px) { body { padding: 0 !important; } h1 { font-weight: 800 !important; margin: 20px 0 5px !important; } h2 { font-weight: 800 !important; margin: 20px 0 5px !important; } h3 { font-weight: 800 !important; margin: 20px 0 5px !important; } h4 { font-weight: 800 !important; margin: 20px 0 5px !important; } h1 { font-size: 22px !important; } h2 { font-size: 18px !important; } h3 { font-size: 16px !important; } .container { padding: 0 !important; width: 100% !important; } .content { padding: 0 !important; } .content-wrap { padding: 10px !important; } .invoice { width: 100% !important; }}</style></head><body itemscope itemtype=\"http://schema.org/EmailMessage\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><table class=\"body-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td><td class=\"container\" width=\"600\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;\" valign=\"top\"><div class=\"content\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;\"><table class=\"main\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" itemprop=\"action\" itemscope itemtype=\"http://schema.org/ConfirmAction\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;\" bgcolor=\"#fff\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;\" valign=\"top\"><meta itemprop=\"name\" content=\"Confirm Email\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" /><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">Your official booking confirmation link is below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">To view or change your booking please click the link below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" itemprop=\"handler\" itemscope itemtype=\"http://schema.org/HttpActionHandler\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\"><a href=\"http://www.mywebsite.com/booking-confirmation/xx1\" class=\"btn-primary\" itemprop=\"url\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; color: #FFF; text-decoration: none; line-height: 2em; font-weight: bold; text-align: center; cursor: pointer; display: inline-block; border-radius: 5px; text-transform: capitalize; background-color: #348eda; margin: 0; border-color: #348eda; border-style: solid; border-width: 10px 20px;\">View your booking</a></td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">— The Booking System</td></tr></table></td></tr></table><div class=\"footer\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;\"><table width=\"100%\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"aligncenter content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0; padding: 0 0 20px;\" align=\"center\" valign=\"top\">Follow <a href=\"http://twitter.com/EXAMPLE\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;\">us on Twitter</a>.</td></tr></table></div></div></td><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td></tr></table></body></html>",
"liquid_syntax_enabled": true
},
"emails": [{
"fields": {
"bol::sp": true,
"str::email": "chris@ortto.com",
"str::first": "Chris",
"str::last": "Sharkey",
"str::soi-ctx": "API (Booking confirmation)"
},
"location": null
}
],
"merge_by": [
"str::email"
],
"merge_strategy": 2,
"find_strategy": 0,
"skip_non_existing": false
}'
If you see an error like the following:
This is because you do not yet have permission to send transactional emails using Ortto. There are several ways to seek permission. You can either do what the error message says and set up a transactional playbook or journey at which point you will be prompted to seek permission through the system itself. Or you can bypass that and just email help@ortto.com with a request to have transactional emails turned on for your account. Transactional emails are only available on the Business and Enterprise plans. |
Asset options for transactional emails
|
The from email can be anything, but ideally should be from a domain which you have registered for Ortto to send email from. If you send from a domain you have registered the deliverability rate will be higher. If you use a different domain, it will be sent "via autopilotmail2.io". |
|
This can be any name you like. |
|
Carbon copy is optional, and is an array of email addresses you’d like a copy of each email to be sent to. This can be used if you need to keep an official record of all correspondence sent to a particular address, but usually you can just leave this out. |
|
The subject of the email. |
|
This is a name you’ll use in Ortto to identify this email for filtering and reporting reasons. So make it is something that is easy to uniquely identify and associate with this email. |
|
By default we will generate "Email clicked" activities for any links clicked in your transactional emails. This means that Ortto will rewrite the URLs of you links to go through a redirect before the customer reaches your URL. The user won’t notice as this happens quickly, but sometimes customers like to disable this feature so the URLs are not changed. This is done either because they have a very specific URL structure, or they are concerned about deliverability. Setting |
|
If you set |
This is the HTML body for your email. You are required to provide the full email content here. This can be anything you like and it is up to you to make sure that the HTML is valid for as many email clients as you can, and test it to see that it renders correctly before sending to real customers. Because this is transactional email, you are not required to include an {{ unsubscribe }} link, but you can include this if you would like to. You can use any and all Ortto Liquid syntax in the email as long as the |
|
If this is set to Because Liquid syntax is enabled by default, |
|
This allows you to use a draft or sent Ortto email template for the email. This is for single-send email campaigns only, and not for journey or playbook email assets. The Learn more about |
|
This allows you to use a draft or published Ortto email asset for the email. This is for assets only, whether attached or unattached to a journey or playbook, and is not for single-send email campaigns. The Learn more about |
Using a campaign ID
To use an email campaign template for a transactional email:
-
In Ortto, create a new email campaign as a template, or view an existing email campaign (such as a previously sent campaign you are using as template, or an existing draft that is ready to send).
If creating a new email, complete the Template, Recipients, Setup and Content steps. Stop at the Review step and don’t send the campaign. Pick any audience at the Recipients step, it won’t affect the API request as the recipient/s will be specified at
emails
. -
When viewing the existing or new email campaign, copy the campaign ID from the URL. It will look like this:
-
Add
campaign_id
and value to theassets
array the transactional email API call.Note you do not need the other
assets
objects shown in the example of sending a single transactional email to a single person. For example, your request can look like this:
{
"asset": {
"campaign_id": "62de45141a2a340b983eec22"
},
"emails": [{
"fields": {
"bol::sp": true,
"str::email": "john.doe@example.com",
"str::first": "John",
"str::last": "Doe",
"str::soi-ctx": "Booking confirmation"
},
"location": null
}
],
"merge_by": [
"str::email"
],
"merge_strategy": 2,
"find_strategy": 0,
"skip_non_existing": false
}
The campaign_id
value will provide the details and data configured at the Template, Setup and Content steps when the email draft/template was created in Ortto.
If required, you can override some of the settings in your email template by providing other assets
elements in the request (in addition to campaign_id
).
For example, if you need to add a specific subject
depending on the recipient, you can create a request like the following.
In this example, both John and Jane will receive the same email (per the campaign ID), however:
-
John will receive the email with the subject "Subject line B" because in the
emails
object, a subject line variant is specified atasset
and is associated with hisfields
. -
Jane will receive the email with the subject "Subject line A" because no further customization was set for her in
emails
.
{
"asset": {
"campaign_id": "62a030691783cb944fb9f4a5",
"subject": "Subject line A"
},
"emails": [
{
"asset": {
"campaign_id": "62a030691783cb944fb9f4a5",
"subject": "Subject line B"
},
"fields": {
"str::email": "jdoe@email.com",
"str::first": "John",
"str::last": "Doe"
}
},
{
"fields": {
"str::email": "jane.smith@email.com",
"str::first": "Jane",
"str::last": "Smith"
}
}
],
"merge_by": [
"str::email"
]
}
Using an asset ID
To use an email asset for a transactional email:
-
In Ortto, create a new email asset, or view an existing email asset (such as one attached to a journey, or an unattached draft in your asset manager).
If creating a new email asset, at minimum complete the Template, Setup and Content steps. (You can stop at the Review step and leave the asset unpublished if you wish.)
-
When viewing the draft or published asset, copy the asset ID from the URL. It will look like this:
-
Add
asset_id
and value to theassets
array the transactional email API call.Note you do not need the other
assets
objects shown in the example of sending a single transactional email to a single person. For example, your request can look like this:
{
"asset": {
"asset_id": "62de45141a2a340b983eec22"
},
"emails": [{
"fields": {
"bol::sp": true,
"str::email": "john.doe@example.com",
"str::first": "John",
"str::last": "Doe",
},
"location": null
}
],
"merge_by": [
"str::email"
],
"merge_strategy": 2,
"find_strategy": 0,
"skip_non_existing": false
}
The asset_id
value will provide the details and data configured at the Template, Setup and Content steps when the email asset was created in Ortto.
If required, you can override some of the settings in your email template by providing other assets
elements in the request (in addition to asset_id
).
For example, if you need to use a different from_email
depending on the recipient, you can create a request like the following.
In this example, both John and Jane will receive the same email (per the asset ID), however:
-
John will receive the email with the
from_email
"support@company.com" because in theemails
object, a from email variant is specified atasset
and is associated with hisfields
. -
Jane will receive the email with the
from_email
"sales@company.com" because no further customization was set for her inemails
.
{
"asset": {
"asset_id": "63689f3a0161f5efd0734773",
"from_email": "sales@company.com"
},
"emails": [
{
"asset": {
"asset_id": "63689f3a0161f5efd0734773",
"from_email": "support@company.com"
},
"fields": {
"str::email": "jdoe@email.com",
"str::first": "John",
"str::last": "Doe"
}
},
{
"fields": {
"str::email": "jane.smith@email.com",
"str::first": "Jane",
"str::last": "Smith"
}
}
],
"merge_by": [
"str::email"
]
}
Notes about people
The people you send emails to do not necessarily need to exist in your Ortto CDP prior to sending them an email. You can read about merge strategy here. If you do not want to send transactional emails to people who do not already exist in the CDP, then provide the skip_non_existing
option as true
.
As part of sending transactional email you can add/merge fields for customers in the record provided to this endpoint. For a full description of how this works see here.
Example of sending a single transactional email to a group of people
You can send the same transactional email to a group of people just by including more records in the array of "emails" provided in the call. This will send the same email to each of the people listed, but obviously interpolating their merge tags into the email.
curl --request POST 'https://api.ap3api.com/v1/transactional/send' \
--header 'X-Api-Key: YOUR-CUSTOM-API-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"asset": {
"from_email": "jenny@ortto.com",
"from_name": "Jenny Spencer",
"cc": [
"help@ortto.com"
],
"subject": "Confirm that you still want to hear from us, {{ people.first-name }}",
"email_name": "confirm-subscription",
"no_click_tracks": false,
"no_opens_tracks": false,
"html_body": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" style=\"font-family: Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><head><meta name=\"viewport\" content=\"width=device-width\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><title>Confirm that you still want to hear from us, {{ people.first-name }}</title><style type=\"text/css\">img {max-width: 100%;}body {-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em;}body {background-color: #f6f6f6;}@media only screen and (max-width: 640px) { body { padding: 0 !important; } h1 { font-weight: 800 !important; margin: 20px 0 5px !important; } h2 { font-weight: 800 !important; margin: 20px 0 5px !important; } h3 { font-weight: 800 !important; margin: 20px 0 5px !important; } h4 { font-weight: 800 !important; margin: 20px 0 5px !important; } h1 { font-size: 22px !important; } h2 { font-size: 18px !important; } h3 { font-size: 16px !important; } .container { padding: 0 !important; width: 100% !important; } .content { padding: 0 !important; } .content-wrap { padding: 10px !important; } .invoice { width: 100% !important; }}</style></head><body itemscope itemtype=\"http://schema.org/EmailMessage\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><table class=\"body-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td><td class=\"container\" width=\"600\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;\" valign=\"top\"><div class=\"content\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;\"><table class=\"main\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" itemprop=\"action\" itemscope itemtype=\"http://schema.org/ConfirmAction\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;\" bgcolor=\"#fff\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;\" valign=\"top\"><meta itemprop=\"name\" content=\"Confirm Email\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" /><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">Your official booking confirmation link is below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">To confirm you still wish to receive emails from us, click the link below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" itemprop=\"handler\" itemscope itemtype=\"http://schema.org/HttpActionHandler\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\"><a href=\"http://www.mywebsite.com/confirm-sub\" class=\"btn-primary\" itemprop=\"url\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; color: #FFF; text-decoration: none; line-height: 2em; font-weight: bold; text-align: center; cursor: pointer; display: inline-block; border-radius: 5px; text-transform: capitalize; background-color: #348eda; margin: 0; border-color: #348eda; border-style: solid; border-width: 10px 20px;\">View your booking</a></td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">— The Booking System</td></tr></table></td></tr></table><div class=\"footer\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;\"><table width=\"100%\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"aligncenter content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0; padding: 0 0 20px;\" align=\"center\" valign=\"top\">Follow <a href=\"http://twitter.com/EXAMPLE\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;\">us on Twitter</a>.</td></tr></table></div></div></td><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td></tr></table></body></html>",
"liquid_syntax_enabled": true
},
"emails": [{
"fields": {
"str::email": "chris+test1@ortto.com",
"str::first": "Chris1",
"str::last": "Test1",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
},
{
"fields": {
"str::email": "chris+test2@ortto.com",
"str::first": "Chris2",
"str::last": "Test2",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
},
{
"fields": {
"str::email": "chris+test3@ortto.com",
"str::first": "Chris3",
"str::last": "Test3",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
},
{
"fields": {
"str::email": "chris+test4@ortto.com",
"str::first": "Chris4",
"str::last": "Test4",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
}
],
"merge_by": [
"str::email"
],
"merge_strategy": 2,
"find_strategy": 0,
"skip_non_existing": false
}'
Example of sending different transactional emails to a group of people on a case by case basis
If you would like to send a different variation of an email to a particular person, you can provide an "asset" per person in your "emails" array. This doesn’t have to be for every contact. In the example below, we have a global asset which is sent as the default, then we override it for chris+override@ortto.com
who receives different email markup. You can do this for up to 100 people per payload.
curl --request POST 'https://api.ap3api.com/v1/transactional/send' \
--header 'X-Api-Key: YOUR-CUSTOM-API-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"asset": {
"from_email": "jenny@ortto.com",
"from_name": "Jenny Spencer",
"cc": [
"help@ortto.com"
],
"subject": "Confirm that you still want to hear from us, {{ people.first-name }}",
"email_name": "confirm-subscription",
"no_click_tracks": false,
"no_opens_tracks": false,
"html_body": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" style=\"font-family: Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><head><meta name=\"viewport\" content=\"width=device-width\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><title>Confirm that you still want to hear from us, {{ people.first-name }}</title><style type=\"text/css\">img {max-width: 100%;}body {-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em;}body {background-color: #f6f6f6;}@media only screen and (max-width: 640px) { body { padding: 0 !important; } h1 { font-weight: 800 !important; margin: 20px 0 5px !important; } h2 { font-weight: 800 !important; margin: 20px 0 5px !important; } h3 { font-weight: 800 !important; margin: 20px 0 5px !important; } h4 { font-weight: 800 !important; margin: 20px 0 5px !important; } h1 { font-size: 22px !important; } h2 { font-size: 18px !important; } h3 { font-size: 16px !important; } .container { padding: 0 !important; width: 100% !important; } .content { padding: 0 !important; } .content-wrap { padding: 10px !important; } .invoice { width: 100% !important; }}</style></head><body itemscope itemtype=\"http://schema.org/EmailMessage\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><table class=\"body-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td><td class=\"container\" width=\"600\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;\" valign=\"top\"><div class=\"content\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;\"><table class=\"main\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" itemprop=\"action\" itemscope itemtype=\"http://schema.org/ConfirmAction\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;\" bgcolor=\"#fff\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;\" valign=\"top\"><meta itemprop=\"name\" content=\"Confirm Email\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" /><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">Your official booking confirmation link is below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">To confirm you still wish to receive emails from us, click the link below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" itemprop=\"handler\" itemscope itemtype=\"http://schema.org/HttpActionHandler\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\"><a href=\"http://www.mywebsite.com/confirm-sub\" class=\"btn-primary\" itemprop=\"url\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; color: #FFF; text-decoration: none; line-height: 2em; font-weight: bold; text-align: center; cursor: pointer; display: inline-block; border-radius: 5px; text-transform: capitalize; background-color: #348eda; margin: 0; border-color: #348eda; border-style: solid; border-width: 10px 20px;\">View your booking</a></td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">— The Booking System</td></tr></table></td></tr></table><div class=\"footer\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;\"><table width=\"100%\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"aligncenter content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0; padding: 0 0 20px;\" align=\"center\" valign=\"top\">Follow <a href=\"http://twitter.com/EXAMPLE\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;\">us on Twitter</a>.</td></tr></table></div></div></td><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td></tr></table></body></html>",
"liquid_syntax_enabled": true
},
"emails": [{
"fields": {
"str::email": "chris+test1@ortto.com",
"str::first": "Chris1",
"str::last": "Test1",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
},
{
"fields": {
"str::email": "chris+test2@ortto.com",
"str::first": "Chris2",
"str::last": "Test2",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
},
{
"fields": {
"str::email": "chris+test3@ortto.com",
"str::first": "Chris3",
"str::last": "Test3",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
}
},
{
"fields": {
"str::email": "chris+override@ortto.com",
"str::first": "Chris4",
"str::last": "Override",
"bol::sp": true,
"str::soi-ctx": "API (Subscription confirmation)"
},
"asset": {
"from_email": "override@ortto.com",
"from_name": "Override Department",
"subject": "An overridden subject for you, {{ people.first-name }}",
"email_name": "confirm-subscription-override",
"no_click_tracks": false,
"no_opens_tracks": false,
"html_body": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" style=\"font-family: Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><head><meta name=\"viewport\" content=\"width=device-width\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><title>Confirm that you still want to hear from us, {{ people.first-name }}</title><style type=\"text/css\">img {max-width: 100%;}body {-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em;}body {background-color: #f6f6f6;}@media only screen and (max-width: 640px) { body { padding: 0 !important; } h1 { font-weight: 800 !important; margin: 20px 0 5px !important; } h2 { font-weight: 800 !important; margin: 20px 0 5px !important; } h3 { font-weight: 800 !important; margin: 20px 0 5px !important; } h4 { font-weight: 800 !important; margin: 20px 0 5px !important; } h1 { font-size: 22px !important; } h2 { font-size: 18px !important; } h3 { font-size: 16px !important; } .container { padding: 0 !important; width: 100% !important; } .content { padding: 0 !important; } .content-wrap { padding: 10px !important; } .invoice { width: 100% !important; }}</style></head><body itemscope itemtype=\"http://schema.org/EmailMessage\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><table class=\"body-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td><td class=\"container\" width=\"600\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;\" valign=\"top\"><div class=\"content\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;\"><table class=\"main\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" itemprop=\"action\" itemscope itemtype=\"http://schema.org/ConfirmAction\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;\" bgcolor=\"#fff\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;\" valign=\"top\"><meta itemprop=\"name\" content=\"Confirm Email\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" /><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">Your official booking confirmation link is below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">To confirm you still wish to receive emails from us, click the link below. NOTE: You have received different email content to everyone else.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" itemprop=\"handler\" itemscope itemtype=\"http://schema.org/HttpActionHandler\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\"><a href=\"http://www.mywebsite.com/confirm-sub\" class=\"btn-primary\" itemprop=\"url\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; color: #FFF; text-decoration: none; line-height: 2em; font-weight: bold; text-align: center; cursor: pointer; display: inline-block; border-radius: 5px; text-transform: capitalize; background-color: #348eda; margin: 0; border-color: #348eda; border-style: solid; border-width: 10px 20px;\">View your booking</a></td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">— The Booking System</td></tr></table></td></tr></table><div class=\"footer\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;\"><table width=\"100%\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"aligncenter content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0; padding: 0 0 20px;\" align=\"center\" valign=\"top\">Follow <a href=\"http://twitter.com/EXAMPLE\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;\">us on Twitter</a>.</td></tr></table></div></div></td><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td></tr></table></body></html>",
"liquid_syntax_enabled": true
}
}
],
"merge_by": [
"str::email"
],
"merge_strategy": 2,
"find_strategy": 0,
"skip_non_existing": false
}'
Adding attachments to transactional emails
The Ortto transactional email API supports up to 5 attachments per email. Attachments need to be base64 encoded and have the correct MIME type in order to be sent correctly. Here’s a basic example of sending an image as an attachment:
curl --request POST 'https://api.ap3api.com/v1/transactional/send' \
--header 'X-Api-Key: YOUR-CUSTOM-API-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"asset": {
"from_email": "steve.spencer@ortto.com",
"from_name": "Steve Spencer",
"subject": "IMPORTANT: a picture ",
"email_name": "confirm-booking",
"no_click_tracks": false,
"no_opens_tracks": false,
"html_body": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" style=\"font-family: Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><head><meta name=\"viewport\" content=\"width=device-width\" /><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><title>Booking confirmation for {{ people.first-name }}</title><style type=\"text/css\">img {max-width: 100%;}body {-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em;}body {background-color: #f6f6f6;}@media only screen and (max-width: 640px) { body { padding: 0 !important; } h1 { font-weight: 800 !important; margin: 20px 0 5px !important; } h2 { font-weight: 800 !important; margin: 20px 0 5px !important; } h3 { font-weight: 800 !important; margin: 20px 0 5px !important; } h4 { font-weight: 800 !important; margin: 20px 0 5px !important; } h1 { font-size: 22px !important; } h2 { font-size: 18px !important; } h3 { font-size: 16px !important; } .container { padding: 0 !important; width: 100% !important; } .content { padding: 0 !important; } .content-wrap { padding: 10px !important; } .invoice { width: 100% !important; }}</style></head><body itemscope itemtype=\"http://schema.org/EmailMessage\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; line-height: 1.6em; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><table class=\"body-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td><td class=\"container\" width=\"600\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 600px !important; clear: both !important; margin: 0 auto;\" valign=\"top\"><div class=\"content\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; max-width: 600px; display: block; margin: 0 auto; padding: 20px;\"><table class=\"main\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" itemprop=\"action\" itemscope itemtype=\"http://schema.org/ConfirmAction\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;\" bgcolor=\"#fff\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-wrap\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 20px;\" valign=\"top\"><meta itemprop=\"name\" content=\"Confirm Email\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" /><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">Please see attached image.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">To view or change your booking please click the link below.</td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" itemprop=\"handler\" itemscope itemtype=\"http://schema.org/HttpActionHandler\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\"><a href=\"$\" class=\"btn-primary\" itemprop=\"url\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; color: #FFF; text-decoration: none; line-height: 2em; font-weight: bold; text-align: center; cursor: pointer; display: inline-block; border-radius: 5px; text-transform: capitalize; background-color: #348eda; margin: 0; border-color: #348eda; border-style: solid; border-width: 10px 20px;\">See more images</a></td></tr><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">— The Booking System</td></tr></table></td></tr></table><div class=\"footer\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; clear: both; color: #999; margin: 0; padding: 20px;\"><table width=\"100%\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><tr style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\"><td class=\"aligncenter content-block\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; vertical-align: top; color: #999; text-align: center; margin: 0; padding: 0 0 20px;\" align=\"center\" valign=\"top\">Follow <a href=\"http://twitter.com/EXAMPLE\" style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 12px; color: #999; text-decoration: underline; margin: 0;\">us on Twitter</a>.</td></tr></table></div></div></td><td style=\"font-family: Helvetica,Arial,sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td></tr></table></body></html>",
"liquid_syntax_enabled": true,
"attachments": [
{
"filename": "ortto.png",
"content_type": "image/png",
"content": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAACAAAAAAAL+LWFAAAoqElEQVR4Ae3de6xsV1kA8EMBQbEoaS0iBhCwRR7xEcRE0WIBRUMQxX8EISjiW9TEV6ImKqjgg0T/QCMixESMKIiiJqK2ty1iNBiVh4IKlIcIFeRRiQgIfl9vt/fc6bln9sxea+299vxW8t2ZOTN7PX5r7e+sO69zdKQQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ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QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVsJ/B+u7ewtj7bD5wAAAABJRU5ErkJggg=="
}
]
},
"emails": [{
"fields": {
"bol::sp": true,
"str::email": "chris@ortto.com",
"str::first": "Chris",
"str::last": "Sharkey",
"str::soi-ctx": "API (Booking confirmation)"
},
"location": null
}
],
"merge_by": [
"str::email"
],
"merge_strategy": 2,
"find_strategy": 0,
"skip_non_existing": false
}'
You should use whichever programming language you are using to send transactional email to base64 encode your assets. If you don’t know how, or would like a way to do this on a case per case basis you can do it here: |
Transactional email limits
Total request size |
6MB |
Individual attachment limit (once encoded to base64) |
1MB |
Individual email size |
2MB |
Emails per request |
100 |
CCs per email |
5 |
Standard API rate limits |
All standard API rate limits apply, *see here for details. |