Adikteev offers a dashboard where you can monitor your campaign metrics. If you prefer to use your own reporting dashboard, you can pull the campaign data from our Reporting API into your system.
Credentials
First, ask your Adikteev Account Manager to provide you client credentials, attached to your company, to access our reporting dashboard.
You will need to provide a valid email address, and you will receive a confidential password in return.
API Authentication
Public API uses OAUTH2 protocol for authentication. To get your API access token, you must make a POST request to the token delivery endpoint :
Route
https://public-api.adikteev.com/token
Mandatory Header
authorization: Basic cmVwb3J0aW5nX2Rhc2hib2FyZDo=
Request Body
Email and password must be replaced with your actual credentials from the previous step
username={your_email}&password={your_password}&grant_type=password
If your email and password are recognized, you will receive a JSON response containing a token valid for 30 days.
curl \
-H 'authorization: Basic cmVwb3J0aW5nX2Rhc2hib2FyZDo=' \
--data 'username=hello@adikteev.com&password=mypassword&grant_type=password' \
-X POST 'https://public-api.adikteev.com/token'
Sample Response
{
"access_token": "123456789",
"token_type: "bearer",
"expires_in: 2592000
}
Reporting API Endpoint
Only HTTP GET requests properly authenticated will return valid status code and data. Data is always returned in JSON format.
Base Endpoint
https://public-api.adikteev.com
Mandatory Header
authorization: Bearer {your_access_token}
Optional Header
'Accept-Encoding: gzip' if you wish to enable gzip compression for data responses.
curl -H 'authorization: Bearer 123456789' 'https://public-api.adikteev.com/profile'
All requests will timeout after 7 minutes.
Available Routes
/profile
Query parameters required: None
Variables in response:
- company_id (integer) : ID of the client company
{
"id": 123,
"email": "your_email",
"role": "client",
"company_id": 789
}
/apps
Query parameters required:
- company_id (integer) : ID of the client company returned by the profile route
Variables in response:
- name (string) : application name
- bundle_identifier (string) : iOS / Android identifier of the application
- app_store_id (string) : Apple App Store ID (null for Android applications)
- platform (string) : either "android" or "ios"
[
{
"id": 1928,
"name": "My Awesome App - iOS",
"bundle_identifier: "com.myawesomeapp.iphone",
"platform": "ios",
"company_id": 789,
"app_store_id": "123456789"
},
{
"id": 9182,
"name": "My Awesome App - Android",
"bundle_identifier: "com.myawesomeapp.android",
"platform": "android",
"company_id": 789,
"app_store_id": null
}
]
/client_campaigns
Query parameters required:
- app_id (integer) : ID of a client application returned by the app route
Variables in response:
⚠️ The field country_id will be filled only if the campaign is targeting one country. Otherwise, refer to countries.- name : campaign name
- country_id (integer) : country where the campaign is running (reference table)
- platform (integer) : either "ios" or "android"
- countries (array) : array containing the country ids (reference table)
{
"total": 2,
"items": [
{
"id": 18565,
"name": "Campaign 1",
"app_id": 1928,
"country_id": 236,
"platform": "android",
"countries": []
},
{
"id": 18232,
"name": "Campaign 2",
"app_id": 1928,
"country_id": null,
"platform": "android",
"countries": [
40,
236
]
}
]
}
/report/company/daily/client
Query parameters required:
- campaign_ids (integers) : comma-separated IDs of client campaigns returned by the client_campaigns route ( eg. campaign_ids=12345,67890 )
Query parameters optional :
- start_date (date) : start date in UTC of the report in YYYY-MM-DD format (by default 7 days ago)
- end_date (date) : end date in UTC of the report in YYYY-MM-DD format (by default current day)
- currency (string): Default currency is USD. Conversion into EUR, GBP, JPY and KRW are also available (eg. ¤cy=EUR)
Variables in response :
- currency (string) : three-letter code of currency requested for this advertiser (default is USD)
- data (array) : campaign data broken down by day and campaign ID
- date (date) : date in UTC of campaign data
- client_cost (float) : billable amount
- impressions, clicks, installs, reopens (integer) : count of campaign events
-
custom_action (array) : count of in-app events attributed to Adikteev
- name (string) : event name
- amount (integer) : count of events
- total_value (float) : sum of event values if any (for purchases for instance)
NB. The client_cost amount for the current UTC date is only a temporary value. Final billable costs for a given UTC day are available on the next day around 7AM UTC.
{
"start_date": "2017-10-18",
"end_date": "2017-10-19",
"currency": "USD",
"data": [
{
"date": "2017-10-18T00:00:00.000Z",
"campaign_id": 17215,
"campaign_name": "RTG_New_Purchase_15d",
"client_cost": 1225.69,
"clicks": 3064,
"installs": 16,
"reopens": 2900,
"impressions": 42198,
"custom_action": [
{
"name": "event 1",
"amount": 171,
"total_value": 1126.69
},
{
"name": "event 2",
"amount": 5128,
"total_value": 0
}
]
},
{
"date": "2017-10-19T00:00:00.000Z",
"campaign_id": 17215,
"campaign_name": "RTG_New_Purchase_15d",
"client_cost": 1188.8,
"clicks": 2972,
"installs": 11,
"reopens": 1589,
"impressions": 41738,
"custom_action": [
{
"name": "event 1",
"amount": 245,
"total_value": 2365.52
},
{
"name": "event 2",
"amount": 4634,
"total_value": 0
}
]
}
]
}
/report/company/country/daily/client
This route has the same query and response parameters as the /report/company/daily/client but it adds a level of breakdown per country (identified by the field country).
Countries are identified by their official alpha-2 code.
Sample Response
{ "start_date": "2017-10-20", "end_date": "2017-10-20", "currency": "USD", "data": [ { "date": "2017-10-20T00:00:00.000Z", "campaign_id": 17215, "campaign_name": "RTG_New_Purchase_15d", "country": "US",
"country_id":236, "client_cost": 1225.69, "clicks": 3064, "installs": 16, "reopens": 2900, "impressions": 42198, "custom_action": [ { "name": "event 1", "amount": 140, "total_value": 1126.69 }, { "name": "event 2", "amount": 5128, "total_value": 0 } ] }, { "date": "2017-10-20T00:00:00.000Z", "campaign_id": 17215, "campaign_name": "RTG_New_Purchase_15d", "country": "FR",
"country_id":76, "client_cost": 1188.8, "clicks": 2972, "installs": 11, "reopens": 1589, "impressions": 41738, "custom_action": [ { "name": "event 1", "amount": 245, "total_value": 2365.52 }, { "name": "event 2", "amount": 4634, "total_value": 0 } ] } ] }
/report/company/creative/daily/client
This route has the same query and response parameters as the /report/company/daily/client but it adds a level of breakdown per creative (identified by the fields creative_id, creative_name and creative_url)
{
"start_date": "2017-10-20",
"end_date": "2017-10-20",
"currency": "USD",
"data": [
{
"date": "2017-10-20T00:00:00.000Z",
"campaign_id": 17215,
"campaign_name": "RTG_New_Purchase_15d",
"creative_id": 147852369,
"creative_name": "PrivateSale_Playable_320x480",
"creative_url": "https://cdn-creatives.adikteev.com/147852369/creative.png",
"creative_group_id": 152382,
"creative_group_name": "PrivateSale_Playable",
"client_cost": 1225.69,
"clicks": 3064,
"installs": 16,
"reopens": 2900,
"impressions": 42198,
"custom_action": [
{
"name": "event 1",
"amount": 140,
"total_value": 1126.69
},
{
"name": "event 2",
"amount": 5128,
"total_value": 0
}
]
},
{
"date": "2017-10-20T00:00:00.000Z",
"campaign_id": 17215,
"campaign_name": "RTG_New_Purchase_15d",
"creative_id": 987654321,
"creative_name": "PrivateSale_Video_Infeed",
"creative_url": "https://cdn-creatives.adikteev.com/987654321/video_asset.mp4",
"creative_group_id": 152383,
"creative_group_name": "PrivateSale_Video",
"client_cost": 1188.8,
"clicks": 2972,
"installs": 11,
"reopens": 1589,
"impressions": 41738,
"custom_action": [
{
"name": "event 1",
"amount": 245,
"total_value": 2365.52
},
{
"name": "event 2",
"amount": 4634,
"total_value": 0
}
]
}
]
}
/report/company/creative-country/daily/client
This route has the same query and response parameters as the /report/company/daily/client but it adds a level of breakdown per creative and country (identified by the fields creative_id, country)
{ "start_date": "2017-10-20", "end_date": "2017-10-20", "currency": "USD", "data": [ { "date": "2017-10-20T00:00:00.000Z", "campaign_id": 17215, "campaign_name": "RTG_New_Purchase_15d", "creative_id": 147852369, "creative_name": "PrivateSale_Playable_320x480", "creative_url": "https://cdn-creatives.adikteev.com/147852369/creative.png", "creative_group_id": 152382, "creative_group_name": "PrivateSale_Playable", "country": "US", "country_id": 236, "client_cost": 1225.69, "clicks": 3064, "installs": 16, "reopens": 2900, "impressions": 42198, "custom_action": [ { "name": "event 1", "amount": 140, "total_value": 1126.69 }, { "name": "event 2", "amount": 5128, "total_value": 0 } ] }, { "date": "2017-10-20T00:00:00.000Z", "campaign_id": 17215, "campaign_name": "RTG_New_Purchase_15d", "creative_id": 987654321, "creative_name": "PrivateSale_Video_Infeed", "creative_url": "https://cdn-creatives.adikteev.com/987654321/video_asset.mp4", "creative_group_id": 152383, "creative_group_name": "PrivateSale_Video", "country": "FR", "country_id": 76, "client_cost": 1188.8, "clicks": 2972, "installs": 11, "reopens": 1589, "impressions": 41738, "custom_action": [ { "name": "event 1", "amount": 245, "total_value": 2365.52 }, { "name": "event 2", "amount": 4634, "total_value": 0 } ] } ] }