Для установки зависимостей
npm i
Старт приложения
npm run start
Если в старой версии уже были настроены переменные окружения в файле .env
, то для их импорта в новый формат конфигурации необходимо будет вставить ваш .env
в корневую директорию проекта и выполнить
npm run env-to-json
Далее будет создан файл app-config.json
, куда и попадут все необходимые настройки из .env
. Но для работы будет необходимо дополнительно заполнить ключи, что останутся в данном файле пустыми
В случае отсутствия возможности авторизация в API Zendesk по средствам Логин/Пароля или Zendesk token возможно использовать _zendesk_shared_session
, для его получения, необходимо в полезной нагрузке найти получить запрос execute, из которого в куки запроса вытащить _zendesk_shared_session
и указать в app-config.json - в параметре zendesk.shared_session
Работа оповещений по тикетам регулируется параметром defaultConfig.alert.zendesk_alerting_type
(можно настроить после запуска уже в самом tg) который может принимать следующие занчения
default - нотификации по любым изменения, без игнорирования
user - игнорируются изменения в тикетах выбранного сотрудника
group - игнорируются изменения при взятия обращения
Для типа user
в ответном сообщении будет предложено выбрать вашего сотрудника из Zendesk
После запуска приложения и отправки сообщения боту /start
, если в конфиге включены оповещения из Slack (подробнее ниже), то в ответном сообщении будет отправлен скрипт, который необходимо будет вставить в консоль браузера с открытой вкладкой Slack F12 => Console => Ctrl + V
Вкладка может быть выгружена из памяти или закрыта - в таком случае вы получите уведомление от бота о данной проблеме
В данной версии бота появилось возможность регулировать оповещения из какого источника вы хотите получать с помощью команд /zendesk
и /slack
Так же появилась возможность регулировать тип оповещений которые вы хотите получать через команду /notification_type
push - Только уведомления
call - Со звонками
По команде /status
можно увидеть:
- Был ли запущен скрипт в браузере для Slack и когда была последний успешный обмен пакетами
- Статус доступности интеграции с ВАТС и корректность настройки пользователя для звонков
- Время последнего успешного запроса тикетов из Zendesk
В app-config.json можно указать 3 параметра для логирования:
logger.fileSize - лимит одного файла для combined логов, по достижению данного лимита, будет создан новый лог файл, куда продолжиться запись
logger.dirSize - лимит размера для всей директории с логами. По достижению лимита будет удалён самый старый лог файл (кроме error.log)
logger.path - путь до директории логов, куда будут писаться логи
error.log
- файл, который учитывается при размере всей директории, но никогда не будет удалён, его отчистка происходит вручную (при необходимости), все ошибки, попавшие в данный файл, так же пишутся и в общие файлы с логами