Send emails via API

Overview

The transactional email send endpoint is used to submit requests for sending transactional email messages in Ortto's customer data platform (CDP).

This page provides descriptions of this endpoint:


HTTP method and request resources

Requests to send transactional email messages in Ortto are submitted as a single POST method to the following URL:

POST https://api.ap3api.com/v1/transactional/send

NOTE: Ortto customers who have their instance region set to Australia or Europe will need to use specific service endpoints relative to the region:

  • Australia: https://api.au.ap3api.com/
  • Europe: https://api.eu.ap3api.com/

For example: https://api.eu.ap3api.com/v1/<entity/endpoint>

All other Ortto users will use the default service endpoint (https://api.ap3api.com/).


Path and query parameters

This endpoint takes no additional path and/or query parameters.


Headers

This endpoint requires a custom API key and content type (application/json for the request body) in the header of the request:

  • X-Api-Key: CUSTOM-PRIVATE-API-KEY
  • Content-Type: application/json

Request body

The request body consists of a JSON object with the valid elements listed in the table below. The following JSON objects are examples of requests to send transactional emails in your Ortto account’s CDP.

Single send transactional email to a single person

json

{ "asset": { "from_email": "jenny@ortto.com", "from_name": "Jenny Spencer", "reply_to": "sandra@ortto.com", "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": "<html></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 }

Single transactional email to multiple people

json

{ "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": "<html></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 }

Different transactional emails to multiple people

json

{ "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": "<html></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": "<html></html>", "liquid_syntax_enabled": true } } ], "merge_by": [ "str::email" ], "merge_strategy": 2, "find_strategy": 0, "skip_non_existing": false }

Including an attachment

Ortto’s transactional email API supports up to five attachments per email. Each attachment must be base64 encoded and include the correct MIME type. Below is a simple example of sending an image as an attachment:

javascript

{ "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": "<html></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 }

Passing JSON object data

When sending a transactional email through Ortto's API, you can include a JSON object in the request body and use its values in the email content. This data can be applied at either the contact level or the campaign level.

Learn more about passing JSON object data in transactional emails.

Valid request body elements:

Element

Description

from_email

The from email can be anything, but ideally should be from a custom domain which you have configured in 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".

from_name

This can be any name you like.

reply_to

The reply to email can be any email address you like.

cc

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.

An email can only support up to 5 CC or BCC email addresses.

subject

The subject of the email.

email_name

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.

no_click_tracks

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 no_click_tracks to true will mean Ortto will not rewrite the links in your email.

no_open_tracks

If you set no_open_tracks to true, we will not include our tracking pixel in the email. This will mean that "Email opened" activities will not be generated in Ortto, and you won’t be able to report or filter on those as a consequence. However, removing the tracking pixel may help with the deliverability of your email given its transactional nature.

html_body

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 liquid_syntax_enabled option is set to true.

liquid_syntax_enabled

If this is set to false, Liquid tags will be ignored. Otherwise, they will be processed as in all Ortto emails. See our guide to Liquid syntax in emails for a list of how to use these correctly.

Because Liquid syntax is enabled by default, liquid_syntax_enabled is not required in the request if the value is set to true (though there is no harm in including it).

campaign_id

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 campaign_id value is found in the campaign URL, which you need to collect from the Ortto app. It is then added to the API request body at asset. If using campaign_id, you do not need to include other asset objects in the API request body, however you can include them to override those campaign values.

Learn more about campaign_id under Using a campaign ID.

asset_id

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 asset_id value is found in the asset URL, which you need to collect from the Ortto app. It is then added to the API request body at asset. If using asset_id, you do not need to include other asset objects in the API request body, however you can include them to override those campaign values.

Learn more about asset_id under Using an asset ID.

merge_by

The merge_by element’s array allows up to three field ID values that specify the person fields used to determine whether the people’s records are either created or updated in your Ortto account’s CDP.

Learn more about merge strategies.

find_strategy

The find_strategy determines how the merge_by fields are used in finding existing people to merge with.

If find_strategy" is not specified in the request, then the default value of `0 ([any]) is used.

Learn about the different options in find strategy.

NOTE: In addition to using the email HTML, transactional emails can also be sent using campaign and asset IDs for existing messages on the account.

Learn more about asset options for transactional emails using a campaign ID and using an asset ID.


Response payload

When a request is successful, the payload will return information regarding the status of the email and corresponding contact.

json

{ "emails": [ { "person_id": "00648cc3be9a88b79dcf1700", "contact_status": "merged", "email_status": "queued", "message_id": "50679958ae9e6bee13835958", "email_name": "confirm-booking" } ] }