Create Push Campaign
Use this interface to create a push campaign object.
Note: The Responsys Advanced API is generally available for all Responsys customers.
Service URL:
/rest/api/push/v1.3/campaigns/push/{campaignName}
Required Path Parameters:
campaignName
- Name of the Push campaign to be created.
Request Method:
POST
Request Header:
Authorization=<AUTH_TOKEN>
Content-Type=application/json
Request Body - Required Properties:
folderName – Name of the folder where the campaign will be stored.
description – A description of the campaign.
Sample Request Body
{
"campaignMetadata": {
"folderName": "<folderName>",
"description": "<description>",
"marketingStrategy": "<marketingStrategy>",
"marketingProgram": "<marketingProgram>",
"appName": "<appName>"
},
"dataSource": {
"dataSourceTables": [
{
"folder": "<dataSourceFolderName>",
"type": "<dataSourceType>",
"alias": "<dataSourceAlias>",
"name": "<dataSourceName>",
"columns": [
{
"alias": "<columnAlias>",
"defaultValue": null,
"name": "<columnName>",
"lookupKey": false
},
]
},
],
"dynamicVariables": {
"columns": [
{
"alias": "<dynamicVariableAlias>",
"defaultValue": null
}
]
}
},
"message": {
"title": "<title>",
"textMessage": "<textMessage>",
"iosMedialUrl": "<iosMediaUrl>",
"androidImageUrl": "<androidImageUrl>",
"deepLinkUrl": "<deepLinkUrl>"
},
"launchSettings": {
"progressEmailAddresses": [
"<progressEmailAddress>"
],
"skipAlertEnabled": true,
"skipAlertPercent": 10,
"sentAlertEnabled": false,
"sentAlertPercent": null,
"startAlertEnabled": false,
"emptyAlertEnabled": false,
"failureEmailAddresses": [
"<failureEmailAddress>"
],
"skippedLaunchEmailAddresses": [
"<skippedLaunchEmailAddress>"
],
"launchThrottleRate": <launchThrottleRate>
},
"targeting": {
"filterNames": <filterNames>,
"audienceName": "<audienceName>",
"allRecipients": <allRecipients>
}
}
Sample Response Body - Success
{
"campaignMetadata": {
"folderName": "<folderName>",
"description": "<description>",
"marketingStrategy": "<marketingStrategy>",
"marketingProgram": "<marketingProgram>",
"appName": "<appName>",
"channelListName": "<channelListName>",
"type": "Push",
"campaignName": "<campaignName>"
},
"dataSource": {
"dataSourceTables": [
{
"folder": "<dataSourceFolderName>",
"type": "<dataSourceType>",
"alias": "<dataSourceAlias>",
"name": "<dataSourceName>",
"columns": [
{
"alias": "<columnAlias>",
"defaultValue": null,
"name": "<columnName>",
"lookupKey": false
},
]
},
],
"dynamicVariables": {
"columns": [
{
"alias": "<dynamicVariableAlias>",
"defaultValue": null
}
]
}
},
"message": {
"title": "<title>",
"textMessage": "<textMessage>",
"iosMedialUrl": "<iosMediaUrl>",
"androidImageUrl": "<androidImageUrl>",
"deepLinkUrl": "<deepLinkUrl>"
},
"launchSettings": {
"progressEmailAddresses": [
"<progressEmailAddress>"
],
"skipAlertEnabled": true,
"skipAlertPercent": 10,
"sentAlertEnabled": false,
"sentAlertPercent": null,
"startAlertEnabled": false,
"emptyAlertEnabled": false,
"failureEmailAddresses": [
"<failureEmailAddress>"
],
"skippedLaunchEmailAddresses": [
"<skippedLaunchEmailAddress."
],
"launchThrottleRate": <launchThrottleRate>
},
"targeting": {
"filterNames": <filterNames>,
"audienceName": <audienceName>,
"allRecipients": <allRecipients>
},
"links": [
{
"rel": "self",
"href": "/pushapi/rest/api/push/v1.3/campaigns/<campaignName>/",
"method": "POST"
},
{
"rel": "updatePushCampaign",
"href": "/pushapi/rest/api/push/v1.3//campaigns/<campaignName>",
"method": "PUT"
},
{
"rel": "deletePushCampaign",
"href": "/rest/api/push/v1.3//campaigns/<campaignName>",
"method": "DELETE"
},
{
"rel": "getPushCampaign",
"href": "/pushapi/rest/api/push/v1.3//campaigns/<campaignName>",
"method": "GET"
}
]
}
Other Sample Requests
Create a push campaign for iOS 15 and above devices, using the interruptionLevel
and relevanceScore
parameters to determine notification importance. See Push Campaigns Object Properties Reference to learn more about these parameters.
{
"campaignMetadata": {
"folderName": "<folderName>",
"description": "<description>",
"marketingStrategy": null,
"marketingProgram": null,
"appName": "<appName>"
},
"dataSource": {
"dataSourceTables": [
{
"folder": "<dataSourceFolderName>",
"type": "CHANNEL_LIST",
"alias": "<dataSourceAlias>",
"name": "<dataSourceName>",
"columns": [
{
"alias": "<columnAlias>",
"defaultValue": <defaultValue>,
"name": "<columnName>",
"lookupKey": false
},
{
"alias": "<columnAlias>",
"defaultValue": "<defaultValue>",
"name": "<columnName>",
"lookupKey": false
}
]
},
{
"folder": "~System",
"type": "PROFILE_LIST",
"alias": "<folderAlias>",
"name": "Push_App_List",
"columns": [
{
"alias": "MOBILE_NUMBER_",
"defaultValue": null,
"name": "MOBILE_NUMBER_",
"lookupKey": false
}
]
},
{
"folder": "Push",
"type": "PROFILE_EXTENSION",
"alias": "Profile_Pet",
"name": "Profile_Pet",
"columns": [
{
"alias": "<listAlias>",
"defaultValue": null,
"name": "<RIID_IO>",
"lookupKey": false
}
]
},
{
"folder": "Push",
"type": "CHANNEL_EXTENSION",
"alias": "APP_CHANNEL_PET",
"name": "APP_CHANNEL_PET",
"columns": [
{
"alias": "<listAlias>",
"defaultValue": null,
"name": "DGF_APP_PET",
"lookupKey": false
}
]
},
{
"folder": "Push",
"type": "SUPPLEMENTAL_TABLE",
"alias": "Valid_Supp",
"name": "Valid_Supp",
"columns": [
{
"alias": "BROWSER_",
"defaultValue": null,
"name": "BROWSER_",
"lookupKey": false
}
]
}
],
"dynamicVariables": {
"columns": [
{
"alias": "<dynamicVariable>",
"defaultValue": null
},
{
"alias": "<dynamicVariable>",
"defaultValue": null
}
]
}
},
"message": {
"title": "<title>",
"textMessage": "<textMessage>",
"iosMedialUrl": "<iosMediaUrl>",
"androidImageUrl": "<androidImageUrl>",
"deepLinkUrl": "<deepLinkUrl>",
"interruptionLevel": "active",
"relevanceScore": 0.5
},
"launchSettings": {
"progressEmailAddresses": [
"<progressEmailAddress>",
"<progressEmailAddress>"
],
"skipAlertEnabled": true,
"skipAlertPercent": 10,
"sentAlertEnabled": false,
"sentAlertPercent": null,
"startAlertEnabled": false,
"emptyAlertEnabled": false,
"failureEmailAddresses": [
"<failureEmailAddress>",
"<failureEmailAddress>"
],
"skippedLaunchEmailAddresses": [
"<skippedLaunchEmailAddress>"
],
"launchThrottleRate": <launchThrottleRate>
},
"targeting": {
"filterNames": [
],
"audienceName": null,
"allRecipients": true
}
}
Sample Response Body - Failure
400 Bad Request
Invalid campaign type: Requests fail if the campaign specified in the request is not a push campaign. The error resembles:
{
"type": "",
"title": "Invalid request parameters",
"errorCode": "INVALID_PARAMETER",
"detail": "Invalid Campaign Type.",
"errorDetails": []
}
Invalid request parameters: Requests fail from a variety of potential bad inputs, such as multiple targeting inputs, invalid email addresses. invalid media URLs, and invalid data source properties. The error resembles:
{
"type": "",
"title": "Invalid request parameters",
"errorCode": "INVALID_PARAMETER",
"errorDetails": {
"targeting": [
"Multiple Targeting options not allowed"
],
"campaignMetadata": [],
"launchSettings": [
"Progress Email Address [abcgmail.com] is not valid",
"Failure Email Address [abcgmail.com] is not valid",
"Failure Email Address [test2gmail.com] is not valid"
],
"message": [
"Invalid Android Image Url"
],
"dataSource": [
"Channel list [Push_App_List_APP] not found or Invalid",
"Data Source Column name [API_KEY_1] not found in datasource [Push_App_List_APP]",
"Data Source Column name [RIID_] not found in datasource [Push_App_List_APP]",
"Duplicate data source alias [api_key_alias] not allowed"
]
}
}