Документация LMS версия 2026.09.180

Документация/Как пользоваться/Ученики

Ученики

Раздел называется «Пользователи»: в нём живут все люди школы, а «ученики» — это фильтр внутри. Здесь про то, как их искать, что видно в профиле, как переносить между потоками и — отдельно и подробно — как устроена работа с персональными данными.

Это описание того, как работает продукт, а не юридическая консультация. Формулировки политики обработки, текстов согласий и оферты школа согласует со своим юристом. Мы описываем механику: что именно система записывает, что показывает и что делает по нажатию.

Поиск и сегменты #

Поиск по имени, почте, телефону. Фильтры — по курсу, потоку, тегу, состоянию доступа, дате.

Собранный фильтр сохраняется сегментом. Дальше сегмент работает как обычный объект: по нему делают массовое действие, на нём строят рассылку, по нему ветвится сценарий, и он же доступен фильтром в API. Логику отбора не приходится повторять во втором месте — а значит она не разойдётся.

Условия сегмента соединяются через «и» и «или» с одним уровнем вложенности, отрицание — свойство условия. Это не тот же язык, что в правилах открытия урока: там только «и», и разница объяснена в Доступах.

«Статус подписки» и «Автоплатёж» (раздел «Деньги») — для школ с подписками: подписка активна, просрочена, отменена или закончилась — по тарифу или по любому; автоплатёж включён (у живой подписки сохранена карта), выключен или не прошёл (были неудачные попытки списания). Те же условия — у развилки сценария.

«Открывал страницу» (раздел «Посещения») — по ленте посещений школы: любую страницу, страницу из конструктора, курс, урок, оплату тарифа или вебинар — любые или конкретные, за срок или за всё время (лента хранится год). Отрицание — «не открывал»: так собирается «заходил на лендинг, но не дошёл до оплаты».

Сроки условий — числом и единицей: «за 45 дн.», «за 2 нед.», «за 3 мес.»; пусто — за всё время. День рождения — «сегодня» или «в ближайшие N».

«Эл. адрес содержит» (раздел «Связь» конструктора) отбирает по части адреса без учёта регистра: mail.ru, yandex.ru, icloud.com. Так собирается, например, сегмент российских почтовых ящиков. Пустое значение никого не отбирает — иначе условие без текста совпало бы со всеми, у кого есть почта. Обратный сегмент — то же условие с отрицанием: «не содержит».

В списке сегментов под именем — условия одной строкой, с именами тегов, курсов и тарифов, а рядом с числом людей — когда его считали: число без даты выдаёт себя за сегодняшнее. В меню «⋯» у строки — конструктор, пользователи сегмента и копия; копия сразу открывается конструктором, чтобы поменять условие. Теги — плашками под списком, с числом людей на каждом.

На телефоне сегменты — карточками: имя и число людей в одной строке, под ними условия словами и «обновлён …». В конструкторе условия идут одно под другим карточками «Условие 1», «Условие 2», а «И / ИЛИ» переключается строкой между ними. Правки сохраняются сами; кнопка внизу «Сохранить сегмент · N» дожидается записи и возвращает к списку.

Действия над всеми #

Справа от условий сегмента — действия над всеми, кто попал: выдать доступ к курсу, отправить рассылку, проставить тег, добавить в группу; остальные — в списке «Ещё действия». Число стоит в самой кнопке, и это то, что действительно произойдёт: у рассылки — без тех, у кого нет почты и кто отказался от рекламы; у удаления — без сотрудников.

  • Окно подтверждения называет, что будет сделано и скольким людям. У выдачи доступа — курс, «Доступ до» и галочка «Сообщить письмом, что курс открыт»: письмо «Доступ открыт» уходит только тем, кому доступ открыли сейчас.
  • «Отправить рассылку» открывает письмо на этот сегмент — дальше обычный редактор рассылки.
  • Список людей фиксируется при запуске. Сегмент пересчитывается сам, а операция идёт по тем, кто попал в момент нажатия.
  • Окно можно закрыть — работа не прервётся. Пока оно открыто, виден ход: «Сделано 340 из 428».
  • Отчёт — три числа: сделано, уже было — не меняли, не удалось. У «не удалось» — «посмотреть, кто»: список с причиной у каждого. Отчёт остаётся в «Что уже делали» и попадает в журнал школы.
  • «Удалить пользователей» стоит отдельно, под чертой, и подтверждается числом удаляемых: вводить сотни фамилий нельзя, а число проверяет то, чем можно ошибиться, — размер выборки. Число сверяет и сервер. Удаление то же, что «Удалить навсегда» в карточке человека. Сотрудников, себя и владельца массовое действие не удаляет — они будут в отчёте с причиной.
  • Сценарий необратимого не делает: шага «Удалить навсегда» в сценарии нет, а старый шаг останавливает забег причиной.
  • Агент школы массовые действия не запускает: он считает сегмент и объясняет, кто в нём, а действие над всеми нажимает человек.

Конструктор сегмента считает на каждое изменение — кнопки «рассчитать» нет. Справа от условия — сколько людей попадает под него одно: видно, какое условие отсекает людей, а какое почти ничего не делает. Условие, под которое попадает от 80 % базы, предупреждает об этом; если никто не попал, конструктор называет условие, на котором выборка стала пустой. Группа «хотя бы одно» добавляется кнопкой под условиями.

Справа — сколько человек попало и кто: до тридцати — все, дальше первые десять и ссылка «Показать всех». У каждого «почему в сегменте» — ✓ или ✕ по каждому условию. Там же — у кого нет почты и кто отписался: решение «кому пишем» принимается здесь, а не в диалоге отправки. Сверху — «Выгрузить в таблицу» и «Написать этим людям»: черновик рассылки сразу с этим сегментом в получателях.

Профиль #

На одном экране: контакты, теги, произвольные поля, курсы и состояние доступа по каждому, прогресс, ответы, заказы, история активности, согласия.

Куратор по умолчанию видит только своих учеников. Это важная деталь: безопасное поведение должно получаться само, а не включаться галочкой в каждом курсе отдельно.

Свой профиль #

Свой профиль — та же карточка человека, открытая на себе: у сотрудника это «Мой профиль» в админке, у ученика — «Профиль» в кабинете. Отличия следуют из того, что человек смотрит на себя:

  • в шапке — «это вы», своя роль и что она даёт («Владелец · управлять школой целиком, включая деньги и настройки»), с какого дня в школе и который у вас час; справа — «Выйти из школы» и на скольких устройствах сейчас открыт сеанс;
  • вкладки — «Данные», «Вход и безопасность», «Деньги», «Обучение», «Доступы»; «Прав», «Писем» и «Журнала» в своём профиле нет;
  • «Данные» — «Как вас зовут», «Куда вам писать» (почта с отметкой «подтверждена», телефон, Telegram, MAX, ВКонтакте), «Поля продукта» и «Поля школы»: заполненные сразу, пустые — по ссылке «Показать пустые поля». Справа — «Вход в школу», три последних устройства и «Чего здесь нет и почему». У привязанного мессенджера — «Отвязать»: школа перестаёт писать туда, и входить через него нельзя; привязать снова можно в любой момент. Последний способ входа не отвязывается — без почты и другого мессенджера школа попросит сначала указать почту. То же — в кабинете ученика, «Профиль → Пароль и вход». У того, кто отвечает в обращениях, здесь же «Подпись в обращениях»: она встаёт под каждым его ответом — в письме, в мессенджере и в кабинете ученика; пусто — ответ уходит без подписи;
  • «Вход и безопасность» — пароль (когда меняли, «Сменить»), двухфакторная аутентификация (2FA) и все сеансы с городом (по своей базе городов на сервере школы, адрес наружу не уходит): текущее устройство отмечено, «Выйти везде, кроме этого» завершает остальные. Двухфакторная аутентификация (2FA) — по желанию любой роли, окном в три шага: QR-код и рядом ключ текстом с «Скопировать код» (приложение часто заводят на том же компьютере); шесть цифр из приложения; десять запасных кодов с «Скопировать» и «Скачать файлом» — они показываются один раз, и закрыть окно можно только галочкой «Я сохранил коды». «Отключить» — кодом из приложения, запасным кодом или, если приложения под рукой нет, паролем. При первом входе школа её не спрашивает. Здесь же — «Мессенджеры школы»: три строки Telegram, MAX, ВКонтакте с состоянием, «Привязать» и «Отвязать». То же есть в кабинете ученика: «Профиль → Пароль и вход».

Смена почты проходит через письмо на старый и новый адрес — это вход в школу, а не строка в анкете. Примечания коллег о человеке и имена сотрудников, выдавших ему доступ, в своём профиле не показываются: это работа других людей, а не факты о нём. В чужой карточке пароль, второй шаг и сеансы не правятся — это делает только сам человек.

Карточка человека: данные и деньги #

В шапке — «Принесено денег»: оплаты человека за вычетом возвратов, в валюте школы. Это то же число, по которому отбирает условие сегмента «принёс не меньше», поэтому шапка и сегмент не расходятся. Платёж в чужой валюте попадает в число, только если у него посчитана сумма в валюте школы. Суммы видят сотрудники с правом на заказы, остальным — прочерк с объяснением. В своём профиле это число называется «Оплачено».

Партнёрка — на вкладке «Деньги», блоком под покупками. Сотрудник с правом вести партнёров делает человека партнёром кнопкой «Сделать партнёром» — процент по-школьному, свой ставится прямо в блоке. У партнёра там же свой и действующий процент, число ссылок, заработанное и готовое к выплате, и кнопка, которая выключает партнёрку. Выплаты решаются в разделе «Партнёры».

Что школа выдаёт партнёру — там же, в блоке: личный промокод (его можно заменить на свой, узнаваемый в эфире; старый после замены перестаёт работать) и ссылка на страницу школы — выбором из её страниц и страниц продажи, а не полем адреса. Выданная ссылка появляется у партнёра в кабинете со своим счётчиком переходов. Агенту: «какой промокод у Ольги», «выдай Никите код покороче» — partner_promo.

Партнёр — не роль (правка 20 сентября). «Сделать партнёром» не меняет права: ученик остаётся «Учеником», сотрудник — сотрудником, и войти под ним можно, как под любым. «Моя партнёрская программа» — раздел обычного кабинета рядом с «Курсами», «Покупками» и «Поддержкой» (на телефоне — «Партнёр»); у сотрудника — в меню админки, у того, кто ведёт партнёров, — ссылкой в «Партнёрах». Пункт виден всем: кто ещё не партнёр, видит, что даёт программа, и становится партнёром кнопкой «Стать партнёром» — права от этого не меняются. Ссылки заводит только действующий партнёр, и начисления идут только ему; выключенный партнёр видит свою историю, но новых ссылок и начислений у него нет.

Промокод работает там, где ссылка не работает. Партнёр диктует его голосом — в эфире, в разговоре, в переписке; человек набирает код через неделю с другого устройства, перехода нет, а привёл его партнёр. Покупатель получает скидку (её размер — настройка программы, по умолчанию 10 %), партнёр — своё вознаграждение. Когда есть и переход, и код, переход важнее: по ссылке человек пришёл, а код мог дать кто угодно. Промокод выдаётся сразу, как только человек стал партнёром: партнёр, которому нечего продиктовать, — не партнёр.

В кабинете промокод стоит выше ссылок: его диктуют голосом, ссылку — нет.

В разделе (кадры «Заход 25, отчёт 3»): плитки «К выплате» с порогом, «Ждёт подтверждения» с окном возврата, «Переходов» с долей покупок и «Ваш процент»; ссылки — у каждой свой счётчик переходов; второй уровень — кого привели ваши приведённые; выплата с порогом («осталось столько-то» — ниже порога); последние покупки и строка о том, как считается переход. Второй уровень при нулевом проценте — статистика без денежной строки: школа за него не платит и обещаний не даёт.

Настройка программы — в разделе «Партнёры» у того, кто ведёт партнёров: процент по умолчанию, процент второго уровня, срок учёта перехода, окно возврата и порог выплаты. Все пять — числа с единицами; процент конкретного партнёра меняется отдельно в его карточке и общему не подчиняется.

Вкладка «Данные» разбита на блоки — по вопросам, которые задают о человеке:

  • «Путь в школу» — тип регистрации, дата, кто завёл, сколько людей пришло по партнёрским ссылкам человека (люди, а не переходы), первый заказ;
  • «Куда можно написать» — почта (подтверждена или нет), мессенджеры, привязанные и нет, отписки: от чего и с какого дня. Мессенджер, которого у школы нет и к которому человек не привязан, строкой не показывается;
  • «Примечание для сотрудников» — одна заметка на человека, с автором и датой последней правки из журнала. Человек её не видит, но по его запросу школа обязана её показать — это написано прямо под полем при наборе. Прошлые версии остаются в журнале вместе с текстом;
  • «Поля продукта» — часовой пояс городом и смещением, язык, дата рождения, согласие на рассылки;
  • «Вход и устройства» — пароль, устройства, согласия;
  • «Поля школы» — свои поля школы и метки перехода, с которыми человек пришёл: источник, кампания и другие. Когда метки есть, над полями стоят переключатели «Все · Свои поля · Метки перехода».

На телефоне примечание — первым блоком: с телефона карточку открывают перед звонком, и «о чём договаривались» там важнее анкеты.

У блока — значок «↺»: панель «Кто менял» с правками именно этого блока — почты и телефона, примечания, даты рождения, полей школы. У каждой правки — «было → стало», кто и когда. Это та же история, что во вкладке «Журнал», только по одному блоку, и видит её тот же человек — владелец школы. Остальным панель называет причину, а не показывает пустоту.

Вкладка «Деньги» — покупки одной лентой: заказы и доступы, выданные без оплаты. У заказа — номер, дата, сумма и что с доступом: «Доступ открыт», «Срок доступа истёк», «Ждёт оплаты». У выданного без оплаты — кто выдал. Возвращённый заказ остаётся в ленте с вычеркнутой суммой. Сверху — «оплачено · возвращено»: по прошедшим платежам и прошедшим возвратам, по валютам отдельно. Название заказа ведёт в его карточку — там возврат, чек и история.

Карт в карточке нет: продукт их не хранит, оплата проходит на стороне кассы.

Действия с человеком из карточки #

В шапке карточки — кнопка «Действия». У каждого пункта вторая строка: то, что нужно знать до нажатия, а не после.

Пункт Что делает
Сбросить пароль и отправить новый задаёт новый пароль, письмом отправляет его на адрес аккаунта и завершает все сеансы: прежним паролем войти нельзя
Отправить ссылку для входа письмо со ссылкой; пароль не меняется, ссылка живёт 7 дней
Сменить почту адрес входа меняет школа, без кода подтверждения
Войти под пользователем права и данные этого человека, журнал — на вас; выйти — кнопкой в полосе сверху
Заблокировать человек остаётся в базе, войти не может; спросим, за что
Удалить навсегда покажет, что исчезнет и что останется по закону; подтверждение — фамилией

Заблокированный не исчезает. Его карточка, заказы, прогресс и переписка на месте — закрыт только вход. Причину блокировки видят сотрудники школы, сам человек — нет. Кто, когда и за что заблокировал, видно в журнале школы: второго места для этой записи нет намеренно.

Владельца школы заблокировать нельзя — школа осталась бы без хозяина. Пункта в меню у него нет вовсе, а не отключённым.

Разблокировка меняет ровно вход. Доступы к курсам, группы и теги блокировка не отбирала, поэтому и возвращать нечего.

Сброс пароля — не то же, что «выслать доступ». Письмо о доступе не трогает пароль, который человек задал сам; сброс переписывает его нарочно, и потому завершает сеансы: пароль сбрасывают, когда прежний мог уйти не туда. Сам пароль в журнал школы не пишется — иначе его знала бы вся команда.

Войти под пользователем #

Администратор и владелец могут войти под учеником, куратором, автором, менеджером или администратором — чтобы увидеть школу его глазами. Под владельцем войти нельзя.

  • Права — его, а не ваши. Видно ровно то, что видит этот человек, и не больше.
  • Журнал — на вас. Всё, что сделано в чужом аккаунте, попадает в журнал школы с именем того, кто вошёл; вход и выход — отдельными строками.
  • Сверху — фиолетовая полоса «Вы вошли как … · роль …» с кнопкой «Выйти из аккаунта». Выход возвращает в ваш собственный сеанс, на карточку человека.
  • Просмотр ему не засчитывается. Открытые уроки и просмотренные видео не идут в его прогресс, и «когда заходил» в карточке не меняется. А то, что вы сделали руками, — ответ на задание, «Завершить урок», — засчитывается, как если бы это сделал он сам.
  • Пароль, двухфакторная аутентификация (2FA), контакты и привязки мессенджеров в чужом аккаунте не меняются — это «посмотреть его глазами», а не доступ к аккаунту.
  • Сеанс в чужом аккаунте живёт два часа. Пока он идёт, над карточкой человека видно, кто под ним работает, и сеанс можно завершить.
  • Под заблокированным войти нельзя, как и из одного чужого аккаунта в другой.
  • Агент школы под людьми не входит: у него нет браузера, а само право стоит у него в двойном подтверждении.

Удалить навсегда #

Окно показывает список, а не «вы уверены?»: слева — что исчезнет у этого человека (имя, почта, телефон и анкета, доступы, прогресс, работы и переписка с куратором, обращения, привязки мессенджеров, файлы, подписки), справа — что останется и почему: платежи и чеки — фискальные документы, их школа хранит по закону; заказы — с пометкой «пользователь удалён из базы», их находят по номеру; строка в журнале школы — без персональных данных.

Подтверждение — фамилией (нет фамилии — имя, нет имени — почта): «да» нажимают по привычке, чужую фамилию — нет. Кнопка «Отмена» в окне крупнее кнопки удаления.

  • Необратимо. Восстановить удалённого нельзя: данных для этого больше нет.
  • Действующая подписка отменяется — списаний больше не будет.
  • Сотрудник теряет роль и вход; ученики, которых он вёл, возвращаются в общий список, его ответы в обращениях и написанные им курсы остаются. Файлы сотрудника не удаляются — ими собраны уроки.
  • Владельца и себя удалить нельзя. Удаляет администратор или владелец.
  • Инструмента удаления у агента школы нет. Появится — удаление пойдёт только с двойным подтверждением владельца, как всё необратимое у агента.

Смена почты силами школы #

Человек меняет почту сам, с кодом на новый адрес (ниже). Школа из карточки меняет её без кода: право user.editContact есть не у всех, и каждая такая смена пишется в журнал с прежним значением. На новый адрес уходит письмо со ссылкой для входа — иначе человек узнает о смене, только не сумев войти.

Прежний адрес при смене из карточки не уведомляется: его чаще всего и меняют потому, что ящик потерян. Если школе нужно письмо «ваш адрес входа изменили» на старый адрес — это отдельная просьба, сейчас его нет.

Чего агент школы здесь НЕ делает #

Ни одного действия из этого меню агент не выполняет, и это решение, а не недоделка: сброс пароля, смена адреса входа и блокировка — действия, у которых нет отмены, а у агента нет способа убедиться, что просьба пришла от того, кто вправе её отдать. Агент про них рассказывает — где нажать и что произойдёт, — а нажимает человек.

Смена почты и «это не я» #

Человек меняет почту сам — в кабинете. Код подтверждения уходит на новый адрес: письмом на старый доказать владение новым нельзя.

Одновременно на старый адрес уходит предупреждение — «у вашего аккаунта меняют почту» — с кнопкой «Это не я — отменить».

Отмена завершает все входы в аккаунт, включая входы самого владельца. Это не перестраховка: тот, кто добрался до смены почты, уже внутри аккаунта — у него либо пароль, либо живая сессия. Оставить ему хоть одну значит не отменить ничего.

Ссылка действует 15 минут и срабатывает один раз. Страница спрашивает, прежде чем отменить: почтовые сканеры ходят по ссылкам писем сами, и отмена «переходом» срабатывала бы у каждого, кто честно меняет почту.

После отмены — войти заново и сменить пароль.

Свои поля #

Того, чего нет в карточке по умолчанию, — города, источника заявки, сегмента клиента — школа добавляет сама: «Настройки → Поля школы».

У поля есть название (его видно на экране), ключ (по нему поле живёт в данных) и вид: текст, число, дата, «да / нет» или выбор из списка.

Ключ задаётся один раз и потом не меняется. Под ним уже записаны значения у людей: переименуй его — и данные всех осиротеют молча. Меняется название, оно и видно.

Заведённое поле сразу появляется в трёх местах: в карточке человека, в условиях сегмента («город = Казань») и в подстановках письма ({{field.city}}; прежнее написание {{поле.city}} тоже работает).

Значение проверяется по виду поля. В поле «число» не запишется «примерно тридцать», в поле-список — вариант не из списка. Иначе условие сегмента «больше 500» молча перестало бы находить такого человека.

Заполняет поля школа, а не человек. Своё значение он может увидеть — если поле отмечено видимым в кабинете; правит его администратор или менеджер.

В списке видно, где поле появится и у скольких оно заполнено: «карточка · условие · письмо» (и «кабинет», если поле видно человеку) и «1 402 из 1 842». Поле, заполненное меньше чем у процента людей, отмечено строкой под таблицей: условие сегмента по его значению отберёт единицы — для заметки такое поле годится, для рассылки нет.

Удаление спрашивает, что делать с ответами. «Оставить ответы в данных» — поле пропадёт из карточек, условий и писем, а записанное останется: вернёте поле с тем же ключом — вернутся и значения. «Стереть ответы» — значения удалятся у всех вместе с полем, а в журнал ляжет, у скольких стёрто. Восстановить стёртое неоткуда, поэтому кнопка удаления ждёт выбора.

Агент отвечает, какие поля заведены, где они появляются и насколько заполнены. Завести, поправить или удалить поле он не может — это делается в разделе.

Поля заказа #

Поля бывают двух видов, и вид выбирается в том же разделе переключателем: поля человека и поля заказа.

«Сколько сотрудников подключаете» относится к сделке, а не к человеку. У второго заказа того же человека ответ другой, и записать его в карточку значит затереть первый.

Поля заказа заполняются в карточке заказа — обычно поддержкой после разговора. В кабинет человеку они не показываются вовсе: кабинет показывает карточку человека, а не заказы школы.

Одинаковый ключ у человека и у заказа — разные поля. «Источник» у человека и «источник» у заказа не спорят между собой.

Потоки и группы #

Группа — набор людей. Поток — группа с датой старта, от которой считается расписание курса.

Перенос между потоками пересчитывает расписание от даты старта нового потока. Прогресс, ответы и сертификаты сохраняются, но часть открытых уроков может закрыться — поэтому перед переносом показывается, что именно изменится: как сдвинутся даты открытия, что станет с прогрессом и с назначенным куратором. Смотреть это можно, не перенося.

Персональные данные #

Дальше — механика. Что именно система записывает и делает.

Документы школы #

Политика обработки персональных данных, пользовательское соглашение, оферта и три согласия публикуются в «Настройки → Документы школы» новой версией: согласие, данное вчера, остаётся привязано к вчерашнему тексту. Документ, который ещё заглушка засева, отмечен на экране и в списке настроек — заменить его нужно до запуска. Типовой текст подставляет реквизиты школы; чего не хватает, остаётся пометкой «[укажите …]», и с ней документ не публикуется. Агент документы не публикует.

Удаление аккаунта по просьбе ученика #

В профиле ученика — «Удалить аккаунт». Нажатие не стирает аккаунт на месте: школе уходит обращение с темой «Удаление аккаунта» (повторное нажатие второго не заводит), а сотрудник удаляет человека навсегда из карточки. Сведения об оплатах закон велит хранить — что оставить, решает школа.

Согласие фиксируется, а не подразумевается #

Согласие — это запись, и у неё есть:

  • цель. Одно согласие — одна цель. Общего «согласен со всем» не существует: согласие на обработку данных для обучения и согласие на рекламные рассылки — разные записи, и отзыв одного не трогает другое;
  • версия документа, по которой оно дано. Не «согласен с политикой», а «согласен с политикой такой-то редакции»;
  • способ, которым получено: галочка при регистрации, действие в кабинете, импорт;
  • момент получения.

Отдельно про импорт: согласие, привезённое из другой системы, помечается способом «импорт». Механически это отметка «утверждается, что согласие получено там» — она не равна согласию, полученному у вас, и в журнале видна как импортированная.

Отзыв — это дата, а не удаление строки #

Отозванное согласие не исчезает из журнала. У записи появляется дата отзыва, и она остаётся.

Причина механическая: нужно уметь показать, что до 15 марта согласие было, а значит рассылка от 10 марта была отправлена законно. Удалённая строка этого показать не может — она выглядит как «согласия не было никогда».

Отозвать согласие человек может сам, в кабинете, тем же способом, каким давал. Отзыв действует немедленно и распространяется на то, что уже стоит в очереди на отправку.

Отписка от категории сообщений — то же самое: действует сразу и не обходится ни правами, ни API. Отправка проверяет её так же, как интерфейс, — с полными правами и из сценария тоже.

Выгрузка по требованию субъекта #

Все данные человека одним файлом: профиль, согласия, зачисления, прогресс, ответы, заказы, платежи, переписка.

Отдаётся только то, что относится к нему. Ничего о других людях в выгрузку не попадает — в том числе из общих объектов вроде чата вебинара.

Обезличивание #

Необратимо. Имя и контакты заменяются на обезличенные, вход становится невозможен.

При этом остаются учебные события и денежные документы: прохождение курса, заказы, платежи, чеки. Не потому, что нам так удобно, а потому, что школа обязана хранить их по требованиям к бухгалтерскому учёту и кассовым расчётам — и удаление их обезличиванием создало бы у школы другую проблему вместо решённой.

Само обезличивание записывается в журнал: кто, когда, кого.

Что записывается в журнал всегда #

Изменения доступа, денег и персональных данных: кто сделал, что, когда, откуда, какое было значение и какое стало.

Действие, выполненное интеграцией или агентом, помечается как выполненное интеграцией — с указанием, от чьего имени, если оно шло от имени человека.

Кто журнал видит #

Вопросов к журналу три, и права у них разные.

«Что делали с этим человеком» — видит только владелец школы, в карточке человека. Здесь видно, кто из сотрудников что делал с чужими данными, а это уже наблюдение за людьми: раздавать его наравне с остальным нельзя.

«Что делали с этим объектом» — видят администратор и владелец, прямо в карточке объекта. В карточке заказа это «кто отменил», «кто вернул деньги», «кто заполнил поле».

Весь журнал школы разом — только владелец, в «Настройки → Журнал школы». Там отвечают на вопросы, которые в карточке не задаются: кто выключил код школы, кто перевыпустил ключ трансляции, кто менял настройки на прошлой неделе. Целиком журнал включает и записи о людях — поэтому он там же, где и история человека, а не у администратора.

В журнале — последние двести записей и отбор: поиск по имени, по действию словами («ключ», «роли») или по ключу настройки; «кто угодно» или один сотрудник; срок — сутки, неделя, месяц или всё время. Под строкой — причина, если её назвали, и «Было · Стало», когда значения простые: число, текст, роли, маска секрета. Постраничности нет намеренно: журнал читают, когда ищут вчерашнее.

«Что происходит в системе» — соседний раздел, и вопрос у него другой: журнал отвечает, кто что сделал, а этот раздел — сделалось ли: выдался ли доступ, обработалась ли оплата, сработал ли сценарий. Сверху три числа — обработано за сутки, требует внимания, ждут обработки; отказы стоят первыми и говорят словами, что не получилось и что ответил обработчик. У отказа — «Повторить». Письма событие не роняют: не ушедшее письмо видно во вкладке «Письма» человека.

Агент отвечает по обоим разделам теми же функциями. Журнал целиком он показывает только владельцу, остальным передаёт тот же отказ; повторить событие он не может — это кнопка в разделе.

Письма человеку #

Во вкладке «Письма» карточки — всё, что школа отправила человеку: когда, каким каналом, какое письмо и что с ним стало. «Отправлено», «не ушло: причина», «не отправлено: человек отписался», а у размеченных писем — ещё «открыто» и «переход».

Показано только то, что продукт знает на самом деле:

  • открытия и переходы видны у писем, которые продукт размечает: у рассылок всегда, у служебных писем — доступ, чек, «урок открыт» — если школа не выключила это в «Настройки → Соответствие закону». У неразмеченного письма пустое место не значит «не открыл»;
  • «открыто» — нижняя оценка: почтовые программы часто не загружают картинку, по которой считается открытие;
  • отчётов о доставке продукт пока не получает — видно, ушло письмо или нет.

Меню письма #

У каждой строки — меню «⋯». Оно открывается поверх страницы и закрывается само: выбранным действием, нажатием в любом свободном месте или клавишей Esc.

  • «Отчёт о письме» — куда ушло, когда открыто, по каким ссылкам переходили, повторы и номер письма. У неушедшего — причина словами, что делать, код ошибки и ответ сервера. Адрес перехода записывается без параметров: одноразовые ссылки входа не хранятся. Ссылку на отчёт можно переслать коллеге.

  • «Переотправить» — отправить письмо ещё раз. Что уйдёт, решает вид письма:

    • письмо рассылки — тем текстом, что сейчас в рассылке; отписавшемуся не уйдёт, в отчёт рассылки повтор не попадает;
    • чек, «доступ открыт», «урок открыт», письма вебинаров и поддержки — с теми же данными, что в первый раз. Данные для повтора хранятся 30 дней;
    • письмо о доступе — доступ высылается заново, со свежей ссылкой входа;
    • код входа, сброс пароля, приглашение, уведомления о смене пароля и почты не переотправляются: ссылки в них одноразовые. Причина написана прямо в меню.

    Переотправляет сотрудник, которому открыты рассылки; повтор записывается в журнал действий.

  • «Скопировать код ошибки» — у неушедших писем: номер письма, время, код и ответ сервера одной строкой — для поддержки или хостера.

  • «Проверить отправку почты» — когда отказал сам почтовый канал школы (неверный пароль, нет связи с сервером): ведёт к проверке в настройках.

Вкладку видят сотрудники с правом смотреть людей; в собственном профиле её нет.

Подтверждена ли почта — отдельный столбец в списке людей: галочка у тех, кто перешёл по ссылке из письма или ввёл код. Почту подтверждает переход именно по той ссылке, которая на эту почту ушла.

Роли и права сверх роли #

Во вкладке «Права» карточки — роли сотрудника и то, что человек с ними может: «✓ можно» и «— нет» по таблице прав, а не по памяти. Роль выдаёт владелец или администратор; роль владельца галочкой не выдаётся.

Ниже — «Права сверх роли», четыре галочки владельца:

  • Настраивать школу — всё в «Настройках», кроме платёжных систем;
  • Писать агенту — чат с агентом в админке и в Telegram;
  • Подключать платёжные системы — касса и ключи магазина;
  • Вставлять свой код — скрипты и счётчики на страницах и в уроках.

Ставит и снимает их только владелец. У каждой галочки написано, что человек получит, а где её не поставить — почему: «открыто ролью» (код у администратора), «сначала выдайте роль» (платёжные системы ученику). Выданное действует, пока у человека есть роль, под которую его давали: сняли роль администратора — галочка «платёжные системы» больше ничего не открывает. Подробно — Права.

Что от человека продолжает работать. Во вкладке «Права» владелец видит, что от этого человека работает сейчас: код страниц, виджетов и уроков, который человек поставил или правил последним; сценарии, которые человек включил и которые идут, — с числом людей внутри; письма школы, текст которых человек правил последним. У каждой строки — когда её трогали последний раз и «Открыть». Если владелец закрыл право на код, заголовок называет дату. Ничего не выключается само: отзыв права прекращает создание, но не останавливает работающее, — опасность в том, что об этом забудут, и список нужен, чтобы решить по каждому пункту. Условия доступа и сегменты не помнят, кто их настроил, поэтому в списке их нет.

В списке людей и в шапке карточки у человека одна плашка — самой сильной его роли: «Администратор», а не «Ученик» и «Администратор» рядом.

Чего на этой странице нет #

Текстов документов. Ни политики обработки, ни формы согласия, ни формулировок для оферты, ни отдельного согласия на распространение персональных данных.

Их у нас нет, и придумывать их мы не станем: это не та вещь, где правдоподобный образец лучше отсутствующего. Согласие с неверной формулировкой хуже, чем его отсутствие, потому что создаёт у школы уверенность, что вопрос закрыт.

Механика выше — наша и описана честно. Тексты — к вашему юристу.

Склеить два аккаунта одного человека #

Человек купил с рабочей почты, потом зарегистрировался с личной — и у школы два его аккаунта: покупки в одном, прогресс в другом. «Действия → Склеить с другим аккаунтом» сводит их в один.

Три шага. Сначала школа сама предлагает похожие аккаунты и подписывает, на чём основана догадка: «тот же телефон», «почта с опечаткой», «то же имя и фамилия» — чтобы не склеить однофамильцев. Дальше — какое значение оставить в каждой строке (по умолчанию значения основного; почта дубля остаётся второй почтой). И наконец — что переедет, числами: заказы и платежи, доступы к курсам, ответы на задания, сертификаты, обращения, подписки, баланс, теги, персональный менеджер.

Дубль удаляется навсегда, отменить склейку нельзя — это написано до нажатия, а кнопка названа действием: «Склеить навсегда». Баланс складывается, а не переезжает: кошелёк у человека один.

Письмо человеку не уходит. Если склейка верна, он ничего не заметит — просто увидит все покупки в одном кабинете. Если ошибочна, письмо только напугает: чинить всё равно школе. Поэтому уведомления нет, а след есть: в журнале человека остаётся строка «Аккаунты склеены» с перечнем перенесённого и именем сотрудника.

Чего склейка не делает: владельца школы склеить нельзя (сначала передайте школу), и два аккаунта сотрудников — тоже: снимите роль с дубля, и он станет обычным учеником.

Эта страница в Markdown