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

Чтобы сохранить таблицу с данными в 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 с ответом сервера и деталями ошибки.