Логи Супераппа
Назначение документа
В данном документе описаны инструменты сбора логов клиентских приложений, описано расположение логов, а также приведены примеры логов.
Документ предназначен для использования администраторами организации.
Дополнительная документация
Инструкция по настройке интеграции с SIEM-системой — в документе представлено описание логируемых событий и формат log-файлов, а также настройка отправки log-файлов в SIEM-систему.
Сбор логов
В десктопной версии приложения
-
Перейдите в настройки Супераппа, нажав на значок
в левом нижнем углу. -
Выберите раздел Напишите нам, затем нажмите на кнопку Получить архив логов:
В мобильной версии приложения
-
Выберите пункт Сообщить о проблеме, затем нажмите на пункт Получить архив логов.
Чтобы собрать логи мобильного приложения до входа в систему, в окне авторизации нажмите на иконку со знаком вопроса справа от заголовока Введите 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": {}}

