Note: Before accessing the Api, Please understand the API signature rules first (refer to the Authentication), which is the source of some http request headers in the Api request sample. Here are authentication demos for different development languages: Authentication Demo
Note:
- Data generation is supported starting from the time TopOn allows the operation permissions (for example, if the permissions are opened on the 1st, the earliest data can be pulled on the 2nd. For specific times, please refer to the update time of the data in each time zone for the advance tasks below), and only the data for the most recent 30 days is retained. The returned content is provided in the form of a file. If the data is not obtained at that time, please try again the next day. Tips: TopOn will execute the task of generating data for each time zone twice a day, once as an advance task and once as a backup task. The revenue data of the advance task may not be complete (the determining factor is that different advertising platforms have different report data release times, and some advertising platforms may not have released report data at the time of the advance task). Developers can pull the data after the backup task again as needed.
- the data update time of each time zone for the first task:
- UTC + 8: delayed 1 day, update at 11:30 pm (UTC + 8)
- UTC + 0: delayed by 1 day, updated at 5:30 pm (UTC + 8)
- UTC - 8: delayed by 2 days, updated at 1:30 am (UTC + 8)
- the data update time of each time zone for the second task:
- UTC + 8: delayed 2 days, update at 4 am (UTC + 8)
- UTC + 0: delayed by 2 days, updated at 12 am (UTC + 8)
- UTC - 8: delayed by 3 days, updated at 4 am (UTC + 8)
1 Request URL
https://api.toponad.net/v3/devicereport
2 Request method
GET
3 Request param
params | type | required | notes | sample |
day | Int | Y | start date, format:YYYYmmdd | 20190501,Earliest date is yesterday |
app_id | String | Y | TopOn APP ID(single) | xxxxx |
timezone | Int | N | Time Zone | -8 or 8 or 0 |
request sample:
curl --location --request GET 'https://api.toponad.net/v3/devicereport?app_id=a606c22b789bc3&day=20210823&timezone=8' \
--header 'X-Up-Key: fadcf18aa7805522b1cbbf847f20a9fd871aa902' \
--header 'X-Up-Signature: E3BDAB211713C0CFEDDB249121524123' \
--header 'X-Up-Timestamp: 1623744546000'
4 Response data
API will return the download url, you can get data from the url.
https://topon-openapi.s3.amazonaws.com/topon_report_device/dt%3D2019-07-10/publisher_id%3D22/app_id%3Da5d147334b3685/000000_0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA35FGARBHLHHS7TWB%2F20190828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190828T095315Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=6aaf947f9b2cf02f3acb49d64a3daf719cb0b57a3d5221b0121a006e58b04b10
The data file is CSV, split by ',' ,Fields detail:
params | type | notes |
placement_id | String | Placement ID |
placement_name | String | Placement name |
placement_format | String |
placement adformat 0: native, 1: rewarded_video, 2: banner, 3: interstitial, 4: splash |
android_id | String | android id |
gaid | String | google advertising id |
idfa | String | ios device id |
area | String | country short code |
impression | String | impression number |
click | String | click number |
revenue | decimal(18,6) | revenue, split the device level according to the revenue of the three-party networks,the currency is the developer account currency |
ecpm | decimal(18,6) | TopOn calculates eCPM based on the Device Revenue( Revenue API split by the number of device impressions ) and TopOn statistics Device Impressions, calculated as ( Device Revenue / Device Impressions ) * 1000. Note: eCPM is delayed by 2 day |
is_abtest | String |
control group or test group 0: control group or the A / B test is not activated 1: test group |
traffic_group_id | String | control group id or test group id |
segment_id | String | segment id |
segment_name | String | segment name |
idfv | String | ios device id |
oaid | String | android device id |
user_id | String | developer's custom user id |
network_firm_id | String | network firm id |
network_firm | String | network name |
currency | String | publisher account currency, USD means U.S. dollar, CNY means RMB |
os_version | String | device operating system version |
att_status | String |
ATT status of iOS device: 1:Restricted, 2:Denied, 3:Authorize |
imei | String | android device id |
device_type | String | ios device type: 0: not ios device 1: iphone 2: ipad |
brand | String | name of the device brand |
model | String | device model |
app_vn | String | app version name |
app_vc | String | app version code |
new_user_type | String | type identified whether the device is a new user: 1: is a new user 2: not a new user |
channel | String | channel, which is passed in by the publihser through the TopOn SDK |
estimate_revenue | decimal(18,6) |
Bidding advertising sources use real-time advertising display prices to obtain estimated revenue, and non-bidding advertising sources use manually filled eCPM prices * TopOn statistics display summary to obtain estimated revenue. Meta use historical eCPM API * TopOn statistics display summary to obtain estimated revenue,currency is USD |
set_gaid | String | Google's advertising device ID uploaded by the user |
set_imei | String | Android device ID uploaded by the user |
set_oaid | String | Android device ID uploaded by the user |
set_idfa | String | IOS device ID uploaded by the user |
amazon_id | String | Amazon device ID (supported by SDK 6.2.50 and above), unique to Android system |
sub_channel | String | sub channel, which is passed in by the publihser through the TopOn SDK |