View Triggered Campaign
This API endpoint returns a paginated list of all Triggered campaigns. The campaigns are listed in descending order, with the most recently created campaigns appearing first.
GET
https://api.pushengage.com/apiv1/triggers/{trigger_id}
Path Parameters
| Property Name | Type | Required | Description |
|---|---|---|---|
| trigger_id | Number | Yes | The unique identifier of the Triggered campaign. |
Query Parameters
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| analytics_start_at | String | No | The UTC start date for the analytics data in the YYYY-MM-DD (ISO 8601) format. |
| analytics_end_at | String | No | The UTC end date for the analytics data in the the YYYY-MM-DD (ISO 8601) format. |
Response Object
The response object returned by the API endpoint contains the details about the Triggered campaign.
| Property Name | Type | Required | Description |
|---|---|---|---|
| success | Boolean | Yes | Indicates whether the API call was successful or not. |
| data | Triggered Campaign | Yes | The Triggered campaign object. |
Triggered Campaign
| Property Name | Type | Required | Description |
|---|---|---|---|
| trigger_id | Number | Yes | The unique identifier for the campaign. |
| campaign_name | String | Yes | The name of the campaign. |
| campaign_type | String | Yes | Valid values: generic, browse, trigger, price_drop, inventoryType of the Triggered campaign. |
| status | String | Yes | Valid values: draft, active, pause, deletedThe status of the Triggered campaign. |
| site_id | Number | Yes | The unique identifier of the site associated with the campaign. |
| created_at_utc | String | Yes | The UTC timestamp when the campaign was created in ISO 8601 format. |
| updated_at_utc | String | Yes | The UTC timestamp when the campaign was last updated in ISO 8601 format. |
| daily_trigger_limit | Number | Yes | This specifies the maximum number of notifications that can be sent to a user in a day. |
| weekly_trigger_limit | Number | Yes | This specifies the maximum number of notifications that can be sent to a subscriber in a week, which includes the last seven days. |
| rules | Object | Yes | The object includes the settings for the start and stop event names of the Triggered campaign. |
| rules.start_event_name | String | Yes | This is the name of the event that triggers the start of the campaign when it is fired by a user. |
| rules.stop_event_name | String | Yes | This is the name of the event that triggers the stop of the campaign when it is fired by a user. |
| analytics | Analytics | Yes | An object containing analytics information for the Triggered campaign. |
| notifications | Triggered Notification[] | Yes | An array of notifications in the Triggered campaign. |
| options | Options | No | An object that contains extra options for a triggered campaign. |
| utm_params | UTM Params | No | An object containing UTM parameters for the Triggered campaign. |
Triggered Notification
| Property Name | Type | Description |
|---|---|---|
| id | Number | The unique id of the notification in the Triggered campaign. |
| order | Number | The order of the notification. |
| title | String | Title of the notification. The title can include a personalization tag {{...}}. |
| message | String | The message to be displayed in the push notification. The message can include a personalization tag {{...}}. |
| url | String | The URL that opens upon clicking the received push notification. It can include a personalization tag {{...}}. |
| image_url | String | URL of the notification icon image. It can include a personalization tag {{...}}. |
| big_image_url | String | URL of the notification large image. It can include a personalization tag {{...}}. |
| expiry | Number | The expiry time of on notification in seconds. The notification will be expired if the device does not come back online within this time. The maximum time is 28 days. |
| require_interaction | Number | Valid values: 1, 0Indicates that on devices with sufficiently large screens, the notification should remain active until the user clicks or dismisses it. |
| actions | Action[] | An array of action button to display in the notification. It accept maximum two action. |
| schedule_options | Object | An object containing the scheduling details of the notification. |
| schedule_options.type | String | Valid values: after, rightawaySpecifies when to send this notification after sending the previous notification in the Drip campaign. |
| schedule_options.value | Number | The value specifies the time to wait before sending the notification after sending the previous notification in the campaign. It is required when the type is set to after. |
| schedule_options.unit | Number | Valid values: minutes, daysThe unit of the value is required when the type is set to after. The value will be treated based on its unit. If the unit is minutes, then the value will indicate the number of minutes. If the unit is days, then the value will indicate the number of days. |
| schedule_options.at | String | The sending time of the notification in the HH:mm:ss format. It is required when the unit is days. |
| analytics | Analytics | An object containing analytics information for the notification. |
Analytics Object
| Property Name | Type | Required | Description |
|---|---|---|---|
| views | Number | Yes | The number of view for the notification. |
| clicks | Number | Yes | The number of clicks on the notification. |
| sentcount | Number | Yes | The number of notification sent. |
| unsubscribed | Number | Yes | The number of unsubscribes for the notification. |
| ctr | Number | Yes | The click-through rate for the the notification. |
| result | Array | No | An array of analytics result/goal object associated with the notification. |
| result.*.name | String | No | The name of the goal. |
| result.*.count | Number | No | The count of the goal. |
| result.*.value | Number | No | The value of the goal. |
Options Object
| Property Name | Type | Required | Description |
|---|---|---|---|
| result_name | String | No | A string that specifies the name of the goal that the campaign will track. |
| campaign | Object | No | An object that contains options related to the campaign settings. |
| campaign.expiry | String | No | Default: 2592000 (30 days)A number that specifies the time duration in seconds until the campaign expires. Applicable only when campaign type is price_drop or inventory |
| campaign.price_drop_threshold | Object | No | An object that contains options related to the price drop threshold. Required only when campaign type is set to price_drop. |
| campaign.price_drop_threshold.type | String | No | Valid values: absolute, percentageA string that specifies the type of threshold. |
| campaign.price_drop_threshold.value | Object | No | A number that specifies the value of the threshold. |
UTM params Object
| Property Name | Type | Required | Description |
|---|---|---|---|
| utm_source | String | Yes | The UTM source parameter value included in the URL of the notifications for the campaign. |
| utm_medium | String | Yes | The UTM medium parameter value included in the URL of the notifications for the campaign. |
| utm_campaign | String | Yes | The UTM campaign parameter value included in the URL of the notifications for the campaign. |
| utm_term | String | No | The UTM term parameter value included in the URL of the notifications for the campaign. |
| utm_content | String | No | The UTM content parameter value included in the URL of the notifications for the campaign. |
Action Object
| Property Name | Type | Required | Description |
|---|---|---|---|
| label | String | Yes | The text to be shown to the user on action button. It can include a personalization tag {{...}}. |
| url | String | Yes | The URL that opens upon clicking the action button. It can include a personalization tag {{...}}. |
| image_url | String | No | optional The URL of an icon to display with the action button. |
Example
Request
- cURL
- PHP
curl --location -g --request GET 'https://api.pushengage.com/apiv1/triggers/{trigger_id}?analytics_start_at=2023-02-30&analytics_end_at=2023-03-30' \
--header 'Api-Key: <YOUR_API_KEY>'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.pushengage.com/apiv1/triggers/{trigger_id}?analytics_start_at=2023-02-30&analytics_end_at=2023-03-30',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Api-Key: <YOUR_API_KEY>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Response
- 200 OK
- 401 Unauthorized
- 400 Bad Request
- 500 Internal Server Error
{
"success": true,
"data": {
"trigger_id": 30688906,
"campaign_name": "Triggered Campaign",
"campaign_type": "trigger",
"utm_params": {
"utm_source": "PushEngage",
"utm_medium": "Push Notification",
"utm_campaign": "Triggered Campaign",
"utm_term": "UTM Term",
"utm_content": "UTM medium"
},
"status": "active",
"site_id": 3289873,
"created_at_utc": "2023-02-27T06:53:27Z",
"updated_at_utc": "2023-02-27T06:53:27Z",
"daily_trigger_limit": 1,
"weekly_trigger_limit": 7,
"options": {
"result_name": "revenue"
},
"analytics": {
"ctr": 10,
"views": 100,
"clicks": 10,
"sentcount": 150,
"unsubscribed": 10,
"result": [
{
"name": "revenue",
"count": 10,
"value": 4000
}
]
},
"rules": {
"start_event_name": "add-to-card",
"stop_event_name": "checkout"
},
"notifications": [
{
"id": 239002,
"order": 0,
"title": "Item {{product_name}} is waiting in cart",
"message": "Checkout by paying {{product_price}}",
"url": "{{checkout_url}}",
"image_url": "{{product_thumbnail}}",
"big_image_url": "{{product_image}}",
"expiry": 86400,
"require_interaction": 1,
"actions": [
{
"label": "🛒 Checkout",
"url": "{{checkout_url}}"
}
],
"schedule_options": {
"type": "after",
"value": 1800,
"unit": "minutes"
},
"analytics": {
"ctr": 10,
"views": 100,
"clicks": 10,
"sentcount": 150,
"unsubscribed": 10,
"result": [
{
"name": "revenue",
"count": 10,
"value": 4000
}
]
}
}
]
}
}
{
"success": false,
"message": "API KEY Invalid"
}
{
"success": false,
"error": {
"name": "InvalidRequestException",
"message": "Error Message"
}
}
{
"success": false,
"message": "Error message"
}