Events & Trigger 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/events/<Event ID>
Description
This method deletes an event.
GET /api/events/<Event ID>
Description
This method gets a single event.
GET /api/events
Description
This method fetches a collection of events.
Request
name
Required string
Event's internal friendly name. For your use only.
sort
Optional string - Column name
order
Optional string - "ASC" or "DESC"
offset
Optional int
limit
Optional int
POST /api/events
Description
This method creates a new event.
Request
name
Required string - Event's internal friendly name. For your use only.
description
Optional string - Event description. For your use only
based_on
Optional string - "mailing" / "date_field" / "recurring"
mailing_id
Required for events based_on mailing integer - Mailing ID
date_field_name
Required for events based_on date_field string - Date field name
annually_event
Optional for events based_on date_field boolean
ongoing_event
Optional boolean
start_date
Required for events with ongoing_event = FALSE
integer (UTC unix timestamp) OR string (date format)
end_date
Required for events with ongoing_event = FALSE
integer (UTC unix timestamp) OR string (date format)
status
Required boolean - Event status, TRUE for active, FALSE for inactive
segments
Required array of integers - Segments to associate with this event
segments_excluded
Optional array of integers - Segments to exclude from this event
distribution
Required array of arrays - ESP distribution configuration.
You can specify multiple ESPs with different percentage of delivery.
*domain: String of domain name or "default"
*esp_connection_id: Required only when domain is "default", Numeric ID
*esps: Required when domain is not "default". Array of key/value = esp_id/percent
triggers
Required array of triggers - Each trigger need to include the following parameters:
Trigger based_on = "list_field"
*based_on Required - string - "list_field"
*email_messages Required - array of integers - Array of email message IDs
*days_diff Required - integer
*send_on_days Required - array - Array of days in week [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ]
*operator Required - string - "before" / "after"
*schedule_hour Required - integer - Schedule hour (0-23)
*schedule_minute Required - integer - Schedule minute (0-59)
Trigger based_on = "mailing"
*based_on Required - string - "list_field"
*email_messages Required - array of integers - Array of email message IDs
*days_diff Required - integer
*email_operator Required - string - "sent" / "opened" / "not_opened" / "clicked" / "not_clicked" / "open_not_clicked"
*operator Required - string - "after"
*schedule_hour Required - integer - Schedule hour (0-23)
*schedule_minute Required - integer - Schedule minute (0-59)
Trigger based_on = "trigger"
*based_on Required - string - "list_field"
*based_on_trigger Required - integer - The position of the trigger in the array that this trigger is based on (first=1)
*email_messages Required - array of integers - Array of email message IDs
*days_diff Required - integer
*email_operator Required - string - "sent" / "opened" / "not_opened" / "clicked" / "not_clicked" / "open_not_clicked"
*operator Required - string - "after"
*schedule_hour Required - integer - Schedule hour (0-23)
*schedule_minute Required - integer - Schedule minute (0-59)
Trigger based_on = "list"
*based_on Required - string - "list_field"
*email_messages Required - array of integers - Array of email message IDs
*schedule_hour Required - integer - Schedule hour (0-23)
*schedule_minute Required - integer - Schedule minute (0-59)
*recurrence Required - object - associative object of key & values with the following acceptable keys:
*pattern -string- (acceptable values: "daily")
Example - Event based on birth_date field
POST URL: https://api.ongage.net/<list_id>/api/events
- First trigger will be sent at 10:30 on contact's birth date
- Second trigger will be sent after 7 days only if the contact didn't open first trigger's message, the email will be sent at 19:45
{ "name": "Birth date event", "based_on": "date_field", "date_field_name": "birth_date", "annually_event": true, "ongoing_event": true, "status": true, "segments": [ 60478 ], "distribution": [ { "esp_connection_id": 60142, "domain": "default", "percent": 100 } ], "triggers": [ { "based_on": "list_field", "email_messages": [ 2381 ], "days_diff": 0, "operator": "after", "schedule_hour": 10, "schedule_minute": 30 } ] }
{ "name": "Based on recurring campaign list", "based_on": "recurring", "status": true, "segments": [ 60478 ], "start_date": "18-02-2018", "end_date": "18-03-2018", "distribution": [ { "esp_connection_id": 60142, "domain": "default", "percent": 100 } ], "triggers": [ { "based_on": "list", "email_messages": [ 2381 ], "operator": "after", "schedule_hour": 19, "schedule_minute": 45, "recurrence" : { "pattern":"daily" } } ] }
{ "name": "Based on mailing", "based_on": "mailing", "status": true, "segments": [ 60659 ], "mailing_id": 35847, "start_date": "2017-12-15", "end_date": "2017-12-25", "distribution": [ { "esp_connection_id": 60142, "domain": "default", "percent": 100 } ], "triggers": [ { "based_on": "mailing", "email_messages": [ 2381 ], "days_diff": 0, "operator": "after", "email_operator": "not_opened", "schedule_hour": 10, "schedule_minute": 30 } ] }
PUT /api/events/<Event ID>
Description
This method is used to update an existing event.
Request
name
Required string - Event's internal friendly name. For your use only.
description
Optional string - Event description. For your use only
esp_connections_quota
Optional array - Update ESP connections quota
emails_limit
Optional number - Update global emails quota
PUT /api/events/<Event ID>/status
Description
This method is used to Toggle the event status.
The "status" flag acts as toggle to start/stop the event. When this call is made on an active event, this method will deactivate it, and vise versa.