Get A Triggered Campaign¶
Getting Started¶
Introduction¶
This API endpoint returns a Triggered campaign by id. The response includes the list of notifications in the Triggered campaign.
Request URL¶
https://api.pushengage.com/apiv1/triggers/{trigger_id}
Request Method¶
GET
Path Parameters¶
Parameter Name | Type | Description |
---|---|---|
trigger_id | Number | The unique identifier of the Triggered campaign. |
Query Parameters¶
Parameter Name | Type | Description |
---|---|---|
analytics_start_at | String | optional The UTC start date for the analytics data in the YYYY-MM-DD (ISO 8601) format. |
analytics_end_at | String | optional 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 | Description |
---|---|---|
success | Boolean | Indicates whether the API call was successful or not. |
data | Triggered Campaign | The Triggered campaign object. |
Triggered Campaign¶
Property Name | Type | Description |
---|---|---|
trigger_id | Number | The unique identifier for the campaign. |
campaign_name | String | The name of the campaign. |
campaign_type | String | Valid values: generic , browse , trigger , price_drop , inventory Type of the Triggered campaign. |
status | String | Valid values: draft , active , pause , deleted The status of the Triggered campaign. |
site_id | Number | The unique identifier of the site associated with the campaign. |
created_at_utc | String | The UTC timestamp when the campaign was created in ISO 8601 format. |
updated_at_utc | String | The UTC timestamp when the campaign was last updated in ISO 8601 format. |
daily_trigger_limit | Number | This specifies the maximum number of notifications that can be sent to a user in a day. |
weekly_trigger_limit | Number | 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 | The object includes the settings for the start and stop event names of the Triggered campaign. |
rules.start_event_name | String | 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 | This is the name of the event that triggers the stop of the campaign when it is fired by a user. |
options | Object | optional An object that contains extra options for a triggered campaign. |
options.result_name | String | optional A string that specifies the name of the goal that the campaign will track. |
options.campaign | Object | optional An object that contains options related to the campaign settings. |
options.campaign.expiry | String | 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 |
options.campaign.price_drop_threshold | Object | optional An object that contains options related to the price drop threshold. Required only when campaign type is set to price_drop . |
options.campaign.price_drop_threshold.type | String | Valid values: absolute , percentage A string that specifies the type of threshold. |
options.campaign.price_drop_threshold.value | Object | A number that specifies the value of the threshold. |
analytics | Object | An object containing analytics information for the Triggered campaign. |
analytics.views | Number | The number of views for the notifications in the campaign. |
analytics.clicks | Number | The number of clicks on the notifications in the campaign. |
analytics.sentcount | Number | The number of notifications sent in the campaign. |
analytics.unsubscribed | Number | The number of unsubscribes for the campaign. |
analytics.ctr | Number | The click-through rate for the campaign. |
analytics.result | Array | An array of result/goal analytics object associated with the campaign. |
analytics.result.*.name | String | The name of the goal. |
analytics.result.*.count | Number | The count of the goal. |
analytics.result.*.value | Number | The value of the goal. |
notifications | Triggered Notification[] | An array of notifications in the Triggered campaign. |
utm_params | Object | optional An object containing UTM parameters for the Triggered campaign. |
utm_params.utm_source | String | The UTM source parameter value included in the URL of the notifications for the campaign. |
utm_params.utm_medium | String | The UTM medium parameter value included in the URL of the notifications for the campaign. |
utm_params.utm_campaign | String | The UTM campaign parameter value included in the URL of the notifications for the campaign. |
utm_params.utm_term | String | optional The UTM term parameter value included in the URL of the notifications for the campaign. |
utm_params.utm_content | String | optional The UTM content parameter value included in the URL of the notifications for the 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 , 0 Indicates that on devices with sufficiently large screens, the notification should remain active until the user clicks or dismisses it. |
actions | Array | optional An array of action button to display in the notification. |
actions.*.label | String | The text to be shown to the user on action button. It can include a personalization tag {{...}} . |
actions.*.url | String | The URL that opens upon clicking the action button. It can include a personalization tag {{...}} . |
actions.*.image_url | String | optional The URL of an icon to display with the action button. |
schedule_options | Object | An object containing the scheduling details of the notification. |
schedule_options.type | String | Valid values: after , rightaway Specifies 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 , days The 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 | Object | An object containing analytics information for the notification. |
analytics.views | Number | The number of view for the notification. |
analytics.clicks | Number | The number of clicks on the notification. |
analytics.sentcount | Number | The number of notification sent. |
analytics.unsubscribed | Number | The number of unsubscribes for the notification. |
analytics.ctr | Number | The click-through rate for the the notification. |
analytics.result | Array | An array of analytics result/goal object associated with the notification. |
analytics.result.*.name | String | The name of the goal. |
analytics.result.*.count | Number | The count of the goal. |
analytics.result.*.value | Number | The value of the goal. |
Example¶
Request¶
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¶
{
"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"
}