Заметки
CRM-помощник в чате: как ограничить доступ к данным
У CRM-помощника есть неприятная ловушка: бот может работать с широкими правами интеграции и отвечать сотруднику данными из чужих сделок. Сам факт, что сотрудник написал боту, не даёт ему доступ ко всей CRM.
Поэтому запрос «покажи мои просроченные сделки» стоит разбирать на сервере как ограниченную операцию. Сервер определяет автора сообщения, проверяет доступ и выполняет заранее предусмотренный поиск. Модель формулирует ответ по полученному результату.
Не давайте модели произвольный REST-метод и административный токен. Для первой версии достаточно двух-трёх разрешённых действий: найти карточку, показать текущую стадию, перечислить незавершённые дела. Если используется пользовательская OAuth-авторизация, вызов должен идти от соответствующего сотрудника, а не от владельца общего вебхука.
Изменения — отдельный шаг с подтверждением. В ответе полезно показывать ссылки на карточки: тогда сотрудник может проверить, откуда взялась информация.