Перейти к содержанию

Логи Супераппа

Назначение документа

В данном документе описаны инструменты сбора логов клиентских приложений, описано расположение логов, а также приведены примеры логов.

Документ предназначен для использования администраторами организации.

Дополнительная документация

Инструкция по настройке интеграции с SIEM-системой — в документе представлено описание логируемых событий и формат log-файлов, а также настройка отправки log-файлов в SIEM-систему.

Сбор логов

В десктопной версии приложения

  1. Перейдите в настройки Супераппа, нажав на значок в левом нижнем углу.

  2. Выберите раздел Напишите нам, затем нажмите на кнопку Получить архив логов:

В мобильной версии приложения

  1. Выберите пункт Сервисы, затем нажмите на значок .

  2. Выберите пункт Сообщить о проблеме, затем нажмите на пункт Получить архив логов.

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

Расположение логов

Логи десктопных приложений

В зависимости от операционной системы логи десктопных приложений находятся:

Windows: C:\Users\<имя пользователя>\AppData\Roaming\VK Teams\logs

Примечание

Папка AppData может быть скрытой.

Mac Site: ~/Library/Application Support/VKTeams/logs

Примечание

Папка Library по умолчанию скрыта.

Mac Store: /Users/имя_пользователя__устройства/Library/Containers/ru.mail.messenger-biz-avocado-desktop/Data/Library/Application Support/VK Teams/logs

Linux: .config/VKTeams/logs

Базовые действия и методы к логами клиентских приложений

Действие Метод
Сессии
Логин по паролю clientLogin
Логин по номеру телефона loginWithPhoneNumber
Запрос кода для логина requestPhoneValidation
Проверка валидности номера smsphoneinfo
Нормализация номера телефона normalizePhoneNumber
Старт сессии (после логина, обновления или по директиве сервера) startSession
Проверка, активна ли сессия pingSession
Окончание сессии (пользователь разлогинился сам, либо это выполнил сервер) endSession
История
Отправка сообщения sendIM
Удаление сообщения delMsgBatch
Редактирование сообщения sendIM
Запрос истории getHistory
Список пользователей для упоминания getRecentWriters
Недавние чаты
Отправка статуса прочитанности чата setDlgState
Получение нового сообщения (не из пуша) histDlgState
Удаление контакта из листа контактов removeBuddy
Скрыть чат из недавних hideChat
Группы
Получение информации о группе getChatInfo
Получение списка участников чата getChatMembers
Список тех, кто уже добавлен в группу getChatContacts
Принять/отклонить пользователя в чат с включенной настройкой «Вступление по запросу» chatResolvePending
Создание чата createChat
Изменение настроек чата modChat
Добавление в чат addChat
Пользователь
Получение информации о пользователе getUserInfo
Получение информации по ссылке getIdInfo
Галерея
Запрос галереи чата getEntryGallery
Настройки
Запрос настроек приватности getPrivacySettings
Изменение настроек приватности updatePrivacySettings
Привязка номера телефона attachPhoneNumber
Получить список сессий session/list
Завершить сессию session/reset
Получить список игнорируемых getPermitDeny
Добавить пользователя в игнорируемые setPermitDeny
Обновление своего профиля memberDir/update
Установить никнейм setNick
Проверить никнейм на уникальность checkNick
Поиск
Поиск сообщений по одному чату searchOneDialog
Поиск сообщений по всем чатам searchAllDialogs
Поиск (люди, глобальный поиск групп) search
Опросы
Информация об опросе poll/get
Проголосовать poll/set
Реакции
Получить реакцию на сообщения reaction/get
Отправить реакцию на сообщения reaction/set
Получить список отправивших реакцию на сообщение reaction/list
Файлы и сниппеты
Превью внешней ссылки getPreview
Оригинал внешней ссылки getUrlContent
Заливка файла files/init
Информация о файле files/getinfo
Расшифровка Push-to-talk speechToText
Звонки
Создать звонок по ссылке / вебинар conference/create
type:
equitable - ссылка на звонок со множеством участником
webinar - вебинар
Инициация обычного звонка webrtc/alloc
Дозвон обычного звонка voip/webrtcMsg
Получение списка масок masks/list
Стикеры, умные ответы, саджесты
Саджесты стикеров getSuggest
Витрина стикеров /store/store/my
Умные ответы на цитату getSmartReply

Примеры запросов и ответов для логов клиентских приложений

Логи клиентских приложений хранятся на рабочих станциях пользователей.

Ниже представлены примеры логов клиентских приложений — примеры запросов клиента к серверу и примеры ответа сервера Супераппа.

Пример 1. Запрос getPrivacySettings и успешный ответ (20000)

POST /api/v34/rapi/getPrivacySettings HTTP/2
Host: u.icq.net
User-Agent: ICQ Desktop 728059286 ic18eTwFBO7vAdt9 3.0.0(30191) MacOSX_11.0 PC
Accept: */*
Accept-Encoding: gzip
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Content-Length: 71
 
{"aimsid":"030.4294792228*:728059286","reqId":"1-1606731232"}
We are completely uploaded and fine
HTTP/2 200

Ответ:

{"status": {"code": 20000}, "results": {"groups":
{"allowTo": "myContacts", "inviteBlacklistSize": 1}, "calls":
{"allowTo": "myContacts"}, "smsNotify": {"allowTo": "everybody"}}}

Пример 2. Запрос getChatMembers и ответ 50000 (Request timed out)

POST /api/v31/rapi/getChatInfo HTTP/2
Host: u.icq.net
User-Agent: ICQ Desktop a.yatskov@corp.mail.ru ic18eTwFBO7vAdt9 3.0.0(30096) MacOSX_10.15 PC
Accept: */*
Content-Encoding: zstd
IM-ZSTD-Request-Dict: im-zstd-dict-desktop-request-210720.zdict
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Accept-Encoding: zstd, gzip
IM-ZSTD-Response-Dict: im-zstd-dict-desktop-response-210720.zdict
Content-Length: 79
  
{"aimsid":"153.3649523331.*:a.yatskov@corp.mail.ru","params":{"memberLimit":5,"sn":"681826564@chat.agent"},"reqId":"21257-1606742661"}

Ответ:

{"ts": 1606742665, "status": {"code": 50000, "reason": "Request timed out"},
"method": "getChatInfo", "reqId": "21257-1606742661", "results": {}}

Пример 3. Запрос getChatMembers и ответ 40000 (Bad request)

POST /api/v31/rapi/getChatInfo HTTP/2
Host: u.icq.net
User-Agent: ICQ Desktop a.yatskov@corp.mail.ru ic18eTwFBO7vAdt9 3.0.0(30096) MacOSX_10.15 PC
Accept: */*
Content-Encoding: zstd
IM-ZSTD-Request-Dict: im-zstd-dict-desktop-request-210720.zdict
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Accept-Encoding: zstd, gzip
IM-ZSTD-Response-Dict: im-zstd-dict-desktop-response-210720.zdict
Content-Length: 79
  
{"aimsid":"153.3649523331.*:a.yatskov@corp.mail.ru","params":{"memberLimit":5,"sn":"681826564@chat.agent"},"reqId":"21257-1606742661"}

Ответ:

{"ts": 1606742665, "status": {"code": 40000, "reason": "Bad request"},
"method": "getChatInfo", "reqId": "21257-1606742661", "results": {}}

Пример 4. Проблемы с DNS

curl_easy_perform result is 6 (Couldn't resolve host name)
Could not resolve host: u.icq.net