Page tree
Skip to end of metadata
Go to start of metadata

New Name: Marketing Cloud Personalization

Interaction Studio (formerly Evergage) is now known as Marketing Cloud Personalization. The new name reflects our mission and vision for innovation in Salesforce Marketing Cloud. We wish we could snap our fingers to update the name everywhere, but you can expect to see the previous name in various places until we replace it.

User and Account segments can be securely retrieved from Interaction Studio using the REST - JSON API. Data including engagement score and change, customer attributes and activity can be exported for use in other systems. 

This Article Explains

This section details how to export customer data for use in other systems.

Sections in this Article

Contract Entitlements

Use of the Account or User Export API is counted against any Salesforce contract entitlements.

User Export API 


API Endpoints for users and accounts are available in JSON and CSV format. 

Users:

   https://[account].evergage.com/api/dataset/[dataset]/users.[ json | csv ]

   e.g. https://companyname.evergage.com/api/dataset/engage/users.json


Accounts:

https://[account].evergage.com/api/dataset/[dataset]/accounts.[ json | csv ]

  e.g. https://companyname.evergage.com/api/dataset/engage/accounts.json

Request Parameters

Legacy API Tokens (and the _at query string parameter will stop working on June 1, 2020. You can find migration instructions on the API Tokens page.

ParameterDescriptionRequired
_at
(deprecated) API Token (Required). Account administrators can create an API Token for use in authenticating API requests.
True
filter
Optional Segment name or ID

startOptional start time in epoch milliseconds used for engagement statistics
endOptional end time in epoch milliseconds used for engagement statistics
segmentationIdOptional segmentation identifier
segmentIdOptional segment identifier
pageSizeThe number of records to return (defaults to all records)
pageThe page number of records to show. Starting at zero for the first page. (defaults to zero)
includeGeoOptional set as True to include user location details (User export only)

Request Authorization

Authorize requests by placing your API token's API Key ID and API Key Secret in the HTTP Authorization header using Basic encoding (see code sample below).

Response


User Retrieval Data Example:
GET https://example.evergage.com/api/dataset/test/users.json
[
  {
    "name": "john.doe@example.com",
    "engagementScore": 0.012,
    "engagementPercentChange": 0.002,
    "firstActivity": 1358957180647,
    "lastActivity": 1359066698647,
    "totalActions": 0,
    "attributes": {},
    "accountName": "Acme, Inc.",
    "displayName": "John Doe",
    "segments": []
  }
]

Account Retrieval Example:
 
GET https://example.evergage.com/api/dataset/test/accounts.json
[
  {
    "name": "Acme, Inc.",
    "engagementScore": 0.546,
    "engagementPercentChange": -0.138,
    "firstActivity": 1358640000000,
    "lastActivity": 1360195200000,
    "totalActions": 51,
    "accountStatus": "premium",
    "attributes": {},
    "accountName": "Acme, Inc.",
    "activeUsers": 3,
    "segments": []
  }
]

 Code Example

User Retrieval Code Sample (NodeJS Basic)
var https = require('https');
var fs = require('fs');

function fetchEvergageData(accountId, datasetId, apiKeyId, apiKeySecret) {
  var authorizationString = btoa(apiKeyId + ":" + apiKeySecret);
  
  var options = {
    method: 'GET'
    hostname: accountId + '.evergage.com'
    port: 443
    path: '/api/dataset/' + datasetId + '/users.json'
    headers: {
      'Authorization': 'Basic ' + authorizationString
    };

    var req = https.request(options, function (res) {
    var chunks = [];

    res.on("data", function (chunk) {
      chunks.push(chunk);
    });

    res.on("end", function (chunk) {
      var body = Buffer.concat(chunks);
      console.log(body.toString());
    });

    res.on("error", function (error) {
      console.error(error);
    });
  });

  req.end();
}

When exporting a large number of users, it is possible to see multiple records for the same user. This can happen if the user is updated immediately before or during the download. The record appearing last in the export is always the most current.