Jivox Programmable Personalization API supports dynamic campaigns that would make use of the ads created using the Ad APIs and would allow users to define different rules (using Decision Map, Decision Graphs) to define audience segments as per marketing strategy. Creative variations for every audience set can then be defined to be dynamically generated, based on the assets uploaded into the platform’s Content Management System.
Method Name | Method Type | Description |
---|---|---|
Create Campaign | POST | Creates a campaign with provided asset map, decision map and decision graph details for a particular account |
List Campaigns | GET | Returns a list of campaigns under a particular account |
List Data Signals | GET | Returns a list of data signals for a particular account. |
Delete Campaign | DELETE | Deletes a campaign under a particular account |
List Asset Sources | GET | Returns a list of asset sources under a particular account |
Get Asset Sources Detail | GET | Returns details of asset sources under a particular account |
Get Asset Sources Data | GET | Returns data for a given asset source under a particular account |
Get Campaign Data | GET | Returns data for a given campaign under a particular account |
Get Asset Source Label | GET | Returns labels for a given asset source. |
Create Asset Source Labels | POST | Creates label for a given asset source |
Delete Asset Source Label | DELETE | Deletes label for a given asset source |
Create Feed Asset Source | POST | Creates an asset source from feed for the given user account |
Create Asset Source from Adobe After Effects Assets | POST | Creates an asset source from adobe after effects assets for the given user account. |
Create Inline Asset Source | POST | Creates an inline asset source for the given user account |
Create Recommendation Asset Source | POST | Creates a recommendation asset source for the given user account |
Create Remote Asset Source | POST | Creates a remote asset source for the given user account |
Update Feed Asset Source | PUT | Updates an asset source from feed for the given user account. |
Update Asset Source from Adobe After Effects Assets | PUT | Updates an asset source from adobe after effects assets for the given user account. |
Update Inline Asset Source | PUT | Updates an inline asset source for the given user account. |
Update Recommendation Asset Source | PUT | Updates a recommendation asset source for the given user account. |
Update Remote Asset Source | PUT | Updates a remote asset source for the given user account. |
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/
Request Body
xxxxxxxxxx
{
"assetMap": [
{
"assetId": "asset101.lib_bg_trusted_care",
"assetSourceId": "2014708",
"assetSourceColumn": "Image"
},
. . .
],
"decisionMap": [
{
"assetSourceId": "2014708",
"dataSignalService": "DSP Data Signal",
"dataSignalProperty": "DataSignal1"
},
. . .
],
"decisionGraph": {
"defaultCreativeMaster": "fri",
"rulePriority": "EQUAL_ROTATION",
"segments": [
{
"name": "rule1",
"creativeMasters": [
"sat"
],
"condition": {
"operator": "and",
"expressions": [
{
"dataSignalServiceId": "DSP Data Signal",
"dataSignalPropertyId": "DataSignal1",
"operator": "equals",
"value": "exp2"
},
. . .
]
}
},
{
"name": "rule2",
"creativeMasters": [
"sun"
],
"condition": {
"operator": "and",
"expressions": [
{
"dataSignalServiceId": "DSP Data Signal",
"dataSignalPropertyId": "DataSignal1",
"operator": "equals",
"value": "exp3"
},
{
"dataSignalServiceId": "Time",
"dataSignalPropertyId": "local-time",
"operator": "greater-than",
"value": "12:00:00"
},
{
"dataSignalServiceId": "Time",
"dataSignalPropertyId": "local-time",
"operator": "less-than",
"value": "23:59:00"
}
]
}
},
. . .
}
}
]
},
"defaultURL": "http://kleenex.com",
"campaignName": "Checking campaign creation",
"ad": {
"adId": "17733"
}
}
Sample Response
xxxxxxxxxx
{
"campaignId": "124590",
"msg": "Campaign created successfully"
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/
Sample Response
xxxxxxxxxx
{
"campaigns": [
{
"lastUpdate": "2018-03-24 12:51:50.0",
"defaultURL": "http://givox.com",
"campaignName": "Ad to create campaign via api-1",
"creationDate": "2018-02-23 12:52:09.0",
"campaignId": 17610
},
{
"lastUpdate": "2018-02-27 05:19:30.0",
"defaultURL": "http://givox.com",
"campaignName": "Image and text",
"creationDate": "2018-02-27 05:19:30.0",
"campaignId": 17611
}
. . .
],
"previous": "",
"next": ""
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/data-signals
Sample Response
xxxxxxxxxx
{
"dataSignals": [
{
"dataSignalId": 1,
"dataSignalName": "Geography",
"dataSignalProperties": [
{
"propertyId": "city",
"propertyName": "City",
"operators": [
"EQUALS",
"IN"
]
},
{
"propertyId": "state",
"propertyName": "State",
"operators": [
"EQUALS",
"IN"
]
},
. . .
],
"previous": "",
"next": ""
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
campaignId | string | Mandatory | path | ID of the campaign created under a given user account on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/124590
Sample Response
HTTP status code as 200 OK with no response body is returned.
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/
Sample Response
xxxxxxxxxx
{
"assetSources": [
{
"assetSourceId": 2014708,
"assetSourceName": "browser-db-defau"
},
],
. . .
"previous": "",
"next": ""
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
assetSourceId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252
Sample Response
xxxxxxxxxx
{
"assetKeyColumn": "Key",
"rotationWeightColumn": null,
"assetGroupColumn": null,
"assetVariantColumn": "Asset",
"assetSourceColumns": [
"Key",
"File URL",
"Text",
"Asset"
],
"assetSourceId": "2014710",
"reportingColumn": null,
"assetSourceType": "uploaded",
"assetSourceName": "noprotocol"
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
assetSourceId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
GEThttp://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252/data
Sample Response
xxxxxxxxxx
{
"assetKeyColumn": "Key",
"rotationWeightColumn": null,
"assetGroupColumn": null,
"assetVariantColumn": "Asset",
"assetSourceColumns": [
"Key",
"File URL",
"Text",
"Asset"
],
"assetSourceId": "2014710",
"data": [
{
"File URL": "//jivoxdevuploads.s3.amazonaws.com/qaslate/files/2309/protocol/cr1.png",
"Asset": "One",
"Text": "Image 1",
"Key": "1"
},
"prev": "",
"reportingColumn": null,
"assetSourceType": "uploaded",
"next": "",
"assetSourceName": "noprotocol"
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
campaignId | string | Mandatory | path | ID of the campaign created under a given user account on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/113087
Sample Response
xxxxxxxxxx
{
"lastUpdate": "2018-04-19 10:51:38.0",
"assetMap": [
{
"assetId": "asset101.lib_bg_trusted_care",
"assetSourceId": 2014708,
"assetSourceColumn": "image"
}
],
"decisionMap": [
{
"assetSourceId": "2014708",
"dataSignalService": "tagVarService",
"dataSignalProperty": "DataSignal1"
},
. . .
],
"decisionGraph": {
"defaultCreativeMaster": null,
"rulePriority": null,
"segments": []
},
"defaultURL": "http://kleenex.com",
"campaignName": "Ad to create campaign via api-1",
"creationDate": "2018-02-27 22:37:49.0",
"ad": {
"adId": 17643,
"title": "Ad to create campaign via api",
"dynamic": true
},
"campaignId": 17613
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
objId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
GET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252/labels
Sample Response
xxxxxxxxxx
{
"labels": [
"label15",
"label16",
. . .
],
"previous": "",
"next": ""
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
objId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/791/asset-sources/13/labels/
Request Body
xxxxxxxxxx
{
"label": "newlabel2"
}
Sample Response
xxxxxxxxxx
{
"msg": "Label created successfully."
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
objId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
DELETE http://demo.stub.api.jivox.com/v2/accounts/791/asset-sources/13/labels/
Request Body
xxxxxxxxxx
{
"label": "newlabel2"
}
Sample Response
HTTP status code as 200 OK with no response body is returned.
Feed asset sources are created in two steps.
Step1 - /feed/process
has to be called first. It generates and returns the metadata which is required for creating the feed asset source.
Step 2 -/feed
will expect metadata generated by the first endpoint to create the actual asset source.
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feed/process
Request Body
{
url string
urlConfig {
description:
See request model for feed POST.
}
customCode string
firstRowIsHeader boolean
urlType string
Enum:
[ https, http, s3, ftp, sftp ]
characterEncoding string
Enum:
[ UTF_8, iso_8859_1, CP1252, utf_16le ]
csvSeparator string
Enum:
[ comma, tab, pipe, auto ]
contentType string
Enum:
[ xml, json, csv ]
cdp boolean
fileId string
}
Sample Response
xxxxxxxxxx
{
config {
rootIsObject boolean
rowXPath string
xpathMap {
}
csvColumns {
}
memPerRow integer
estRowsPerChunk integer
oneRowPerObject boolean
rootIsArray boolean
cdp boolean
fileId string
cdpXpathMap {
}
}
sample {
description:
Sample feed data in the format:
(col1 -> [val1, val2, val3],
col2 -> [val4, val5, val6])
}
cdpLogs [string]
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feed
Request Body
xxxxxxxxxx
{
url string
urlConfig {
oneOf ->
{
description:
For urlType http/https
additionalParams string
httpMethod string
Enum:
[ GET, POST ]
username string
password string
}
{
description:
For urlType ftp
username string
password string
}
{
description:
For urlType s3
accessKey string
secretKey string
}
{
description:
For urlType sftp
portNumber integer
privateKey string
username string
password string
}
}
customCode string
firstRowIsHeader boolean
urlType string
Enum:
[ https, http, s3, ftp, sftp ]
assetVariantColumn string
characterEncoding string
Enum:
[ UTF_8, iso_8859_1, CP1252, utf_16le ]
assetSourceName string
reportingColumn string
rotationWeightColumn string
startTime string
Must be of format hh:mm
assetKeyColumn string
feedConfig {
rootIsObject boolean
rowXPath string
xpathMap {
}
csvColumns {
}
memPerRow integer
estRowsPerChunk integer
oneRowPerObject boolean
rootIsArray boolean
cdp boolean
fileId string
cdpXpathMap {
}
}
csvSeparator string
Enum:
[ comma, tab, pipe, auto ]
assetGroupColumn string
columnNames [string]
contentType string
Enum:
[ xml, json, csv ]
cdp boolean
endDate string
Must be of format yyyy-mm-dd
isScheduled boolean
frequency string
}
Sample Response
xxxxxxxxxx
{
id string
msg string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
destAssetSourceId | string | Mandatory | path | ID of the destination asset source. It updates details for the asset-source referenced by destAssetSourceId |
Sample Request
xxxxxxxxxx
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:destAssetSourceId/after-effects
Request Body
xxxxxxxxxx
{
campaignId string
destinationAssetSourceName string
assetSourceMap [{
assetId string
assetSourceColumn string
}]
}
Sample Response
xxxxxxxxxx
{
destinationAssetSourceId string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline
Request Body
xxxxxxxxxx
{
assetVariantColumn string
assetSourceName string
reportingColumn string
rotationWeightColumn string
assetKeyColumn string
assetGroupColumn string
columnNames [string]
contentType string
data [{
}]
}
Sample Response
xxxxxxxxxx
{
id string
msg string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
sourceAssetSourceId | string | Mandatory | path | ID of the source asset source. It updates details for the asset-source referenced by sourceAssetSourceId |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:sourceAssetSourceId/recommendation
Request Body
xxxxxxxxxx
{
updateFrequency integer
recommendationConfig {
type string
Enum:
[ content, collaborative, hybrid ]
maxRecommendations integer
cookieGroup string
Applicable only for type collaborative or hybrid
recommendationMap [
Applicable only for type content or hybrid
{
assetSourceColumn string
dataType string
Enum:
[ string, numeric ]
priority integer
An integer between 1 and 10. Applicable only for dataType string
acceptedRange integer
Applicable only for dataType numeric
}]
}
}
Sample Response
xxxxxxxxxx
{
id string
msg string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxx
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/remote
Request Body
xxxxxxxxxx
{
url string
additionalParams string
assetVariantColumn string
assetSourceName string
httpMethod string
reportingColumn string
rotationWeightColumn string
assetKeyColumn string
cacheTime integer
assetGroupColumn string
columnNames [string]
contentType string
}
Sample Response
xxxxxxxxxx
{
id string
msg string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
assetSourceId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feed/:assetSourceId
Request Body
xxxxxxxxxx
{
url string
urlConfig
{
oneOf ->
{
description:
For urlType http/https
additionalParams string
httpMethod string
Enum:
[ GET, POST ]
username string
password string
}
{
description:
For urlType ftp
username string
password string
}
{
description:
For urlType s3
accessKey string
secretKey string
}
{
description:
For urlType sftp
portNumber integer
privateKey string
username string
password string
}
}
customCode string
firstRowIsHeader boolean
urlType string
Enum:
[ https, http, s3, ftp, sftp ]
assetVariantColumn string
characterEncoding string
Enum:
[ UTF_8, iso_8859_1, CP1252, utf_16le ]
assetSourceName string
reportingColumn string
rotationWeightColumn string
startTime string
Must be of format hh:mm
assetKeyColumn string
feedConfig {
rootIsObject boolean
rowXPath string
xpathMap {
}
csvColumns {
}
memPerRow integer
estRowsPerChunk integer
oneRowPerObject boolean
rootIsArray boolean
cdp boolean
fileId string
cdpXpathMap {
}
}
csvSeparator string
Enum:
[ comma, tab, pipe, auto ]
assetGroupColumn string
columnNames [string]
contentType string
Enum:
[ xml, json, csv ]
cdp boolean
endDate string
Must be of format yyyy-mm-dd
isScheduled boolean
frequency string
}
Sample Response
xxxxxxxxxx
{
msg string
id string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
assetSourceId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline/:assetSourceId
xxxxxxxxxx
PATCH http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline/:assetSourceId
Request Body
xxxxxxxxxx
{
assetVariantColumn string
assetSourceName string
reportingColumn string
rotationWeightColumn string
assetKeyColumn string
assetGroupColumn string
columnNames [string]
contentType string
data [{
}]
}
Sample Response
xxxxxxxxxx
{
msg string
id string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
sourceAssetSourceId | string | Mandatory | ID of the source asset source. It updates details for the asset-source referenced by *sourceAssetSourceId * | |
assetSourceId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:sourceAssetSourceId/recommendation/:assetSourceId
Request Body
xxxxxxxxxx
{
updateFrequency integer
recommendationConfig {
type string
Enum:
[ content, collaborative, hybrid ]
maxRecommendations integer
cookieGroup string
Applicable only for type collaborative or hybrid
recommendationMap [
Applicable only for type content or hybrid
{
assetSourceColumn string
dataType string
Enum:
[ string, numeric ]
priority integer
An integer between 1 and 10. Applicable only for dataType string
acceptedRange integer
Applicable only for dataType numeric
}]
}
}
Sample Response
xxxxxxxxxx
{
id string
msg string
}
Parameters
Name | Data Type | Requirement | Parameter Type | Description |
---|---|---|---|---|
accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
assetSourceId | string | Mandatory | path | ID of the asset source under a given user account on the platform. |
Sample Request
xxxxxxxxxx
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/remote/:assetSourceId
Request Body
xxxxxxxxxx
{
url string
additionalParams string
assetVariantColumn string
assetSourceName string
httpMethod string
reportingColumn string
rotationWeightColumn string
assetKeyColumn string
cacheTime integer
assetGroupColumn string
columnNames [string]
contentType string
}
*Sample Response *
xxxxxxxxxx
{
id string
msg string
}
Update Asset Source from Adobe After Effects Assets