Фиксировать изменения карточки пользователя в "История действий"
Добавить в "Историю действий" действия если сотрудники меняют\добавляют какие-то данные в карточку пользователя.
У нас доп. сделана интеграция, которая пробрасывает определенные поля в нашу внутреннюю CRM если указана компания пользователя.
Ловим моменты, когда поля не прокинулись в CRM, а в данных пользователя компания стоит.
По "Истории действий" не отследить, когда добавили поле.
Знаю, что возможно закрыть вопрос правилом, которое будет фиксировать изменения заметкой, но не хочется засорять область обращения.
-
> Добавить в "Историю действий" действия если сотрудники меняют\добавляют какие-то данные в карточку пользователя.
В историю действий это точно добавлять не будем.
Во-первых, там отображаются данные, которые относятся именно к обращению, а не к пользователю. Если показывать их вместе, чаще всего это будет усложнять поиск нужных изменений, так как данных в истории будет ещё больше. Изменения пользователя логичнее отображать либо в отдельном блоке, либо в самом профиле пользователя.
Во-вторых, добавление эти данных в историю действий означало бы, что при каждой активации истории действий нам приходилось выполнять два очень тяжёлых запроса к базе данных, когда сотруднику в подавляющем большинстве случаев нужно посмотреть что-то одно. В базе данных таблицы истории действий имеют миллиарды записей. С изменениями данных пользователя будет то же самое. Выполнять тяжелые запросы сразу к обеим сущностям — серьёзное увеличение нагрузки на ровном месте.
Сама по себе задача тоже не из простых. Нужно учитывать связку и разделение профилей, а там много нюансов. Посмотрим на востребованность, но в ближайшее время за неё не сможем взяться.
> У нас доп. сделана интеграция, которая пробрасывает определенные поля в нашу внутреннюю CRM если указана компания пользователя. Ловим моменты, когда поля не прокинулись в CRM, а в данных пользователя компания стоит. По "Истории действий" не отследить, когда добавили поле.
Журнал изменений данных пользователя позволит вам понять, кто и когда менял данные, но это не решение проблемы с проброской данных в CRM. Чтобы от него была польза в вашем случае, нужно делать не только отображение данных в аккаунте сотрудника, но и отдельные методы для получения этих данных через API. Это две отдельные задачи.
Нужно доработать саму интеграцию. Не знаю, какая логика у вас сейчас используется для обновления данных в CRM, но варианты следующие:
1. Передавать данные пользователя при открытии обращения сотрудником. Можно реализовать через JS-файл на странице обращения: https://support.omnidesk.ru/knowledge_base/item/106925?sid=29140
2. Раз в несколько часов или день выполнять API-запрос для получения списка пользователей, которые были обновлены за прошедший интервал: https://omnidesk.ru/api/users#view_all_users (параметры "from_updated_time" и "to_updated_time"). -
Я бы проголосовал вот за такую реализацию "Изменения пользователя логичнее отображать либо в отдельном блоке, либо в самом профиле пользователя." Нам тоже не хватает логов по изменению полей пользователя, но это редкое событие, например при каких-то разборах проблем обработки обращений хочется узнать кто из сотрудников (а может какая-то наша интеграция) отредактировал поля пользователя.
При этом:
- Историю действий не хотелось бы дополнительно засорять, тем более по одному пользователю может быть несколько одновременных тикетов.
- В ленте активности это хотелось бы увидеть, так как при оценке действий сотрудников это будет полезно. -
В историю действий, как писал выше, это точно добавлять не будем. Скорее всего, добавим через отдельный блок в данных пользователя. Задача есть в бэклоге, но у неё пока невысокий приоритет. Зафиксировал, что вам тоже нужна.
Подумаем над лентой активности.