This article relates to the DT Exchange Rest API. This API allows you to receive a breakdown of performance data by Apps, Placements and other dimensions.
Authentication
Set out below are the details of how to obtain the required credentials for authentication for the DT Exchange Rest API.
Obtaining OAuth Credentials
To secure your information, Digital Turbine uses the OAuth1.0 authentication protocol and two-legged OAuth. Using two-legged OAuth, there is no need for an access token. Instead, just add the consumer key and consumer secret to your OAuth client and execute your request. For more information, click here.
Obtaining the Reporting API Keys
To obtain the Publisher ID, Consumer Key and Consumer Secret:
- Click the login details on the top-left of the screen
- Click User Profile
- The User Profile window opens.
The Publisher ID, Consumer Key and Consumer Secret are displayed at the bottom of the window.
Sample API Request
The following parameters must be included in the API Request.
Enpoint
https://revenuedesk.fyber.com/iamp/services/performance/{{publisherId}}/vamp/{{startDateEpoch}}/{{endDateEpoch}}?
Required Headers
Content-type=application/json
Accept=application/json
Response
The data returned is per Placement.
The response itself is first broken down to Apps and Placements, with the various response parameters.
A publisher can have a certain number of apps and each app with a different number of Placements.
The API Response is structured so that each parameter is placed under its parent. The top level information is the Publisher ID. Under the Publisher ID is App ID followed by the Placement ID for each App.
The 'Units' object contains all the requested parameters for each placement such as Country, Content Name, Clicks and CTR etc.
Parameter | Type | Default | Description |
---|---|---|---|
spotId | Number | Null | The ID of the Placement |
date | Unix timestamp | Null | Representing a day in the date range |
country | 2-letter string | Null | 2 letter country code |
publisherId | Number | Null | Your DT Publisher ID |
applicationName | String | Null | Human-readable app name as entered in the Create App form |
[LEGACY]contentId | Number | Null | Numeric ID of the Ad Unit (aka Ad Unit ID) |
contentName | String | Null | The AppID from the Console |
distributorName | String | Null | Platform like “iOS” or “Android” |
contentCategories | List | Null | List of category Name & ID |
adRequests | Number | Null | Number of ad requests |
impressions | Number | Null | Number of impressions |
fillRate | Number | Null | The fill rate calculated by Impressions/AdRequests * 100 |
clicks | Number | Null | Number of clicks |
ctr | Number | Null | Click through rate – calculated by click/impressions * 100 |
ecpm | Number | Null | Effective CPM Calculated by Revenue/Impressions * 1000 |
revenue | Number | Null | Amount of revenue |
The API returns the requested data, as follows:
{
"publisherId": 1,
"apps": [
{
"appId": "1",
"spots": [
{
"spotId": "1",
"units": [
{
"date": 1500940800,
"country": "US",
"contentId": 1,
"spotId": "",
"contentName": "Content Name",
"applicationName": "Application Name",
"distributorName": "iPhone",
"contentCategories": [],
"adRequests": 2611,
"impressions": 1,
"fillRate": 0.00038299502106472615,
"clicks": 0,
"ctr": 0,
"ecpm": 0.7,
"revenue": 0.0007
}
]
},
{
"spotId": "2",
"units": [
{
"date": 1500854400,
"country": "RU",
"contentId": 2,
"spotId": "",
"contentName": "Content Name 2",
"applicationName": "Application Name 2",
"distributorName": "iPhone",
"contentCategories": [],
"adRequests": 5,
"impressions": 0,
"fillRate": 0,
"clicks": 0,
"ctr": 0,
"ecpm": 0,
"revenue": 0
}
]
}
]
}
]
}