Download OpenAPI specification:Download
Documentation for ayeT-Studios Advertiser APIs
2024-07-29: v2.10.0
whitelisted_callback_ips
parameter in campaign creation and edit routeswhitelisted_callback_ips
with campaign entitiestracking
endpoint from Advertiser Api2Controller routes2024-07-25: v2.9.2 Deprecated CPC (cost-per-click) campaign types
2024-03-28: v2.9.1 Added landingPage
field to campaignData
object
2024-02-13: v2.9.0 Added tasks
element to campaignData
element of CPE campaigns
2023-07-01: v2.8.0 Added new reporting/country_traffic_analysis
endpoint, updated traffic_analysis example responses.
2022-12-22: v2.7.0 Added a new reporting/countries
endpoint for country-campaign level statistics breakdown.
2022-06-01: v2.6.0 Added campaignIds
parameter to installations
, stats
and traffic_analysis
to query aggregate data for multiple campaigns.
2021-08-25: v2.5.1 Added "costUsd" to traffic_analysis, renamed "meanConversionTime" to "meanConversionTimeMinutes" and corrected its type to "numeric"
2021-07-28: v2.5 Added new reporting endpoint traffic_analysis
2021-03-03: Added new documentation
2019-02-20: v2.4.3 Changes to campaign handling:
2018-01-17: v2.4.2 Added optional startDate and endDate parameters to reporting/stats to filter statistics to a given date range
2018-01-10: v2.4.1 Added "cost" field to reporting/stats to retrieve campaign costs in summary and on a daily basis
2017-12-29: v2.4 Added support for new incent_cpc campaign type (including example in campaign/add documentation)
2017-12-20: v2.3
2017-10-23: v2.2.1 "Error 301 - Invalid country requested" has been removed (non-existing country codes are ignored at campaign creation / update), edit campaign now allows resetting campaign to worldwide targeting by passing "worldwide" or "ZZ" as targetCountries
2017-05-08: v2.2 - Added new campaign types (CPA, Managed CPA, Search / High Retention Search)
2017-03-06: v2.1 - Extended reporting/stats, reporting/summary and reporting/summary_daily with conversion data
2016-06-23: Initial release of APIv2
Our Advertiser API enables our clients to automate most of their workflow.
This includes basic account information and full campaign management which allows tight integration of our services in your own website.
We use a REST API with application/json responses. Most of our examples in this documentation are available in different languages.
The PHP examples rely on mod_curl being enabled.
To obtain your API Key, use your advertiser account credentials to log into our dashboard.
In the sidebar on the left you'll find the menu entry Account Settings with a menu having the subitem API Settings.
This section shows your current API Key and the option to renew it if neccessary.
Retrieves information about the associated account, including available funds.
apiKey required | string Your Advertiser API Key |
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ayetstudios.com/api2/account/details?apiKey=X",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{- "status": "success",
- "accountData": {
- "accountId": 1,
- "email": "adv@ayetstudios.com",
- "runningCampaigns": 10,
- "pendingCampaigns": 1,
- "completedCampaigns": 0,
- "balance": 67.51
}
}
Retrieves information for available bid ranges in USD for both android and ios campaigns and different campaign types
apiKey required | string Your Advertiser API Key |
{- "status": "success",
- "android": {
- "normal": {
- "min": 0.07,
- "max": 5
}, - "retention": {
- "min": 0.14,
- "max": 5
}, - "managed": {
- "min": 0.15,
- "max": 10
}, - "cpa": {
- "min": 0.3,
- "max": 100
}, - "cpa_managed": {
- "min": 0.3,
- "max": 100
}, - "search": {
- "min": 0.12,
- "max": 5
}, - "search_hr": {
- "min": 0.2,
- "max": 5
}
}, - "ios": {
- "normal": {
- "min": 0.15,
- "max": 5
}, - "managed": {
- "min": 0.15,
- "max": 10
}, - "cpa": {
- "min": 0.3,
- "max": 100
}, - "cpa_managed": {
- "min": 0.3,
- "max": 100
}
}
}
This call retrieves possible campaign types, bids and budgets (Android and iOS) for your advertiser account
apiKey required | string Your Advertiser API Key |
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ayetstudios.com/api2/account/rates?apiKey=X",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{- "status": "success",
- "android": {
- "cpi": {
- "minBudget": 1,
- "maxBudget": 5000,
- "minBid": 0.07,
- "maxBid": 5,
- "name": "CPI - Standard"
}, - "cpi_managed": {
- "minBudget": 300,
- "maxBudget": 20000,
- "minBid": 0.15,
- "maxBid": 10,
- "name": "CPI - Managed"
}, - "cpa": {
- "minBudget": 25,
- "maxBudget": 5000,
- "minBid": 0.3,
- "maxBid": 100,
- "name": "CPA - Standard"
}, - "cpa_managed": {
- "minBudget": 300,
- "maxBudget": 20000,
- "minBid": 0.3,
- "maxBid": 100,
- "name": "CPA - Managed"
}, - "cpl": {
- "minBudget": 25,
- "maxBudget": 5000,
- "minBid": 0.3,
- "maxBid": 200,
- "name": "CPL - Standard"
}, - "cpl_managed": {
- "minBudget": 300,
- "maxBudget": 20000,
- "minBid": 0.3,
- "maxBid": 200,
- "name": "CPL - Managed"
}, - "nicpi_managed": {
- "minBudget": 100,
- "maxBudget": 20000,
- "minBid": 0.5,
- "maxBid": 20,
- "name": "Non-Incent CPI - Managed"
}
}, - "ios": {
- "cpi": {
- "minBudget": 1,
- "maxBudget": 1000,
- "minBid": 0.15,
- "maxBid": 5,
- "name": "CPI - Standard"
}, - "cpi_managed": {
- "minBudget": 300,
- "maxBudget": 20000,
- "minBid": 0.15,
- "maxBid": 10,
- "name": "CPI - Managed"
}, - "cpa": {
- "minBudget": 25,
- "maxBudget": 1000,
- "minBid": 0.3,
- "maxBid": 100,
- "name": "CPA - Standard"
}, - "cpa_managed": {
- "minBudget": 300,
- "maxBudget": 20000,
- "minBid": 0.3,
- "maxBid": 100,
- "name": "CPA - Managed"
}, - "cpl": {
- "minBudget": 25,
- "maxBudget": 5000,
- "minBid": 0.3,
- "maxBid": 200,
- "name": "CPL - Standard"
}, - "cpl_managed": {
- "minBudget": 300,
- "maxBudget": 20000,
- "minBid": 0.3,
- "maxBid": 200,
- "name": "CPL - Managed"
}, - "nicpi_managed": {
- "minBudget": 100,
- "maxBudget": 20000,
- "minBid": 0.5,
- "maxBid": 20,
- "name": "Non-Incent CPI - Managed"
}
}, - "web": {
- "custom": {
- "minBudget": 100,
- "maxBudget": 50000,
- "minBid": 0.05,
- "maxBid": 200,
- "bonus": false,
- "name": "Custom Campaign"
}
}
}
Retrieves all campaigns associated with this account.
status | string Example: status=["running","pending","completed","review"] optional, JSON array, if set, only returns campaigns with the given statuses |
identifier | string |
apiKey required | string Your Advertiser API Key |
{- "status": "success",
- "numCampaigns": 1,
- "campaignData": [
- {
- "campaignId": 96,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.chromecast.app",
- "appName": "Google Home",
- "targetCountries": "",
- "totalBudget": 25,
- "remainingBudget": 25,
- "bidPerConversion": 0.5,
- "_totalDownloads": 50,
- "_remainingDownloads": 50,
- "_tokensPerDownload": 5,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "status": "completed",
- "created": "2021-04-01 09:25:14",
- "reservations": 0
}
]
}
Retrieves a specific campaign identified by its unique campaignId.
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be returned |
{- "status": "success",
- "campaignData": {
- "campaignId": 90,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.walletnfcrel",
- "appName": "Google Pay",
- "targetCountries": "",
- "totalBudget": 20,
- "remainingBudget": 20,
- "bidPerConversion": 4,
- "_totalDownloads": 5,
- "_remainingDownloads": 5,
- "_tokensPerDownload": 40,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "whitelistedCallbackIps": "143.21.224.72/23;91.17.119.190/22;45.165.206.98/32",
- "status": "running",
- "created": "2021-03-12 16:55:25",
- "reservations": 0
}
}
Creates a new campaign for a free Google Play or iOS app.
apiKey required | string Your Advertiser API Key |
platform required | string Enum: "android" "ios" Example: platform=android |
applicationUrl required | string Example: applicationUrl=com.example package name of the app, iTunes App Id or link to Google Play / iTunes |
campaignType | string Default: "cpi" Enum: "cpi" "cpi_managed" "cpa" "cpa_managed" "nicpi_managed" Example: campaignType=cpi |
budget required | number Example: budget=5 in USD, 1-5000 for normal and high retention, 500-20000 for managed campaigns |
bid | number in USD |
bid | string Enum: "min" "max" Example: bid=min "min" / "max" if you want to set the min/max available bid per conversion |
targetCountries | Array of strings Items Enum: "ZZ" "US" "GB" "CA" "AU" "DE" "FR" "IT" "ES" "NL" "MX" "IN" "VN" "JP" "RU" "PL" "MY" "AT" "BR" "PH" "ID" "CO" "CZ" "RO" "HK" "GR" "BG" "TR" "KR" "PT" "UA" "HU" "TH" "VE" "CH" "SA" "SG" "TW" "MA" "CL" Example: targetCountries=CA,US,GB,DE comma-seperated list of countries to target (ISO 3166-1 alpha-2) |
downloadRate | integer [ 10 .. 1000000 ] Example: downloadRate=300 maximum number of downloads per day |
status | string Default: "pending" Enum: "pending" "running" Example: status=running initial status |
identifier | string Example: identifier=customer1 an arbitary string which can be used to identify a customers campaign later |
trackingProvider | string Example: trackingProvider=custom_s2s "custom_s2s" or the id of the tracking provider to use [see "account/tracking"] |
redirectUrl | string required whenever trackingProvider is set, represents the redirect URL containing a {click_id} parameter |
eventName | string "cpa" and "cpa_managed" only, the name of the event that triggers a successful conversion |
eventConversionTime | integer "cpa" and "cpa_managed" only, the average conversion time for users to complete the required action / trigger the event |
eventDescription | string >= 20 characters "cpa" and "cpa_managed" only, the user conversion flow to complete the cpa offer |
whitelistedCallbackIps | string Example: whitelistedCallbackIps=143.21.224.72/23;91.17.119.190/22;45.165.206.98/32 Semicolon-separated list of IP ranges (CIDR notation) for whitelisted callback IPs |
<?php
$apikey = 'X'; // TODO: Replace with your API key
// Android Campaign:
$campaign = [
'platform' => 'android',
'applicationUrl' => 'org.mozilla.firefox',
'campaignType' => 'cpi',
'budget' => '5',
'bid' => 'min',
'targetCountries' => 'US,DE,GB,CA', // optional, default is worldwide
'downloadRate' => '300', // optional, default is 1000000
'status' => 'running', // optional, default is 'pending',
'identifier' => 'customer1', // optional, we set this to customer1 and can later filter our "get" commands
];
// iOS Campaign:
$campaign = [
'platform' => 'ios',
'campaignType' => 'cpi',
'applicationUrl' => 'https://itunes.apple.com/de/app/clash-of-clans/id529479190?mt=8',
'budget' => 5,
'bid' => '0.2',
'targetCountries' => 'US, DE, GB, CA', // optional, default is worldwide
'downloadRate' => 300, // optional, default is 1000000
'status' => 'running' , // optional, default is 'pending',
'trackingProvider' => 'appsflyer',
'redirectUrl' => 'https://app.appsflyer.com/529479190?pid=mycompany_int&clickid={click_id}' // the appsflyer tracking url for this campaign
'whitelistedCallbackIps' => '143.21.224.72/23;91.17.119.190/22;45.165.206.98' // optional semicolon-separated list of IP addresses to whitelist for callbacks, when left empty any callback ip is permitted
];
// CPA Campaign
$campaign = [
'platform' => 'android',
'campaignType' => 'cpa',
'applicationUrl' => 'com.example',
'budget' => 30,
'bid' => 'min',
'targetCountries' => 'US, DE, GB, CA', // optional, default is worldwide
'status' => 'running' , // optional, default is 'pending',
'eventName' => 'login',
'eventConversionTime' => 10,
'eventDescription' => 'The user has to install the app and login using his facebook or google account',
'trackingProvider' => 'tracking_sdk', // we chose our free tracking sdk since it's the easiest option especially for CPA campaigns
'identifier' => 'customer1' // optional, we set this to customer1 and can later filter our "get" commands
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ayetstudios.com/api2/campaign/add?apiKey=" . $apikey . "&" . http_build_query($campaign),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{- "status": "success",
- "campaignData": {
- "campaignId": 90,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.walletnfcrel",
- "appName": "Google Pay",
- "targetCountries": "",
- "totalBudget": 20,
- "remainingBudget": 20,
- "bidPerConversion": 4,
- "_totalDownloads": 5,
- "_remainingDownloads": 5,
- "_tokensPerDownload": 40,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "whitelistedCallbackIps": "143.21.224.72/23;91.17.119.190/22;45.165.206.98/32",
- "status": "running",
- "created": "2021-03-12 16:55:25",
- "reservations": 0
}
}
This command is used to edit one or multiple campaign settings
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be edited |
downloadRate | integer [ 10 .. 1000000 ] characters desired download rate per day |
targetCountries | Array of strings Items Enum: "ZZ" "US" "GB" "CA" "AU" "DE" "FR" "IT" "ES" "NL" "MX" "IN" "VN" "JP" "RU" "PL" "MY" "AT" "BR" "PH" "ID" "CO" "CZ" "RO" "HK" "GR" "BG" "TR" "KR" "PT" "UA" "HU" "TH" "VE" "CH" "SA" "SG" "TW" "MA" "CL" Example: targetCountries=CA,US,GB,DE comma-seperated list of countries to target (ISO 3166-1 alpha-2) |
bid | number set the bid per conversion in USD for this campaign |
bid | string Enum: "min" "max" Example: bid=min "min" / "max" for minimum or maximum bid |
addBudget | number if set, this amount of budget in USD will be added to the campaign budget and deducted from your advertiser account |
whitelistedCallbackIps | string Example: whitelistedCallbackIps=143.21.224.72/23;91.17.119.190/22;45.165.206.98/32 Semicolon-separated list of IP ranges (CIDR notation) for whitelisted callback IPs |
{- "status": "success",
- "campaignData": {
- "campaignId": 90,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.walletnfcrel",
- "appName": "Google Pay",
- "targetCountries": "",
- "totalBudget": 20,
- "remainingBudget": 20,
- "bidPerConversion": 4,
- "_totalDownloads": 5,
- "_remainingDownloads": 5,
- "_tokensPerDownload": 40,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "whitelistedCallbackIps": "143.21.224.72/23;91.17.119.190/22;45.165.206.98/32",
- "status": "running",
- "created": "2021-03-12 16:55:25",
- "reservations": 0
}
}
This command starts a campaign which is currently in pending (= paused) state.
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be started |
{- "status": "success",
- "campaignData": {
- "campaignId": 90,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.walletnfcrel",
- "appName": "Google Pay",
- "targetCountries": "",
- "totalBudget": 20,
- "remainingBudget": 20,
- "bidPerConversion": 4,
- "_totalDownloads": 5,
- "_remainingDownloads": 5,
- "_tokensPerDownload": 40,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "whitelistedCallbackIps": "143.21.224.72/23;91.17.119.190/22;45.165.206.98/32",
- "status": "running",
- "created": "2021-03-12 16:55:25",
- "reservations": 0
}
}
This command pauses a campaign which is currently running (new state will be "pending").
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be paused |
{- "status": "success",
- "campaignData": {
- "campaignId": 90,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.walletnfcrel",
- "appName": "Google Pay",
- "targetCountries": "",
- "totalBudget": 20,
- "remainingBudget": 20,
- "bidPerConversion": 4,
- "_totalDownloads": 5,
- "_remainingDownloads": 5,
- "_tokensPerDownload": 40,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "whitelistedCallbackIps": "143.21.224.72/23;91.17.119.190/22;45.165.206.98/32",
- "status": "running",
- "created": "2021-03-12 16:55:25",
- "reservations": 0
}
}
This command terminates a campaign which is currently in paused state and does not have any open reservations, remaining tokens from the terminated campaign will be refunded to your account balance. The new state of the campaign will be "completed". Open reservations expire 15 minutes after pausing a campaign.
apiKey required | string Your Advertiser API Key |
campaignId required | string the id of the campaign to be terminated |
{- "status": "success",
- "refundedBalance": 5
}
This command reactivates a completed (non-managed) campaign by adding the specified amount of budget. The new state of the campaign will be "pending" or "review" (if the campaign had been terminated while being under review).
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be reactivated |
addBudget required | number >= 1 amount of budget to add in USD |
{- "status": "success",
- "campaignData": {
- "campaignId": 90,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi",
- "packageName": "com.google.android.apps.walletnfcrel",
- "appName": "Google Pay",
- "targetCountries": "",
- "totalBudget": 20,
- "remainingBudget": 20,
- "bidPerConversion": 4,
- "_totalDownloads": 5,
- "_remainingDownloads": 5,
- "_tokensPerDownload": 40,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "whitelistedCallbackIps": "143.21.224.72/23;91.17.119.190/22;45.165.206.98/32",
- "status": "running",
- "created": "2021-03-12 16:55:25",
- "reservations": 0
}
}
Retrieves all statistics for the account for the given date range and filtered for an optional identifier. The returned data includes the number of currently running and active (pending, running, review) campaigns as well as impressions, clicks and transaction statistics for the specified date range. If identifier is set, only campaigns matching "identifier" are inspected.
apiKey required | string Your Advertiser API Key |
startDate required | string <date> Example: startDate=2020-12-25 start date for the statistics retrieval |
endDate required | string <date> Example: endDate=2021-03-01 end date for the statistics retrieval |
identifier | string if set, only campaigns matching the identifier are inspected |
{- "status": "success",
- "startDate": "2021-03-01",
- "endDate": "2021-03-07",
- "statistics": {
- "activeCampaigns": 27,
- "runningCampaigns": 14,
- "impressions": "20",
- "clicks": "5",
- "installs": "0",
- "conversionRate": 0,
- "conversions": "0"
}
}
Retrieves all statistics for the account for the given date range and filtered for an optional identifier. The returned data includes the impressions, clicks and transaction statistics for the specified date range for each day. If identifier is set, only campaigns matching "identifier" are inspected.
apiKey required | string Your Advertiser API Key |
startDate required | string <date> Example: startDate=2020-12-25 start date for the statistics retrieval |
endDate required | string <date> Example: endDate=2021-03-01 end date for the statistics retrieval |
identifier | string if set, only campaigns matching the identifier are inspected |
{- "status": "success",
- "startDate": "2021-03-01",
- "endDate": "2021-03-07",
- "statistics": {
- "2021-03-01": {
- "impressions": 0,
- "clicks": 0,
- "installs": 0,
- "conversionRate": 0,
- "conversions": 0
}, - "2021-03-02": {
- "impressions": 0,
- "clicks": 0,
- "installs": 0,
- "conversionRate": 0,
- "conversions": 0
}, - "2021-03-03": {
- "impressions": "8",
- "clicks": "4",
- "installs": "0",
- "conversionRate": 0,
- "conversions": "0"
}, - "2021-03-04": {
- "impressions": "6",
- "clicks": "1",
- "installs": "0",
- "conversionRate": 0,
- "conversions": "0"
}, - "2021-03-05": {
- "impressions": "6",
- "clicks": "0",
- "installs": "0",
- "conversionRate": 0,
- "conversions": "0"
}, - "2021-03-06": {
- "impressions": 0,
- "clicks": 0,
- "installs": 0,
- "conversionRate": 0,
- "conversions": 0
}, - "2021-03-07": {
- "impressions": 0,
- "clicks": 0,
- "installs": 0,
- "conversionRate": 0,
- "conversions": 0
}
}
}
Retrieves all installations for the given campaign(s), timestamps are in UTC+0. Hint: For High Retention campaigns, only installation which successfully converted are listed.
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be returned (required unless |
campaignIds[] | Array of arrays the ids of the campaigns to be returned (optional replacement for |
{- "status": "success",
- "campaignData": [
- {
- "campaignId": 96,
- "identifier": "",
- "platform": "web",
- "campaignType": "cpa",
- "packageName": "|custom_campaign|697617|c7398b-7d0e-462b",
- "appName": "Game Heroes 2",
- "targetCountries": "",
- "totalBudget": 121,
- "remainingBudget": 109.5,
- "bidPerConversion": 2.3,
- "_totalDownloads": 52,
- "_remainingDownloads": 47,
- "_tokensPerDownload": 23,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "status": "running",
- "created": "2022-01-20 16:20:42",
- "eventName": "ev_task1",
- "eventConversionTime": 5,
- "eventDescription": "Install the app ",
- "reservations": 0
}, - {
- "campaignId": 104,
- "identifier": "",
- "platform": "web",
- "campaignType": "cpe",
- "packageName": "|custom_campaign|697617|c7398b-7d0e-4628",
- "appName": "My World Quest - Era of gods",
- "targetCountries": "",
- "totalBudget": 121,
- "remainingBudget": 119.3,
- "bidPerConversion": 2,
- "_totalDownloads": 60,
- "_remainingDownloads": 59,
- "_tokensPerDownload": 20,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "status": "running",
- "created": "2022-01-20 16:32:01",
- "tasks": [
- {
- "uuid": "ce3627bc-f5d0-42ef-b46b-81b896d41e6c",
- "name": "install",
- "event_name": "install",
- "bid": 4,
- "conversion_limit": 1
}, - {
- "uuid": "ee3627cc-f5d0-a9ef-a46e-81b896d61ecc",
- "name": "register",
- "event_name": "register",
- "bid": 8,
- "conversion_limit": 1
}
], - "reservations": 0
}
], - "installations": [
- {
- "timestamp": "2022-01-24 16:51:17",
- "country": "DE",
- "identifier": "DESKTOP-b935128797117b337eb2fb3d9781d09b636ff07b",
- "make": "Desktop",
- "model": "GNU/Linux"
}, - {
- "timestamp": "2022-01-31 10:09:13",
- "country": "DE",
- "identifier": "DESKTOP-b935128797117b337eb2fb3d9781d09b636ff07b",
- "make": "Desktop",
- "model": "GNU/Linux"
}, - {
- "timestamp": "2022-01-31 12:20:09",
- "country": "DE",
- "identifier": "794adc26-5b67-4ffe-9a08-bffd0a09a019",
- "make": "Xiaomi",
- "model": "Redmi Note 4"
}, - {
- "timestamp": "2022-02-11 16:09:22",
- "country": "DE",
- "identifier": "edfdf1a9-e333-4ebd-b7e7-143ba21cb82b",
- "make": "Xiaomi",
- "model": "Redmi Note 4"
}, - {
- "timestamp": "2022-02-22 09:00:11",
- "country": "DE",
- "identifier": "DESKTOP-51e4c03af89e0ccafda07f7810fcbbc6e1736486",
- "make": "Desktop",
- "model": "Ubuntu"
}
]
}
Retrieves all statistics for the given campaign(s). The returned data includes the campaign entry, a summary, detailed statistics (per day) and a list with country codes and their respective installation numbers. For most campaign types, "conversions" is the number of actually billed installs/conversions and matches "retentions" for HR campaigns.
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be returned (required unless |
startDate | string <date> Example: startDate=2014-02-12 inclusive, limits "summary", "detailed" and "country" to the date range |
endDate | string <date> Example: endDate=2014-02-13 inclusive, limits "summary", "detailed" and "country" to the date range |
campaignIds[] | Array of arrays the ids of the campaigns to be returned (optional replacement for |
{- "status": "success",
- "campaignData": {
- "campaignId": 104,
- "identifier": "",
- "platform": "web",
- "campaignType": "cpe",
- "packageName": "|custom_campaign|697617|c7398b-7d0e-4628",
- "appName": "My World Quest - Era of gods",
- "targetCountries": "",
- "totalBudget": 121,
- "remainingBudget": 119.3,
- "bidPerConversion": 2,
- "_totalDownloads": 60,
- "_remainingDownloads": 59,
- "_tokensPerDownload": 20,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "status": "running",
- "created": "2022-01-20 16:32:01",
- "tasks": [
- {
- "uuid": "ce3627bc-f5d0-42ef-b46b-81b896d41e6c",
- "name": "install",
- "event_name": "install",
- "bid": 4,
- "conversion_limit": 1
}, - {
- "uuid": "ee3627cc-f5d0-a9ef-a46e-81b896d61ecc",
- "name": "register",
- "event_name": "register",
- "bid": 8,
- "conversion_limit": 1
}
], - "reservations": 0
}, - "summary": {
- "views": "17",
- "clicks": "6",
- "downloads": "3",
- "conversions": "2",
- "cost": 0.4
}, - "detailed": {
- "2022-01-31": {
- "views": "2",
- "clicks": "1",
- "downloads": "1",
- "conversions": "0",
- "cost": 0
}, - "2022-02-03": {
- "views": "1",
- "clicks": "0",
- "downloads": "0",
- "conversions": "0",
- "cost": 0
}, - "2022-02-09": {
- "views": "4",
- "clicks": "0",
- "downloads": "0",
- "conversions": "0",
- "cost": 0
}, - "2022-02-11": {
- "views": "6",
- "clicks": "2",
- "downloads": "0",
- "conversions": "0",
- "cost": 0
}, - "2022-02-21": {
- "views": "1",
- "clicks": "2",
- "downloads": "1",
- "conversions": "1",
- "cost": 0.2
}, - "2022-02-22": {
- "views": "0",
- "clicks": "1",
- "downloads": "1",
- "conversions": "1",
- "cost": 0.2
}, - "2022-02-25": {
- "views": "2",
- "clicks": "0",
- "downloads": "0",
- "conversions": "0",
- "cost": 0
}, - "2022-03-01": {
- "views": "1",
- "clicks": "0",
- "downloads": "0",
- "conversions": "0",
- "cost": 0
}
}, - "countries": {
- "DE": "3"
}
}
Retrieves traffic analysis for a given campaign(s) in a given date range, currently max 120 days. The returned data includes the campaign entry, publisher id in our system, specific traffic source, num of impressions, clicks, conversions, mean conversion time, num of conversions below 15s, 30s and those greater than 1 day.
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be returned (required unless |
startDate | string <date> Example: startDate=2021-07-28 start date of the date range for traffic analysis information (today if omitted) |
endDate | string <date> Example: endDate=2021-07-28 end date of the date range for traffic analysis information (today if omitted) |
campaignIds[] | Array of arrays the ids of the campaigns to be returned (optional replacement for |
{- "status": "success",
- "startDate": "2021-07-21",
- "endDate": "2021-07-28",
- "campaignData": {
- "campaignId": 181,
- "identifier": "squard_alpha_world_15488",
- "platform": "web",
- "campaignType": "cpe",
- "packageName": "|custom_campaign|697616|f473f7-26d3-4b27",
- "appName": "Squad Alpha - Action Shooting",
- "targetCountries": "",
- "totalBudget": 158,
- "remainingBudget": 128,
- "bidPerConversion": 2.5,
- "_totalDownloads": 63,
- "_remainingDownloads": 51,
- "_tokensPerDownload": 25,
- "downloadRate": 63,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "status": "running",
- "created": "2021-07-27 10:10:59",
- "tasks": [
- {
- "uuid": "ce3627bc-f5d0-42ef-b46b-81b896d41e6c",
- "name": "install",
- "event_name": "install",
- "bid": 4,
- "conversion_limit": 1
}, - {
- "uuid": "ee3627cc-f5d0-a9ef-a46e-81b896d61ecc",
- "name": "register",
- "event_name": "register",
- "bid": 8,
- "conversion_limit": 1
}
], - "reservations": 6
}, - "trafficAnalysis": [
- {
- "source": "PUB-5",
- "sub": "PL-11",
- "impressions": 1,
- "clicks": 7,
- "conversions": 0,
- "costUsd": 0,
- "meanConversionTimeMinutes": 0,
- "conversionTimeBelow15s": 0,
- "conversionTimeBelow30s": 0,
- "conversionTimeGreater1d": 0,
- "status": "running"
}, - {
- "source": "PUB-5",
- "sub": "PL-12",
- "impressions": 0,
- "clicks": 25,
- "conversions": 12,
- "costUsd": 30,
- "meanConversionTimeMinutes": 2.5,
- "conversionTimeBelow15s": 1,
- "conversionTimeBelow30s": 5,
- "conversionTimeGreater1d": 1,
- "status": "running"
}, - {
- "source": "PUB-5",
- "sub": "PL-13",
- "impressions": 0,
- "clicks": 1,
- "conversions": 0,
- "costUsd": 0,
- "meanConversionTimeMinutes": 0,
- "conversionTimeBelow15s": 0,
- "conversionTimeBelow30s": 0,
- "conversionTimeGreater1d": 0,
- "status": "running"
}
]
}
Retrieves country traffic analysis for a given campaign(s) in a given date range, currently max 120 days. The returned data includes the campaign entry, country, publisher id in our system, num of impressions, clicks, conversions.
apiKey required | string Your Advertiser API Key |
campaignId required | integer the id of the campaign to be returned (required unless |
startDate | string <date> Example: startDate=2021-07-28 start date of the date range for traffic analysis information (today if omitted) |
endDate | string <date> Example: endDate=2021-07-28 end date of the date range for traffic analysis information (today if omitted) |
campaignIds[] | Array of arrays the ids of the campaigns to be returned (optional replacement for |
{- "status": "success",
- "startDate": "2021-07-21",
- "endDate": "2021-07-28",
- "campaignData": {
- "campaignId": 181,
- "identifier": "squard_alpha_world_15488",
- "platform": "web",
- "campaignType": "cpe",
- "packageName": "|custom_campaign|697616|f473f7-26d3-4b27",
- "appName": "Squad Alpha - Action Shooting",
- "targetCountries": "",
- "totalBudget": 158,
- "remainingBudget": 128,
- "bidPerConversion": 2.5,
- "_totalDownloads": 63,
- "_remainingDownloads": 51,
- "_tokensPerDownload": 25,
- "downloadRate": 63,
- "limitStrategy": "burst",
- "isRetention": 0,
- "isManaged": 0,
- "tracking": "custom_s2s",
- "status": "running",
- "created": "2021-07-27 10:10:59",
- "tasks": [
- {
- "uuid": "ce3627bc-f5d0-42ef-b46b-81b896d41e6c",
- "name": "install",
- "event_name": "install",
- "bid": 4,
- "conversion_limit": 1
}, - {
- "uuid": "ee3627cc-f5d0-a9ef-a46e-81b896d61ecc",
- "name": "register",
- "event_name": "register",
- "bid": 8,
- "conversion_limit": 1
}
], - "reservations": 6
}, - "trafficAnalysis": [
- {
- "source": "PUB-5",
- "sub": "PL-11",
- "country": "DE",
- "impressions": 1,
- "clicks": 7,
- "conversions": 0,
- "costUsd": 0,
- "rejected": 1,
- "status": "running"
}, - {
- "source": "PUB-5",
- "sub": "PL-12",
- "country": "DE",
- "impressions": 1,
- "clicks": 25,
- "conversions": 12,
- "costUsd": 30,
- "rejected": 1,
- "status": "running"
}, - {
- "source": "PUB-5",
- "sub": "PL-13",
- "country": "DE",
- "impressions": 1,
- "clicks": 1,
- "conversions": 0,
- "costUsd": 0,
- "rejected": 1,
- "status": "running"
}
]
}
Retrieves all statistics for the countries and the campaigns. The returned data includes the campaign entry, a summary, detailed statistics (per day). For most campaign types, "conversions" is the number of actually billed installs/conversions and matches "retentions" for HR campaigns.
apiKey required | string Your Advertiser API Key |
startDate required | string <date> Example: startDate=2014-02-12 inclusive, limits "summary", "detailed" and "country" to the date range |
endDate required | string <date> Example: endDate=2014-02-13 inclusive, limits "summary", "detailed" and "country" to the date range |
campaignIds[] | number the ids of the campaigns to be filtered |
{- "status": "success",
- "campaignData": [
- {
- "campaignId": 121,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi_hr",
- "packageName": "com.com2us.goddesssky.android.google.global.normal",
- "appName": "Valkyrie Rush : Idle & Merge",
- "targetCountries": "BR, BY, ID, IN, KZ, PL, PT, RU, BG, RS, UA, DE, US, MX, CZ, MK",
- "totalBudget": 100,
- "remainingBudget": 100,
- "bidPerConversion": 0.81,
- "_totalDownloads": 123,
- "_remainingDownloads": 123,
- "_tokensPerDownload": 8.1,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 1,
- "isManaged": 0,
- "tracking": "standard",
- "redirectUrl": "",
- "status": "running",
- "created": "2022-02-25 17:36:51",
- "retentionActualBudget": 100,
- "_remainingRetentions": 123,
- "reservations": 0
}, - {
- "campaignId": 122,
- "identifier": "",
- "platform": "android",
- "campaignType": "cpi_hr",
- "packageName": "com.hanbitsoft.auditionm",
- "appName": "Audition M",
- "targetCountries": "BR, BY, ID, IN, KZ, PL, PT, RU, BG, RS, UA, DE, US, MX, CZ, MK",
- "totalBudget": 100,
- "remainingBudget": 100,
- "bidPerConversion": 0.8,
- "_totalDownloads": 125,
- "_remainingDownloads": 125,
- "_tokensPerDownload": 8,
- "downloadRate": 1000000,
- "limitStrategy": "burst",
- "isRetention": 1,
- "isManaged": 0,
- "tracking": "standard",
- "redirectUrl": "",
- "status": "running",
- "created": "2022-02-25 17:38:30",
- "retentionActualBudget": 100,
- "_remainingRetentions": 125,
- "reservations": 0
}
], - "summary": {
- "DE": {
- "impressions": "58812",
- "clicks": "1467",
- "conversions": "178",
- "conversion_rate": 0,
- "adspend": 104
}
}, - "detailed": {
- "121": {
- "DE": {
- "impressions": "58700",
- "clicks": "1467",
- "conversions": "178",
- "conversion_rate": 0,
- "adspend": 104
}
}, - "122": {
- "DE": {
- "impressions": "112",
- "clicks": "0",
- "conversions": "0",
- "conversion_rate": 0,
- "adspend": 0
}
}
}
}
errorCode | errorMessage |
---|---|
100 | Authentification failed, check your API Key. |
101 | Unknown action "$action" for $module module. |
102 | [variable, general campaign creation error] |
103 | [variable, bid related campaign creation error] |
104 | [variable, budget related campaign creation error] |
105 | [variable, tracking related campaign creation error] |
201 | Parameter out of range: Maximum date interval range is 365 days. |
202 | Parameter out of range: Maximum date interval range is 62 days. |
302 | Campaign is managed, no permissions. |
305 | Campaign does not exist. |
306 | [variable, invalid campaign status] |
308 | This campaign still has $reservations reservations. After pausing a campaign, you may have to wait up to 15 minutes before a campaign can be completed. |
310 | Insufficient account permissions to create custom s2s tracking campaigns. |
401 | Unauthorized access: You don't have permisson to access advertiser api using current API key. |
429 | Too many consecutive API requests, throttled. |
Android:
iOS: