How you do a Campaign Setup
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.
Methods
| 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. |
Create Campaign
Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
POST http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/Request Body
{ "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
{ "campaignId": "124590", "msg": "Campaign created successfully"}List Campaigns
Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
GET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/Sample Response
{ "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": ""}List Data Signals
Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
GET http://demo.stub.api.jivox.com/v2/accounts/1234/data-signalsSample Response
{ "dataSignals": [ { "dataSignalId": 1, "dataSignalName": "Geography", "dataSignalProperties": [ { "propertyId": "city", "propertyName": "City", "operators": [ "EQUALS", "IN" ] }, { "propertyId": "state", "propertyName": "State", "operators": [ "EQUALS", "IN" ] }, . . . ], "previous": "", "next": ""}Delete Campaign
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
GET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/124590Sample Response
HTTP status code as 200 OK with no response body is returned.
List Asset Sources
Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
GET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/Sample Response
{ "assetSources": [ { "assetSourceId": 2014708, "assetSourceName": "browser-db-defau" }, ], . . . "previous": "", "next": ""}Get Asset Sources Detail
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
GET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252Sample Response
{ "assetKeyColumn": "Key", "rotationWeightColumn": null, "assetGroupColumn": null, "assetVariantColumn": "Asset", "assetSourceColumns": [ "Key", "File URL", "Text", "Asset" ], "assetSourceId": "2014710", "reportingColumn": null, "assetSourceType": "uploaded", "assetSourceName": "noprotocol"}Get Asset Sources Data
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
GEThttp://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252/dataSample Response
{ "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"}Get Campaign Data
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
GET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/113087Sample Response
{ "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}Get Asset Source Label
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
GET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252/labelsSample Response
{ "labels": [ "label15", "label16", . . . ], "previous": "", "next": ""}Create Asset Source Labels
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
POST http://demo.stub.api.jivox.com/v2/accounts/791/asset-sources/13/labels/Request Body
{ "label": "newlabel2" }Sample Response
{ "msg": "Label created successfully."}Delete Asset Source Labels
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
DELETE http://demo.stub.api.jivox.com/v2/accounts/791/asset-sources/13/labels/Request Body
{ "label": "newlabel2" }Sample Response
HTTP status code as 200 OK with no response body is returned.
Feed Asset Source
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.
Create Feed Asset Source - /feed/process
Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feed/processRequest Body
{url stringurlConfig {description: See request model for feed POST.}customCode stringfirstRowIsHeader booleanurlType stringEnum:[ https, http, s3, ftp, sftp ]characterEncoding stringEnum:[ UTF_8, iso_8859_1, CP1252, utf_16le ]csvSeparator stringEnum:[ comma, tab, pipe, auto ]contentType stringEnum:[ xml, json, csv ]cdp booleanfileId string}Sample Response
{config {rootIsObject booleanrowXPath stringxpathMap {}csvColumns {}memPerRow integerestRowsPerChunk integeroneRowPerObject booleanrootIsArray booleancdp booleanfileId stringcdpXpathMap {}}sample {description: Sample feed data in the format:(col1 -> [val1, val2, val3], col2 -> [val4, val5, val6])}cdpLogs [string]}Create Feed Asset Source - /feed
Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feedRequest Body
{url stringurlConfig {oneOf -> {description: For urlType http/httpsadditionalParams stringhttpMethod stringEnum:[ GET, POST ]username stringpassword string}{description: For urlType ftpusername stringpassword string}{description: For urlType s3accessKey stringsecretKey string}{description: For urlType sftpportNumber integerprivateKey stringusername stringpassword string}}customCode stringfirstRowIsHeader booleanurlType stringEnum:[ https, http, s3, ftp, sftp ]assetVariantColumn stringcharacterEncoding stringEnum:[ UTF_8, iso_8859_1, CP1252, utf_16le ]assetSourceName stringreportingColumn stringrotationWeightColumn stringstartTime stringMust be of format hh:mmassetKeyColumn stringfeedConfig {rootIsObject booleanrowXPath stringxpathMap {}csvColumns {}memPerRow integerestRowsPerChunk integeroneRowPerObject booleanrootIsArray booleancdp booleanfileId stringcdpXpathMap {}}csvSeparator stringEnum:[ comma, tab, pipe, auto ]assetGroupColumn stringcolumnNames [string]contentType stringEnum:[ xml, json, csv ]cdp booleanendDate stringMust be of format yyyy-mm-ddisScheduled booleanfrequency string}Sample Response
{id stringmsg string}Create Asset Source from Adobe After Effects Assets
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
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:destAssetSourceId/after-effectsRequest Body
{campaignId stringdestinationAssetSourceName stringassetSourceMap [{assetId stringassetSourceColumn string}]}Sample Response
{destinationAssetSourceId string}Create Inline 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
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inlineRequest Body
{assetVariantColumn stringassetSourceName stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringassetGroupColumn stringcolumnNames [string]contentType stringdata [{}]}Sample Response
{id stringmsg string}Create Recommendation Asset Source
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
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:sourceAssetSourceId/recommendationRequest Body
{updateFrequency integerrecommendationConfig {type stringEnum:[ content, collaborative, hybrid ]maxRecommendations integercookieGroup string Applicable only for type collaborative or hybridrecommendationMap [ Applicable only for type content or hybrid{assetSourceColumn stringdataType stringEnum:[ string, numeric ]priority integer An integer between 1 and 10. Applicable only for dataType stringacceptedRange integer Applicable only for dataType numeric}]}}Sample Response
{id stringmsg string}Create Remote 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
POST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/remoteRequest Body
{url stringadditionalParams stringassetVariantColumn stringassetSourceName stringhttpMethod stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringcacheTime integerassetGroupColumn stringcolumnNames [string]contentType string}Sample Response
{id stringmsg string}Update Feed Asset Source
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
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feed/:assetSourceIdRequest Body
{url stringurlConfig {oneOf -> { description: For urlType http/httpsadditionalParams stringhttpMethod stringEnum:[ GET, POST ]username stringpassword string}{description: For urlType ftpusername stringpassword string}{description: For urlType s3accessKey stringsecretKey string}{description: For urlType sftpportNumber integerprivateKey stringusername stringpassword string}}customCode stringfirstRowIsHeader booleanurlType stringEnum:[ https, http, s3, ftp, sftp ]assetVariantColumn stringcharacterEncoding stringEnum:[ UTF_8, iso_8859_1, CP1252, utf_16le ]assetSourceName stringreportingColumn stringrotationWeightColumn stringstartTime stringMust be of format hh:mmassetKeyColumn stringfeedConfig {rootIsObject booleanrowXPath stringxpathMap {}csvColumns {}memPerRow integerestRowsPerChunk integeroneRowPerObject booleanrootIsArray booleancdp booleanfileId stringcdpXpathMap {}}csvSeparator stringEnum:[ comma, tab, pipe, auto ]assetGroupColumn stringcolumnNames [string]contentType stringEnum:[ xml, json, csv ]cdp booleanendDate stringMust be of format yyyy-mm-ddisScheduled booleanfrequency string}Sample Response
{msg stringid string}Update Inline Asset Source
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
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline/:assetSourceIdPATCH http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline/:assetSourceIdRequest Body
{assetVariantColumn stringassetSourceName stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringassetGroupColumn stringcolumnNames [string]contentType stringdata [{}]}Sample Response
{msg stringid string}Update Recommendation Asset Source
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
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:sourceAssetSourceId/recommendation/:assetSourceIdRequest Body
{updateFrequency integerrecommendationConfig {type stringEnum: [ content, collaborative, hybrid ]maxRecommendations integercookieGroup string Applicable only for type collaborative or hybridrecommendationMap [ Applicable only for type content or hybrid{assetSourceColumn stringdataType stringEnum: [ string, numeric ]priority integer An integer between 1 and 10. Applicable only for dataType stringacceptedRange integer Applicable only for dataType numeric}]}}Sample Response
{id stringmsg string}Update Remote Asset Source
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
PUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/remote/:assetSourceIdRequest Body
{url stringadditionalParams stringassetVariantColumn stringassetSourceName stringhttpMethod stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringcacheTime integerassetGroupColumn stringcolumnNames [string]contentType string}Sample Response
{id stringmsg string}Update Asset Source from Adobe After Effects Assets
Update Asset Source from Adobe After Effects Assets