Запрос на экспорт необработанных данных

Создайте запрос на экспорт необработанных данных в CSV-файлы.

Входные данные

End-point

https://tracker.my.com/api/raw/v1/export/create.json

Метод

POST

Параметры

Название Значение Описание Примечание
idApp Несколько значений из доступных id приложений, через запятую или в виде массива

Например: 1,454,23 или
idApp[]=1&idApp[]=454&idApp[]=23
Фильтр по id приложения При одновременном использовании фильтров по idApp и SDKKey, в выгрузку попадут приложения, которые удовлетворяют условиям хотя бы одного фильтра
SDKKey Несколько значений SDK ключей приложений, через запятую или в виде массива

Например: 00004399666566289449,
00004399666566289448
Фильтр по SDK ключам приложения
idAccount Несколько значений из доступных id аккаунтов, через запятую или в виде массива

Например: 3,6
Фильтр по id аккаунта
idAd Несколько значений из доступных id трекинг-ссылок, через запятую или в виде массива

Например: 87877,464746
Фильтр по id трекинг-ссылки
idCampaign Несколько значений из доступных id кампаний, через запятую или в виде массива

Например: 66,14
Фильтр по id кампании
idCountry Несколько значений из справочника Стран, через запятую или в виде массива

Например: 188,200
Фильтр по id страны
idProject Несколько значений из доступных id проектов, через запятую или в виде массива

Например: 234,456
Фильтр по id проекта
isVerified Одно значение из справочника Верификация

Например: 1
Фильтр по верификации платежа Только для событий payments, userPayments, testPayments, trialPayments и userTrialPayments
idPurchaseType Одно значение из справочника Типы покупок

Например: 1
Фильтр по типу покупки Только для событий payments, userPayments, testPayments, trialPayments и userTrialPayments
eventName Массив значений

Например: eventName[]=name1&eventName[]=
name2&eventName[]=name3
Фильтр по названию кастомного события Только для событий customEvents, userCustomEvents
eventNameInvert Одно из значений:
0 — выкл. (по умолчанию)
1 — вкл.
Инвертировать фильтр eventName (исключить из выгрузки указанные кастомные события) Только для событий customEvents и userCustomEvents
event * Одно значение из справочника Событий

Например: installs
Тип выгружаемого события
selectors * Несколько значений из справочника Селекторов, через запятую или в виде массива

Например: idApp,idCountry
Список полей, которые должны присутствовать в выгрузке
dateFrom ** Дата

Например: 2020-12-17
Фильтр по дате, с которой нужно выгрузить данные Не может быть меньше 1970-01-01;
не может быть больше текущей даты;
должна быть не больше, чем dateTo
dateTo ** Дата

Например: 2020-12-31
Фильтр по дате, по которую нужно выгрузить данные Не может быть больше текущей даты;
должна быть не меньше, чем dateFrom
tsFrom ** timestamp

Например: 1514822000
Фильтр по timestamp события, с которого нужно выгрузить данные Не может быть больше текущего timestamp;
должен быть не больше, чем tsTo
tsTo ** timestamp

Например: 1515132000
Фильтр по timestamp события, по который нужно выгрузить данные Не может быть больше текущего timestamp;
должен быть не меньше, чем tsFrom
availabilityTsFrom timestamp

Например: 1514822000
Фильтр по timestamp появления события в системе, начиная с которого нужно выгрузить данные Должен быть меньше текущего timestamp минус 3 часа;
должна быть не больше, чем availabilityTsTo
availabilityTsTo timestamp

Например: 1515132000
Фильтр по timestamp появления события в системе, по который нужно выгрузить данные Должен быть меньше текущего timestamp минус 3 часа;
должна быть не меньше, чем availabilityTsFrom
rooted Одно значение из справочника Рутованное устройство

Например: 2
Наличие признаков рутованного ("Root/Jailbreak") устройства
timezone Одно значение из справочника Часовые пояса

Например: Asia/Yekaterinburg
Конкретизирует, в каком часовом поясе интерпретировать даты
idSegment Идентификатор одного из доступных вам сегментов

Например: 2
Фильтр по идентификатору сегмента Только для событий hits и installs
idPartner Несколько значений из доступных id партнеров, через запятую или в виде массива

Например: 234,456
Фильтр по id партнера

* — обязательные параметры

** — обязательно наличие хотя бы одной пары параметров: dateFrom и dateTo или tsFrom и tsTo

Пример запроса

/api/raw/v1/export/create.json?event=payments&selectors=idCountry,waid,idAccount,iosVendorId&dateTo=2017-11-30&dateFrom=2017-11-02&timezone=Europe/Kiev

Форматы ответа

В случае успеха

Если запрос создан успешно, вы получите код ответа 200. Идентификатор запроса будет указан в поле idRawExport:

{
  "code": 200,
  "message": "Ok",
  "data": {
    "idRawExport": "2"
  }
}

Ошибки

При ошибках в передаваемых параметрах вы получите код ответа 400. Например:

  • Неправильно передан тип выгружаемого события — event
    {
      "code": 400,
      "message": "Bad Request",
      "data": {
        "error": {
          "detail": "Argument 'event' must be in set of allowed tables. Allowed values are: install, payment, launch, customEvent."
        }
      }
    }
  • Не передан обязательный параметр
    {
      "code": 400,
      "message": "Bad Request",
      "data": {
        "error": {
          "detail": "Argument 'event' is expected but not set"
        }
      }
    }
  • Запрос недоступного или несуществующего селектора.
    {
      "code": 400,
      "message": "Bad Request",
      "data": {
        "error": {
          "detail": "Argument 'selectors' is invalid"
        }
      }
    }
  • Выгрузка необработанных данных из аккаунта недоступна, так как пользователю не выдано разрешение на выгрузку.
    {
      "code": 400,
      "message": "Bad Request",
      "data": {
        "error": {
          "detail": "Export permissions required to export raw data from an account"
        }
      }
    }

Ограничения

  • Данный метод требует авторизации. Вы получите код ответа 403, если сделаете запрос с невалидной авторизацией или не передадите её совсем.
    {
      "code": 403,
      "message": "Access denied",
      "data": null
    }
  • Количество одновременно выполняемых запросов ограничено. При превышении допустимого числа запросов вы получите код ответа 400:
    {
      "code": 400,
      "message": "Bad Request",
      "data": {
        "error": {
          "detail": "Maximum number of simultaneous requests reached. Wait until there is space available in the queue.",
          "info": {
            "exports": [
              {
                "idRawExport": "2"
              }
            ]
          }
        }
      }
    }
  • В одном фильтре можно передать не более 1000 значений. Если у вас несколько фильтров, то в каждом из них можно передать максимум по 1000 значений. В случае, если превышено максимальное количество значений, вы получите код ответа 400:
    {
      "code": 400,
      "message": "Bad Request",
      "data": {
        "error": {
          "detail": "Argument 'idCampaign' set size expected to be below 1000",
        }
      }
    }