Email Message API Methods
Table of Contents:
Note: Notice that in each API call you must provide the List ID that you are working on, otherwise the default List ID will be used.
Methods Summary
DELETE /api/emails/<Email ID>
Description
This method deletes an Email/Template.
Response
The response includes deleted email array of fields.
Error codes
- 400 - Dependency error
- 403 - Permission error
- 404 - Email not found/deleted
GET /api/emails/<Email Message ID>
Description
This method lists a single email/template, including mailings and addresses. Return a single Email/Template
Response Example
GET URL: https://api.ongage.net/<list_id>/api/emails/<email_message_id>
{ "metadata": { "error": false }, "payload": { "id": "2025", "type": "email_message", "account_id": "26099", "list_id": "23939", "name": "Email name", "description": "", "subject": "Email subject", "content_html": "Email html content", "content_text": "Email text content", "unsubscribe_default_link": "1", "unsubscribe_success_html": "You have been successfully unsubscribed", "unsubscribe_confirmation_html": "", "unsubscribe_confirmation_button": "", "created": "1416399606", "modified": "1416399614", "deleted": "0", "mailing_id": "111670" } }
Error codes
- 403 - Permission error
- 404 - Unauthorized / Email not found
GET /api/emails
Description
This method fetches a collection of email messages/templates.
Request
type
Optional string - email_message / template / folder
name
Optional string
This is the name of the email message (unrelated to the subject of the message, which is a separate parameter – see below).
parent_id
Optional number - id of folder in which the template is located
subject
Optional string - subject of the email
modified_from
Optional number - from "unix timestamp" in which the email was modified
modified_to
Optional number - from "unix timestamp" in which the email was modified
created_by
Optional number - user id of created
favorite
Optional number - 1 / 0 if email was marked as favorite or not
page
Optional number - number of current page. default 1
page_size
Optional number - size of page. default 50
list_id
Optional number - number of list which this email is associated with
get_tags
Optional boolean - return array of tag ids for each message
e.g., https://api.ongage.net/api/emails?get_tags=1
Response Example
GET URL: https://api.ongage.net/<list_id>/api/emails
The response returns paginated Email results.
{ "metadata": { "error": false, "total": "2" }, "payload": [ { "id": "2008", "type": "email_message", "account_id": "26099", "list_id": "23939", "name": "Email name", "description": "", "subject": "Subject", "content_html": "Email html content", "content_text": "Email text content", "unsubscribe_default_link": "1", "unsubscribe_success_html": "You have been successfully unsubscribed", "unsubscribe_confirmation_html": "", "unsubscribe_confirmation_button": "", "created": "1415701181", "modified": "1415701181", "deleted": "0", "mailing_id": null }, { "id": "2025", "type": "email_message", "account_id": "26099", "list_id": "23939", "name": "Email name", "description": "", "subject": "Email subject", "content_html": "Email html content", "content_text": "Email text content", "unsubscribe_default_link": "1", "unsubscribe_success_html": "You have been successfully unsubscribed", "unsubscribe_confirmation_html": "", "unsubscribe_confirmation_button": "", "created": "1416399606", "modified": "1416399614", "deleted": "0", "mailing_id": "111670" } ] }
POST /api/emails
Description
This method creates a new email message.
Request
type
Required string - The type of item, can be: email_message, template, or folder
list_id
Optional number - The list id to which the email should be saved under
parent_id
Optional number - The folder which this item will reside, specify "0" for root folder.
preheader
Optional string - Pre-header for the Email
name
Required string - The name for new item
description
Required string - The description for new item
subject
Required string - The subject of new item
content_html
Required string - The HTML content
content_text
Required string - The plain text content
content_import_url
Optional string - Import zip file that contain html and images. when passing content url, "content_text" and "content_html" fields will be overwritten by the file content.
favorite
Optional 1 or 0 - Favorite on/off
no_wysiwyg
Optional 1 or 0 - Use ckeditor on/off
language_iso
Optional string - The language of this item (en/es/it/fr/...)
header_template_id
Optional number - Indicate template_id to insert a template to the top of this email message. (Note: Any changes you make to this template will apply up until the email message is sent)
footer_template_id
Optional number - Indicate template_id to insert a template to the bottom of this email message. (Note: Any changes you make to this template will apply up until the email message is sent)
addresses
Optional array of arrays:
*from_name: From name
*from_address: From address
*reply_address: Reply address
*esp_connection_id
tag_ids
Optional array of numbers - email tag IDs. In order to create a new email tag, please use POST api/email_tag method.
unsubscribe_default_link
Optional boolean - An unsubscribe link is mandatory for each email. If you set the default unsubscribe link to false, you must define an unsubscribe link yourself in the content_html part.
Important :
In case this field is not given at all in your request - the "unsubscribe_default_link" from your list default settings will apply.
unsubscribe_confirmation_html
Optional string- Unsubscribe confirmation page displayed after pressing the unsubscribe link.
Important :
In case this field is not given at all in your request - the "unsubscribe_confirmation_html" from your list default settings will apply (in case it was set).
unsubscribe_confirmation_button
Optional string - The text on the Unsubscribe confirmation button. The confirmation button will appear at the bottom of the page, centralized.
Important :
In case this field is not given at all in your request - the "unsubscribe_confirmation_button" from your list settings will apply (in case your set it AND in case "unsubscribe_confirmation_html" is set as well).
unsubscribe_success_html
Optional string - Unsubscribe success page displayed after a successful unsubscribe
Important :
In case this field is not given at all in your request - the "unsubscribe_success_html" from your list settings will apply (in case it was set)
frequency_active
Optional boolean - Activate emails frequencies
Important :
1. In case this field was not provided - the "frequency_active" from your list settings will apply (in case it was set)
ONLY if "unsubscribe_success_html" was given OR if "unsubscribe_success_html" was applied from the list :
2. If "frequency_active" is applied from the list settings level, it will automatically apply your list settings of "frequency_html", "frequencies" and "frequency_button".
frequency_html
Optional string - must be provided if "frequency_active" is set to true. The text that will be displayed before the frequencies select box
Important :
"frequency_active" must be provided or else this field will be applied according to you list settings.
frequencies
Optional array of objects - must be provided if "frequency_active" is set to true.
*active: true/false
*title: "string"
*value: "Frequency1"/"Frequency2"/"Frequency3"
Important :
"frequency_active" must be provided or else this field will be applied according to your list settings
link_query_params
Optional Object - Keys and values of link-query parameters that will be added automatically to all links in the email
Important :
In case this field is not given at all in your request - the "link_query_params" from your list settings will apply (in case it was set)
Example
POST URL: https://api.ongage.net/<list_id>/api/emails
{ "type": "email_message", "name" :"My first email", "subject" :"My first email", "content_html" :"<html><body>My first email</body></html>", "content_text": "testing", "addresses": [ { "from_name": "My name", "from_address": "my@address.com", "reply_address": "my@address.com", "esp_connection_id": 1 }, { "from_name": "My name", "from_address": "my@address.com", "reply_address": "my@address.com", "esp_connection_id": 2 } ], "tag_ids": [ 1001, 1002 ], "unsubscribe_default_link": true, "unsubscribe_confirmation_html" : "<p>Are you sure you want to unsubscribe?</p>", "unsubscribe_confirmation_button" : "Unsubscribe", "unsubscribe_success_html": "<p>you have been successfully unsubscribe</p>", "frequency_active": true, "frequency_html":"<p>Choose how frequent would you like to receive our email</p>", "frequencies" : [ { "active":true, "title":"Weekly", "value":"Frequency1" }, { "active":true, "title":"Twice a month", "value":"Frequency2" }, { "active":true, "title":"Monthly", "value":"Frequency3" } ], "link_query_params": { "campaign": "my_campaign_identifier", "custom_key": "custom_value" } }
Response
The response includes a newly created email array of fields.
Error codes
- 403 - Permission error
- 406 - Account setup is required
PUT /api/emails/<Email Message ID>
Description
This method updates an existing email.
Request
type
Required string - The type of item, can be: email_message, template, or folder
list_id
Optional number - The list id to which the email should be saved under
parent_id
Optional number - The folder which this item will reside, specify "0" for root folder.
preheader
Optional string - Pre-header for the Email
name
Required string - The name for new item
description
Required string - The description for new item
subject
Required string - The subject of new item
content_html
Required string - The HTML content
content_text
Required string - The plain text content
content_import_url
Optional string - Import zip file that contains html and images. when passing the content URL, "content_text" and "content_html" fields will be overwritten by the file content.
favorite
Optional 1 or 0 - Favorite on/off
no_wysiwyg
Optional 1 or 0 - Use ckeditor on/off
language_iso
Optional string - The language of this item (en/es/it/fr/...)
header_template_id
Optional number - Indicate template_id to insert a template to the top of this email message. (Note: Any changes you make to this template will apply up until the email message is sent)
footer_template_id
Optional number - Indicate template_id to insert a template to the bottom of this email message. (Note: Any changes you make to this template will apply up until the email message is sent)
addresses
Optional array of arrays:
*from_name: From name
*from_address: From address
*reply_address: Reply address
*esp_connection_id
tag_ids
Optional array of numbers - email tag IDs. In order to create a new email tag, please use POST api/email_tag method.
unsubscribe_default_link
Optional boolean - An unsubscribe link is mandatory for each email. If you set the default unsubscribe link to false, you must define an unsubscribe link yourself in the content_html part.
Important :
In case this field is not given at all in your request - the "unsubscribe_default_link" from your list default settings will apply.
unsubscribe_confirmation_html
Optional string- Unsubscribe confirmation page displayed after pressing the unsubscribe link.
Important :
In case this field is not given at all in your request - the "unsubscribe_confirmation_html" from your list default settings will apply (in case it was set).
unsubscribe_confirmation_button
Optional string - The text on the Unsubscribe confirmation button. The confirmation button will appear at the bottom of the page, centralized.
Important :
In case this field is not given at all in your request - the "unsubscribe_confirmation_button" from your list settings will apply (in case your set it AND in case "unsubscribe_confirmation_html" is set as well).
unsubscribe_success_html
Optional string - Unsubscribe success page displayed after a successful unsubscribe
Important :
In case this field is not given at all in your request - the "unsubscribe_success_html" from your list settings will apply (in case it was set)
frequency_active
Optional boolean - Activate emails frequencies
Important :
1. In case this field was not provided - the "frequency_active" from your list settings will apply (in case it was set)
ONLY if "unsubscribe_success_html" was given OR if "unsubscribe_success_html" was applied from the list :
2. If "frequency_active" is applied from the list settings level, it will automatically apply your list settings of "frequency_html", "frequencies" and "frequency_button".
frequency_html
Optional string - must be provided if "frequency_active" is set to true. The text that will be displayed before the frequencies select box
Important :
"frequency_active" must be provided or else this field will be applied according to you list settings.
frequencies
Optional array of objects - must be provided if "frequency_active" is set to true.
*active: true/false
*title: "string"
*value: "Frequency1"/"Frequency2"/"Frequency3"
Important :
"frequency_active" must be provided or else this field will be applied according to your list settings
link_query_params
Optional Object - Keys and values of link-query parameters that will be added automatically to all links in the email
Important :
In case this field is not given at all in your request - the "link_query_params" from your list settings will apply (in case it was set)
Example
PUT URL: https://api.ongage.net/<list_id>/api/emails/<email_message_id>
{ "type": "email_message", "content_html" :"<html><body>My first email</body></html>", "content_text": "testing", "addresses": [ { "from_name": "My name", "from_address": "my@address.com", "reply_address": "my@address.com", "esp_connection_id": 1 }, { "from_name": "My name", "from_address": "my@address.com", "reply_address": "my@address.com", "esp_connection_id": 2 } ], "tag_ids": [ 1001, 1002 ], "unsubscribe_default_link": true, "unsubscribe_confirmation_html" : "<p>Are you sure you wannt to unsubscribe?</p>", "unsubscribe_confirmation_button" : "Unsubscribe", "unsubscribe_success_html": "<p>you have been successfully unsubscribe</p>", "frequency_active": true, "frequency_html":"<p>Choose how frequent would you like to receive our email</p>", "frequencies" : [ { "active":true, "title":"Weekly", "value":"Frequency1" }, { "active":true, "title":"Twice a month", "value":"Frequency2" }, { "active":true, "title":"Monthly", "value":"Frequency3" } ], "link_query_params": { "campaign": "my_campaign_identifier", "custom_key": "custom_value" }
Overwrite existing email
In case the email used in campaign that already launched, it will create a copy instead of updating the existing one. If you want to overwrite it, add overwrite = TRUE parameter to request payload.
Response
The response includes an updated email's array of fields. It might also include a warning message.
Error codes
- 403 - Permission error
- 404 - Email not found/deleted
- 500 - General error
PUT /api/emails/<Email Message ID>/copy
Description
This method is used to copy email message to another list.
Request
target_list_id
Required number - Specify list id to copy the email message to.
target_list_ids
Required number - Specify list ids to copy the email message to.
Response
The response returns copied email updated details
Example
PUT URL: https://api.ongage.net/<list_id>/api/emails/<email_message_id>/copy
{ "target_list_id" : "12345" }
PUT /api/emails/<Email Message ID>/favourite
Description
This method is used to toggle favorite.
Response
The response returns single row with updated details.
Error codes
- 403 - Permission error
- 404 - Email not found
PUT /api/emails/<Email Message ID>/move
Description
This method is used to move or rename an email/template in library.
Request
parent_id
Required number - The folder which this item will reside, specify "0" for root folder.
name
Required string - Item name
Example
PUT URL: https://api.ongage.net/<list_id>/api/<email_message_id>/move
{ "parent_id": 1, "name": "Dazzling email" }
Error codes
- 403 - Permission error
- 404 - Email not found / deleted