Войти

Python-библиотека

MyTracker поддерживает работу с Python-библиотекой для ещё более удобного получения данных через запросы к API.

Вы можете выгружать необработанные данные, отчёты и сегменты всего в несколько строк.

Выгружать сегменты и необработанные данные могут только владельцы аккаунта и те пользователи, которым выданы разрешения на выгрузку из аккаунта. Подробнее см. раздел Управление пользователями.

Использование Python-библиотеки

Чтобы начать работу с 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][]': [10006, 10008],
    '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 Google Ads (AdWords) 33097.9940
1 2022-06-01 Facebook 7877.1799
2 2022-06-02 Google Ads (AdWords) 31768.5755
3 2022-06-02 Facebook 6858.8901
4 2022-06-03 Google Ads (AdWords) 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 с ответом сервера и деталями ошибки.

Была ли эта статья полезна?