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
xxxxxxxxxxPOST 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
xxxxxxxxxxGET 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
xxxxxxxxxxGET http://demo.stub.api.jivox.com/v2/accounts/1234/data-signalsSample 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
xxxxxxxxxxGET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/124590Sample 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
xxxxxxxxxxGET 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
xxxxxxxxxxGET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252Sample 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
xxxxxxxxxxGEThttp://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252/dataSample 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
xxxxxxxxxxGET http://demo.stub.api.jivox.com/v2/accounts/1234/campaigns/113087Sample 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
xxxxxxxxxxGET http://demo.stub.api.jivox.com/v2/accounts/1234/asset-sources/2014252/labelsSample 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
xxxxxxxxxxPOST 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
xxxxxxxxxxDELETE 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
xxxxxxxxxxPOST 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
xxxxxxxxxx{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]}Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxxPOST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feedRequest Body
xxxxxxxxxx{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
xxxxxxxxxx{id stringmsg 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
xxxxxxxxxxPUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:destAssetSourceId/after-effectsRequest Body
xxxxxxxxxx{campaignId stringdestinationAssetSourceName stringassetSourceMap [{assetId stringassetSourceColumn 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
xxxxxxxxxxPOST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inlineRequest Body
xxxxxxxxxx{assetVariantColumn stringassetSourceName stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringassetGroupColumn stringcolumnNames [string]contentType stringdata [{}]}Sample Response
xxxxxxxxxx{id stringmsg 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
xxxxxxxxxxPOST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:sourceAssetSourceId/recommendationRequest Body
xxxxxxxxxx{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
xxxxxxxxxx{id stringmsg string}Parameters
| Name | Data Type | Requirement | Parameter Type | Description |
|---|---|---|---|---|
| accountId | string | Mandatory | path | ID of the advertiser account created on the platform. |
Sample Request
xxxxxxxxxxPOST http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/remoteRequest Body
xxxxxxxxxx{url stringadditionalParams stringassetVariantColumn stringassetSourceName stringhttpMethod stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringcacheTime integerassetGroupColumn stringcolumnNames [string]contentType string}Sample Response
xxxxxxxxxx{id stringmsg 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
xxxxxxxxxxPUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/feed/:assetSourceIdRequest Body
xxxxxxxxxx{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
xxxxxxxxxx{msg stringid 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
xxxxxxxxxxPUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline/:assetSourceIdxxxxxxxxxxPATCH http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/inline/:assetSourceIdRequest Body
xxxxxxxxxx{assetVariantColumn stringassetSourceName stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringassetGroupColumn stringcolumnNames [string]contentType stringdata [{}]}Sample Response
xxxxxxxxxx{msg stringid 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
xxxxxxxxxxPUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/:sourceAssetSourceId/recommendation/:assetSourceIdRequest Body
xxxxxxxxxx{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
xxxxxxxxxx{id stringmsg 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
xxxxxxxxxxPUT http://demo.stub.api.jivox.com/v2/accounts/:accountId/asset-sources/remote/:assetSourceIdRequest Body
xxxxxxxxxx{url stringadditionalParams stringassetVariantColumn stringassetSourceName stringhttpMethod stringreportingColumn stringrotationWeightColumn stringassetKeyColumn stringcacheTime integerassetGroupColumn stringcolumnNames [string]contentType string}Sample Response
xxxxxxxxxx{id stringmsg string}Update Asset Source from Adobe After Effects Assets