Email Message API Methods

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", "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

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", "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", "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