API для работы с событиями (api/crash)

API хосты

web: 'web-api.apptracer.ru' // основной хост sdk: 'sdk-api.apptracer.ru' // для отправки событий plugin: 'plugin-api.apptracer.ru' // для загрузки символов

Типы

LogLevel aka Severity

Уровень логирования (серьезности) ошибки, используется для классификации ошибок.

Описание
УровеньОписание
NONEУровень не указан – к ошибке будет применён один из стандартных типов (CRASH, NON_FATAL и т.п.)
CRASHСтандартный тип ошибки. Критическая ошибка, которая привела к сбою приложения или системе. Учитывается при расчёте crash-free.
FATALКритическая ошибка, которая привела к остановке работы приложения. Учитывается при расчёте crash-free.
ALERTПредупреждение о потенциальной проблеме, которая требует вмешательства.
CRITICALКритическая ошибка, которая может привести к серьезным проблемам, но не обязательно к остановке приложения.
ERRORОшибка, которая привела к неправильной работе приложения, но не остановила его работу.
WARNINGПредупреждение о потенциальных проблемах или отклонениях от нормальной работы приложения.
NOTICEСобытия, которые требуют внимания, но не обязательно указывают на проблему.
INFOОбщая информация о работе системы.
DEBUGОтладочная информация.
NON_FATALСтандартный тип ошибки.


CrashQueryFilter

Описание
ПараметрТипОписание
typeCrashFilterTypeТип фильтра.
valuesList<CrashFilterValue>Список значений для фильтра.

CrashFilterCompositeValue implements CrashFilterValue:

ПараметрТип
valueString
filtersList<CrashQueryFilter>

CrashFilterStringValue implements CrashFilterValue:

ПараметрТип
valueString


Filter Type

Описание
  • COMPARE: «Сравнение»
  • COMPONENT: «Компонент»
  • CRASH_VARIANT_ID: «ID варианта события»
  • DEVICE: «Устройство»
  • EXCLUSION: «Параметры для исключения»
  • EXCLUSION_KEYS: «Ключи для исключения»
  • EXCLUSION_KEYS_VAL: «Ключи для исключения (значение)»
  • EXCLUSION_STRINGS: «Строки для исключения»
  • FRESH: «Новые события»
  • FRESH_VERSION_NAME: «Версия, в которой впервые появились сбои»
  • FRESH_VERSION_CODE: «Код/номер версии, в которой впервые появились сбои»
  • HOST_PACKAGE_NAME: «Имя пакета хочт-приложения» (для библиотек)
  • IN_BACKGROUND: «В фоне»
  • ISSUE_KEY: «IssueKey»
  • KEY_KEY: «Ключи»
  • KEY_VAL: «Ключи (значение)»
  • LOG_LEVEL: «LogLevel ошибки» (будет заменён на Severity)
  • MODULE: «Модуль» (deprecated, используйте COMPONENT)
  • OS_VERSION: «OS»
  • PROP_KEY: «Данные»
  • PROP_VAL: «Данные (значение)»
  • RAW: «Пользовательский»
  • SDK_VERSION: «SDK»
  • STATUS: «Статус»
  • USER_ID «ID пользователя»
  • VENDOR: «Устройства»
  • VERSION_NAME: «Название версии»
  • VERSION_CODE: «Код/номер версии»


Period

Описание
  • LAST_FIVE_MINUTES – последние 5 минут.
  • LAST_FIFTEEN_MINUTES – последние 15 минут.
  • LAST_THIRTY_MINUTES – последние 30 минут.
  • LAST_HOUR – последний час.
  • LAST_THREE_HOURS – последние 3 часа.
  • LAST_SIX_HOURS – последние 6 часов.
  • LAST_TWELVE_HOURS – последние 12 часов.
  • LAST_24H – последние 24 часа.
  • DAY – текущий день.
  • TWO_DAYS – последние 2 дня.
  • WEEK – последние 7 дней.
  • MONTH – последние 30 дней.
  • SIXTY_DAYS – последние 60 дней.
  • NINETY_DAYS – последние 90 дней.
  • RANGE – кастомный период.


Классы

AggCrashBean

Включает данные о группе ошибки – эти данные отображаются в таблице отчётов на странице Сбои.

Описание
ПараметрТипОписание
alertBooleanНаличие уведомления о всплеске или регрессе.
commentDataBean[CommentDataBean]Комментарии, оставленные для этой группы событий.
componentStringКомпонент приложения, в котором произошел сбой.
countLongКоличество событий.
crashIdStringid группы событий.
customDisplayTypeStringТип дисплея устройства
idStringid конкретного события.
leftCountLongКоличество значений в группе А при наличии сравнения.
messageStringСообщение к событию.
rightCountLongКоличество значений в группе B при наличии сравнения.
stacktraceStringСтектрейс события.
stacktraceBean[StacktraceBean]Форматированный стектрейс события.
subtitleStringПодзаголовок события. Отображается в таблице событий.
titleStringЗаголовок события. Отображается в таблице событий.
typeStringТип события.
usersLongКоличество устройств, на которых зафиксировано событие.
versionsStringДиапазон версий, на которых было зафиксировано событие.


CrashBean

Включает данные об интересующей ошибке – эти данные отображаются во вкладке крэша.

Описание
ПараметрТипОписание
alertBooleanНаличие уведомления о всплеске или регрессе.
backgroundbooleanУказывает, находится ли приложение в фоновом режиме.
buildUuidStringUUID сборки приложения.
countLongКоличество событий.
componentStringКомпонент приложения, в котором произошел сбой.
commentDataBean[CommentDataBean]Комментарии, оставленные для этой группы событий.
crashIdStringid группы событий.
customDataMap<String, String>Кастомные ключ-значение свойства.
customDisplayTypeStringТип дисплея устройства
deviceIdStringИдентификатор устройства. Максимальная длина – 256 символов.
deviceStringНазвание устройства. Максимальная длина – 256 символов.
firstTimestampLongПервая точка времени, в которую было обнаружено событие
idStringid конкретного события.
inBackgroundbooleanУказывает, находится ли приложение в фоновом режиме.
isRootedbooleanУказывает, имеет ли пользователь root-права на устройстве.
keysList<String>Кастомные метки в формате "ключ=значение".
osVersionStringВерсия операционной системы устройства. Максимальная длина – 256 символов.
sectionStringРаздел приложения, в котором произошел сбой.
subtitleStringПодзаголовок события. Отображается в таблице событий.
stacktraceStringСтектрейс события.
stacktraceBean[StacktraceBean]Форматированный стектрейс события.
statusStringСтатус группы событий.

FIXED – исправлен.
REGRESSED – регресс на новой версии.
MUTED – отключены уведомления.
NO_STATUS – обычное событие.
statusVkIdLongVkId пользователя, установившего статус.
titleStringЗаголовок события. Отображается в таблице событий.
typeStringТип события.
usersLongКоличество устройств, на которых зафиксировано событие.
versionCodeLongВерсия кода приложения.
versionNameStringВерсия приложения. Максимальная длина – 256 символов.
vendorStringПроизводитель устройства. Максимальная длина – 256 символов.
versionsStringДиапазон версий, на которых было зафиксировано событие.


CrashUploadBean

Используется для загрузки событий в сервис. Включает информацию о состоянии приложения в момент сбоя.

Описание
ПараметрТипОбязательныйОписание
buildUuidStringНетUUID сборки приложения.
componentStringНетКомпонент приложения, в котором произошел сбой.
countLongДаКоличество событий.
deviceIdStringДаИдентификатор устройства. Максимальная длина – 256 символов.
dropFirstSymbolsIntegerНетПараметр для обрезки первых символов (если требуется).
environmentStringНетОкружение приложения, в котором произошел сбой.
hostedLibrariesInfoList<LibraryBean>НетИнформация о библиотеках, встроенных в приложение.
idStringДаid конкретного события.
inBackgroundbooleanНетУказывает, находится ли приложение в фоновом режиме.
isRootedbooleanНетУказывает, имеет ли пользователь root-права на устройстве.
libraryInfoLibraryBeanНетИнформация о библиотеке из самого приложения.
moduleStringНетМодуль, максимальная длина – 256 символов.
osVersionStringНетВерсия операционной системы устройства. Максимальная длина – 256 символов.
packageNameStringНетИмя пакета приложения.
propertiesMap<String, String>НетКастомные ключ-значение свойства.
tagsList<String>НетКастомные метки в формате "ключ=значение".
versionCodeLongДаВерсия кода приложения.
versionNameStringДаВерсия приложения. Максимальная длина – 256 символов.
vendorStringНетПроизводитель устройства. Максимальная длина – 256 символов.


LibraryBean

Используется для загрузки событий в сервис. Включает информацию о библиотеках.

Описание
ПараметрТипОбязательныйОписание
buildUuidStringНетUUID сборки приложения.
packageNameStringНетИмя пакета приложения.
versionNameStringДаВерсия приложения. Максимальная длина – 256 символов.


API для получения информации о событиях

api/crash/{appId}/get/{crashId}

Метод возвращает данные конкретного события внутри группы крэшей.

Описание метода:
ПараметрТипОбязательныйОписание
compareFilter[
groupA: String,
groupB: String
]
НетПара текстовых значений, по которым происходит сравнение событий. Значения соответствуют значениям ключей (задаются через SDK платформы).
countintНетКоличество событий, которое будет выведено на экран. По умолчанию 30, максимум – 100.
crashIdStringДаid группы событий (указывается в пути запроса)
exclusionsList<String>Даid событий, которые следуюет исключить из запроса
filters[
type: String,
custom: boolean,
values: [{...}]
]
НетСписок сущностей, описывающих выбранные фильтры (Filter Type).
forwardbooleanНетОпределяет порядок выборки событий. По умолчанию true.
idStringДаid конкретного события
markerStringНетСтроковое значение, указывающее на то, с какого элемента следует подгружать дополнительные события.
modules[String]НетСписок названий модулей (задаются при помощи SDK для платформы).
sort[
name: String,
asc: boolean
]
НетТип сортировки событий в формате «имя параметра сортировки – порядок сортировки». По умолчанию сортировка производится по количеству устройств в порядке возрастания.
textStringНетТекстовая строка, по которой будут отфильтрованы события. Имеет ограничение в 256 символов. Равносильно фильтру с типом RAW в списке filters.
typeStringНетТип событий. Может быть CRASH, ANR, NON_FATAL, NATIVE, MEMORY_LEAK, METRIC_KIT. По умолчанию null.

Возвращаемое значение:

ПараметрТипОписание
bmarkerStringСтроковое значение, указывающее на отчёт, с которого началась выгрузка.
countintКоличество полученных отчётов.
hasMorebooleanУказывает на наличие еще незагруженных отчётов.
items[CrashBean]Список отчётов о крэшах.
markerStringСтроковое значение, указывающее на последний загруженный отчёт.
markerNotFoundBooleanУказание на то, был ли найден предыдущий маркер.
totalCountLongОбщее количество отчётов в указанный период.


api/crash/{appId}/getCrashFreeTimeSeries

Метод возвращает данные, которые отображаются на графике Аудитория – информацию о количестве активных устройств и проценте пользователей, для которых не было зафиксировано крэшей, в каждый момент времени.

Описание метода:
ПараметрТипОбязательныйОписание
dateDateДаНачало временного промежутка, за который нужно отбразить данные, в формате "DD.MM.YYYY HH:MM:SS". По-умолчанию имеет значение null и используется в качестве параметра dateTo. Если в period указан RANGE, используется в качестве dateFrom.
dateToDateДаКонец временного промежутка, за который нужно отбразить данные, в формате "DD.MM.YYYY HH:MM:SS". По-умолчанию имеет значение null.
filters[
type: String,
custom: boolean,
values: [{...}]
]
НетСписок сущностей, описывающих выбранные фильтры (см. Filter Type)
frequencyIntegerНетЧастота, с которой формируется выборка данных. Чем выше значение параметра, тем более полный набор данных будет получен.
periodStringДаЗадает временной промежуток стандартного формата (Period).
timeSeriesSecondsIntegerНетЧастота полученных измерений в секундах
versionCodes[Long]НетСписок versionCode, для которых нужно получить данные. Этот параметр задается при установке фильтра Версии.

Возвращаемое значение:

ПараметрТипОписание
bmarkerStringСтроковое значение, указывающее на отчёт, с которого началась выгрузка.
countintКоличество полученных значений. Соответсвует количеству точек на графике Аудитория.
hasMorebooleanУказывает на наличие еще незагруженных отчётов.
items[
timestamp: long,
percent: BigDecimal,
total: Long
]
Список «crashFree и количество устройств» в каждый момент времени.
markerStringСтроковое значение, указывающее на последний загруженный отчёт.
markerNotFoundBooleanУказание на то, был ли найден предыдущий маркер.
overallPercentBigDecimalОбщее значение crashFree.
overallTotalLongОбщее количество активных устройств.
totalCountLongОбщее количество отчётов в указанный период.


api/crash/{appId}/getTimeSeries

Метод возвращает данные, которые отображаются на графике Тренды – информацию о количестве зафиксированных событий в каждый момент времени.

Описание метода:
ПараметрТипОбязательныйОписание
crashIdStringНетid группы событий – вернутся данные только для неё.
dateDateДаНачало временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null и используется в качестве параметра dateTo. Если в period указан RANGE, используется в качестве dateFrom.
dateToDateДаКонец временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null.
exclusionsList<String>НетСписок исключения
filters[
type: String,
custom: boolean,
values: [{...}]
]
НетСписок сущностей, описывающих выбранные фильтры (Filter Type).
frequencyIntegerНетЧастота, с которой формируется выборка данных. Чем выше значение параметра, тем более полный набор данных будет получен.
periodStringДаЗадает временной промежуток стандартного формата (Period).
textStringНетТекстовая строка, по которой будут отфильтрованы события. Имеет ограничение в 256 символов. Равносильно фильтру с типом RAW в списке filters.
timeSeriesSecondsIntegerНетЧастота полученных измерений в секундах
typeStringНетТип событий. Может быть CRASH, ANR, NON_FATAL, NATIVE, MEMORY_LEAK, METRIC_KIT. По умолчанию null.
types[String]НетСписок типов событий. По умолчанию null.
modules[String]НетСписок названий модулей (задаются при помощи SDK для платформы).
versionCodeLongНетversionCode – задается при установке фильтра Версии.
versionCodes[Long]НетСписок versionCode, для которых нужно получить данные. Этот параметр задается при установке фильтра Версии.

Возвращаемое значение:

ПараметрТипОписание
bmarkerStringСтроковое значение, указывающее на отчёт, с которого началась выгрузка.
countintКоличество полученных значений. Соответствует количеству точек на графике Тренды.
countintКоличество полученных отчётов.
hasMorebooleanУказывает на наличие еще незагруженных отчётов.
items[
timestamp: long,
count: long
]
Список значений количества событий в каждый момент времени.
markerStringСтроковое значение, указывающее на последний загруженный отчёт.
totalCountLongОбщее количество активных устройств.
totalCountLongОбщее количество отчётов в указанный период.
usersLongОбщее количество активных устройств.


api/crash/{appId}/getList

Возвращает список аггрегированных отчётов о событиях за указанный период.

Описание метода:
ПараметрТипОбязательныйОписание
dateDateДаНачало временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null и используется в качестве параметра dateTo. Если в period указан RANGE, используется в качестве dateFrom.
dateToDateДаКонец временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null.
forwardbooleanНетОпределяет порядок выборки событий. По умолчанию true.
markerStringНетСтроковое значение, указывающее на то, с какого элемента следует подгружать дополнительные события.
modules[String]НетСписок названий модулей (задаются при помощи SDK для платформы).
periodStringДаЗадает временной промежуток стандартного формата (Period).
sort[
name: String,
asc: boolean
]
НетТип сортировки событий в формате «имя параметра сортировки – порядок сортировки». По умолчанию сортировка производится по количеству устройств в порядке возрастания.
textStringНетТекстовая строка, по которой будут отфильтрованы события. Имеет ограничение в 256 символов. Равносильно фильтру с типом RAW в списке filters.
typeStringНетТип событий.

Может быть CRASH, ANR, NON_FATAL, NATIVE, MEMORY_LEAK, METRIC_KIT. По умолчанию null.
types[String]НетСписок типов событий. По умолчанию null.
versionCodeLongНетversionCode – задается при установке фильтра Версии.
versionCodes[Long]НетСписок versionCode, для которых нужно получить данные. Этот параметр задается при установке фильтра Версии.
filters[
type: String,
custom: boolean,
values: [{...}]
]
НетСписок сущностей, описывающих выбранные фильтры (Filter Type).
compareFilter[
groupA: String,
groupB: String
]
НетПара текстовых значений, по которым происходит сравнение событий. Значения соответствуют значениям ключей (задаются через SDK платформы).
countintНетКоличество событий, которое будет выведено на экран. По умолчанию 30, максимум – 100.

Возвращаемое значение:

ПараметрТипОписание
bmarkerStringСтроковое значение, указывающее на отчёт, с которого началась выгрузка.
countintКоличество полученных отчётов.
hasMorebooleanУказывает на наличие еще незагруженных отчётов.
items[AggCrashBean]Список агрегированных отчётов.
markerStringСтроковое значение, указывающее на последний загруженный отчёт.
totalCountLongОбщее количество отчётов в указанный период.


api/crash/{appId}/getListVariants

Возвращает список аггрегированных отчётов о событиях c указанием его вариантов за указанный период.

Описание метода:
ПараметрТипОбязательныйОписание
dateDateДаНачало временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null и используется в качестве параметра dateTo. Если в period указан RANGE, используется в качестве dateFrom.
dateToDateДаКонец временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null.
forwardbooleanНетОпределяет порядок выборки событий. По умолчанию true.
markerStringНетСтроковое значение, указывающее на то, с какого элемента следует подгружать дополнительные события.
modules[String]НетСписок названий модулей (задаются при помощи SDK для платформы).
periodStringДаЗадает временной промежуток стандартного формата (Period).
sort[
name: String,
asc: boolean
]
НетТип сортировки событий в формате «имя параметра сортировки – порядок сортировки». По умолчанию сортировка производится по количеству устройств в порядке возрастания.
textStringНетТекстовая строка, по которой будут отфильтрованы события. Имеет ограничение в 256 символов. Равносильно фильтру с типом RAW в списке filters.
typeStringНетТип событий.

Может быть CRASH, ANR, NON_FATAL, NATIVE, MEMORY_LEAK, METRIC_KIT. По умолчанию null.
types[String]НетСписок типов событий. По умолчанию null.
versionCodeLongНетversionCode – задается при установке фильтра Версии.
versionCodes[Long]НетСписок versionCode, для которых нужно получить данные. Этот параметр задается при установке фильтра Версии.
filters[
type: String,
custom: boolean,
values: [{...}]
]
НетСписок сущностей, описывающих выбранные фильтры (Filter Type).
compareFilter[
groupA: String,
groupB: String
]
НетПара текстовых значений, по которым происходит сравнение событий. Значения соответствуют значениям ключей (задаются через SDK платформы).
countintНетКоличество событий, которое будет выведено на экран. По умолчанию 30, максимум – 100.

Возвращаемое значение:

ПараметрТипОписание
bmarkerStringСтроковое значение, указывающее на отчёт, с которого началась выгрузка.
countintКоличество полученных отчётов.
hasMorebooleanУказывает на наличие еще незагруженных отчётов.
items[AggCrashBean]Список агрегированных отчётов.
markerStringСтроковое значение, указывающее на последний загруженный отчёт.
totalCountLongОбщее количество отчётов в указанный период.


API для работы с фильтрами

api/crash/filters/{appId}/getOptions

Возвращает список значений для выбранного фильтра.

Описание метода:
ПараметрТипОбязательныйОписание
countIntegerНетКоличество значений, которое будет выведено на экран.
crashIdStringНетid группы событий
dateDateДаНачало временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null и используется в качестве параметра dateTo. Если в period указан RANGE, используется в качестве dateFrom.
dateToDateДаКонец временного промежутка, за который нужно отобразить данные, в формате "DD.MM.YYYY HH:MM:SS". По умолчанию имеет значение null.
findValueStringНетСтрока для поиска по значениям фильтра.
filters[
type: String,
custom: boolean,
values: [{...}]
]
НетСписок сущностей, описывающих уже выбранные фильтры (Filter Type).
filterTypeStringДаФильтр, для которого необходимо получить значения. Подробнее в (Filter Type).
forwardbooleanНетОпределяет порядок выборки событий. По умолчанию true.
markerStringНетСтроковое значение, указывающее на то, с какого элемента следует подгружать дополнительные события.
parentFilters[CrashQueryFilter]НетВсе «родительские» фильтры, которые есть для текущего фильтра. Количество зависит от уровня вложенности.
parentFilterTypeStringНетТип «родительского» фильтра, если фильтр имеет подзначения (например, KEY_KEY - KEY_VAL). Подробнее в (Filter Type)
parentFilterValueStringНетЗначение «родительского» фильтра, если фильтр имеет подзначения (например, KEY_KEY - KEY_VAL). Подробнее в (Filter Type)
periodStringДаЗадает временной промежуток стандартного формата (Period).
sort[
name: String,
asc: boolean
]
НетТип сортировки событий в формате «имя параметра сортировки – порядок сортировки».
textStringНетТекстовая строка, по которой будут отфильтрованы значения. Имеет ограничение в 256 символов. Равносильно фильтру с типом RAW в списке filters.
typeStringНетТип событий.

Может быть CRASH, ANR, NON_FATAL, NATIVE, MEMORY_LEAK, METRIC_KIT. По умолчанию null.
types[String]НетСписок типов событий. По умолчанию null.
versionCodeLongНетversionCode – задается при установке фильтра Версии.
versionCodes[Long]НетСписок versionCode, для которых нужно получить данные. Этот параметр задается при установке фильтра Версии.
userIdStringНетID пользователя, для которого следует вывести значения.

Возвращаемое значение:

ПараметрТипОписание
bmarkerStringСтроковое значение, указывающее на запись, с которой началась выгрузка.
countintКоличество полученных значений.
hasMorebooleanУказывает на наличие еще значений.
items[CrashFilterOptionBean]Список значений.
markerStringСтроковое значение, указывающее на последний загруженный элемент.
totalCountLongОбщее количество значений в указанный период.
CrashFilterOptionBean:
ПараметрТипОписание
countlongКоличество значений
nameStringНазвание фильтра
emptyOptionBooleanУказывает на отсутствие значений


При возникновении вопросов обращайтесь в чат поддержки.