pip install mytracker-export-api
MyTracker поддерживает работу с Python-библиотекой для ещё более удобного получения данных через запросы к API.
Вы можете выгружать необработанные данные, отчёты и сегменты всего в несколько строк.
Выгружать сегменты и необработанные данные могут только владельцы аккаунта и те пользователи, которым выданы разрешения на выгрузку из аккаунта. Подробнее см. раздел Управление пользователями.
Чтобы начать работу с Python-библиотекой вам необходимо:
Для установки библиотеки используйте:
pip install mytracker-export-api
Python-библиотеку вы можете найти в репозитории GitHub.
Используйте свои API User ID и Секретный Ключ к API вместе с необходимыми параметрами необработанных данных, селекторами и событиями, чтобы выгрузить необработанные данные:
from mytracker_export_api import MyTracker
API_USER_ID = 123
API_SECRET_KEY = 'AaBbCc'
params = {
'dateFrom': '2022-05-01',
'dateTo': '2022-05-31',
'selectors': 'idAdEventTypeTitle,tsClick,tsView,dtEvent,tsEvent,idPartnerTitle,advertisingId',
'idApp': 2,
'event': 'installs'
}
client = MyTracker(api_user_id=API_USER_ID, api_secret_key=API_SECRET_KEY)
raw_data = client.get_raw_data(params)
raw_data.head()
Результат по умолчанию возвращается в Pandas DataFrame:
idAdEventTypeTitle | tsClick | tsView | dtEvent | tsEvent | idPartnerTitle | advertisingId | |
---|---|---|---|---|---|---|---|
0 | Неизвестно | 0 | 0 | 2022-05-31 | 1010101010 | Organic | 00000000-0000-0000-0000-000000000000 |
1 | Неизвестно | 0 | 0 | 2022-05-30 | 2020202020 | Organic | 00000000-0000-0000-0000-000000000000 |
2 | Неизвестно | 0 | 0 | 2022-05-31 | 3030303030 | Organic | 00000000-0000-0000-0000-000000000000 |
3 | Неизвестно | 0 | 0 | 2022-05-14 | 4040404040 | Organic | 00000000-0000-0000-0000-000000000000 |
4 | Неизвестно | 0 | 0 | 2022-05-29 | 5050505050 | Organic | 00000000-0000-0000-0000-000000000000 |
Чтобы сохранить таблицу с данными в CSV-файл используйте raw_data.to_csv
:
raw_data.to_csv('raw_data.csv', index=False)
Чтобы получить ответ от сервера, а не готовый DataFrame используйте значение return_df=False
:
response = client.get_raw_data(params, return_df=False)
print(response)
В этом случае результат будет следующим:
{'code': 200,
'data': {'idRawExport': '11040581',
'status': 'Success!',
'files': [{'link': 'https://somelink.csv.gz',
'timestampExpires': '1655975434'}]},
'message': 'Ok'}
Используйте полученную ссылку, чтобы скачать файл с необработанными данными. Подробнее см. раздел Скачивание данных.
Если в запросе будет обнаружена ошибка, то будет вызвано исключение MyTrackerError
с ответом сервера и деталями ошибки.
Используйте свои API User ID и Секретный Ключ к API вместе с необходимыми параметрами и селекторами, чтобы выгрузить отчёты:
from mytracker_export_api import MyTracker
API_USER_ID = 123
API_SECRET_KEY = 'AaBbCc'
params = {
'settings[selectors]': 'date,idPartner,sumCampaignCost',
'settings[filter][date][from]': '2022-06-01',
'settings[filter][date][to]': '2022-06-10',
'settings[filter][dimension][idApp][value][]': [1, 2, 3],
'settings[filter][dimension][idPartner][value][]': [10025, 10017],
'settings[idCurrency]': 840,
'settings[tz]': 'Europe/Moscow',
'settings[precision]': 5,
'settings[retIndent]': 3600,
}
client = MyTracker(api_user_id=API_USER_ID, api_secret_key=API_SECRET_KEY)
report = client.get_report(params)
report.head()
Если вы передаёте несколько значений в фильтре, то используйте квадратные скобки перед списком значений 'idApp[]': [1, 2, 3]
или записывайте значения через запятую 'idApp': '1,2,3'
.
Результат по умолчанию возвращается в Pandas DataFrame:
Дата | Партнёр | Стоимость кампании | |
---|---|---|---|
0 | 2022-06-01 | AppLovin | 33097.9940 |
1 | 2022-06-01 | Unity Ads | 7877.1799 |
2 | 2022-06-02 | AppLovin | 31768.5755 |
3 | 2022-06-02 | Unity Ads | 6858.8901 |
4 | 2022-06-03 | AppLovin | 30292.7189 |
Для фильтрации по нескольким параметрам событий проиндексируйте каждую группу параметров в отдельности:
from mytracker_export_api import MyTracker
API_USER_ID = 123
API_SECRET_KEY = 'AaBbCc'
params = {
'settings[selectors]': 'date,customEventParamValue,uniqEvent',
'settings[filter][date][from]': '2021-07-01',
'settings[filter][date][to]': '2021-07-06',
'settings[filter][dimension][idApp][value]': '12345,12346',
'settings[filter][dimension][isVerified][value]': '1,255',
'settings[filter][dimension][customEventName][value]': 'params',
'settings[filter][dimension][params][name][0]': 'current_id',
'settings[filter][dimension][params][cmp][0]': 'contains',
'settings[filter][dimension][params][value][0]': 'details',
'settings[filter][dimension][params][name][1]': 'id',
'settings[filter][dimension][params][cmp][1]': 'exist',
'settings[filter][dimension][params][value][1]': '',
'settings[filter][dimension][params][name][2]': 'type',
'settings[filter][dimension][params][cmp][2]': 'equals',
'settings[filter][dimension][params][value][2]': 'offer',
'settings[filter][dimension][params][target]': 'params',
'settings[filter][dimension][params][join]': 'and',
'settings[tz]': 'Europe/Moscow',
'settings[precision]': 2,
'settings[retIndent]': 3600,
}
client = MyTracker(api_user_id=API_USER_ID, api_secret_key=API_SECRET_KEY)
report = client.get_report(params)
report.head()
Чтобы сохранить таблицу с данными в CSV-файл используйте report.to_csv
:
report.to_csv('report.csv', index=False)
Чтобы получить ответ от сервера, а не готовый DataFrame используйте значение return_df=False
:
response = client.get_report(params, return_df=False)
print(response)
В этом случае результат будет следующим:
{'code': 200,
'data': {'idReportFile': '1394792',
'status': 'Success!',
'files': [{'link': 'https://somelink.csv.gz',
'timestampExpires': '1655977002'}]},
'message': 'Ok'}
Используйте полученную ссылку, чтобы скачать файл с отчётом. Подробнее см. раздел Скачивание данных.
Если в запросе будет обнаружена ошибка, то будет вызвано исключение MyTrackerError
с ответом сервера и деталями ошибки.
Используйте свои API User ID и Секретный Ключ к API вместе с необходимыми параметрами, чтобы выгрузить сегменты:
from mytracker_export_api import MyTracker
API_USER_ID = 123
API_SECRET_KEY = 'AaBbCc'
params = {
'idSegment': 1111,
'requestFields': 'idfa,gaid',
'includeHeaderLine': 1,
'registerType': 0,
'hashType': 0
}
client = MyTracker(api_user_id=API_USER_ID, api_secret_key=API_SECRET_KEY)
response = client.get_segment(params)
print(response)
При выгрузке сегментов возвращается только ответ от сервера:
{'code': 200,
'data': {'idSegmentExport': '16',
'status': 'Success!',
'files': [{'link': 'https://somelink.csv.gz',
'timestampExpires': '1655392109'}]},
'message': 'Ok'}
Используйте полученную ссылку, чтобы скачать файл с отчётом. Подробнее см. раздел Скачивание данных.
Если в запросе будет обнаружена ошибка, то будет вызвано исключение MyTrackerError
с ответом сервера и деталями ошибки.