Ученики
Раздел называется «Пользователи»: в нём живут все люди школы, а «ученики» — это фильтр внутри. Здесь про то, как их искать, что видно в профиле, как переносить между потоками и — отдельно и подробно — как устроена работа с персональными данными.
Это описание того, как работает продукт, а не юридическая консультация. Формулировки политики обработки, текстов согласий и оферты школа согласует со своим юристом. Мы описываем механику: что именно система записывает, что показывает и что делает по нажатию.
Поиск и сегменты #
Поиск по имени, почте, телефону. Фильтры — по курсу, потоку, тегу, состоянию доступа, дате.
Собранный фильтр сохраняется сегментом. Дальше сегмент работает как обычный объект: по нему делают массовое действие, на нём строят рассылку, по нему ветвится сценарий, и он же доступен фильтром в 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;
- Подключать платёжные системы — касса и ключи магазина;
- Вставлять свой код — скрипты и счётчики на страницах и в уроках.
Ставит и снимает их только владелец. У каждой галочки написано, что человек получит, а где её не поставить — почему: «открыто ролью» (код у администратора), «сначала выдайте роль» (платёжные системы ученику). Выданное действует, пока у человека есть роль, под которую его давали: сняли роль администратора — галочка «платёжные системы» больше ничего не открывает. Подробно — Права.
Что от человека продолжает работать. Во вкладке «Права» владелец видит, что от этого человека работает сейчас: код страниц, виджетов и уроков, который человек поставил или правил последним; сценарии, которые человек включил и которые идут, — с числом людей внутри; письма школы, текст которых человек правил последним. У каждой строки — когда её трогали последний раз и «Открыть». Если владелец закрыл право на код, заголовок называет дату. Ничего не выключается само: отзыв права прекращает создание, но не останавливает работающее, — опасность в том, что об этом забудут, и список нужен, чтобы решить по каждому пункту. Условия доступа и сегменты не помнят, кто их настроил, поэтому в списке их нет.
В списке людей и в шапке карточки у человека одна плашка — самой сильной его роли: «Администратор», а не «Ученик» и «Администратор» рядом.
Чего на этой странице нет #
Текстов документов. Ни политики обработки, ни формы согласия, ни формулировок для оферты, ни отдельного согласия на распространение персональных данных.
Их у нас нет, и придумывать их мы не станем: это не та вещь, где правдоподобный образец лучше отсутствующего. Согласие с неверной формулировкой хуже, чем его отсутствие, потому что создаёт у школы уверенность, что вопрос закрыт.
Механика выше — наша и описана честно. Тексты — к вашему юристу.
Склеить два аккаунта одного человека #
Человек купил с рабочей почты, потом зарегистрировался с личной — и у школы два его аккаунта: покупки в одном, прогресс в другом. «Действия → Склеить с другим аккаунтом» сводит их в один.
Три шага. Сначала школа сама предлагает похожие аккаунты и подписывает, на чём основана догадка: «тот же телефон», «почта с опечаткой», «то же имя и фамилия» — чтобы не склеить однофамильцев. Дальше — какое значение оставить в каждой строке (по умолчанию значения основного; почта дубля остаётся второй почтой). И наконец — что переедет, числами: заказы и платежи, доступы к курсам, ответы на задания, сертификаты, обращения, подписки, баланс, теги, персональный менеджер.
Дубль удаляется навсегда, отменить склейку нельзя — это написано до нажатия, а кнопка названа действием: «Склеить навсегда». Баланс складывается, а не переезжает: кошелёк у человека один.
Письмо человеку не уходит. Если склейка верна, он ничего не заметит — просто увидит все покупки в одном кабинете. Если ошибочна, письмо только напугает: чинить всё равно школе. Поэтому уведомления нет, а след есть: в журнале человека остаётся строка «Аккаунты склеены» с перечнем перенесённого и именем сотрудника.
Чего склейка не делает: владельца школы склеить нельзя (сначала передайте школу), и два аккаунта сотрудников — тоже: снимите роль с дубля, и он станет обычным учеником.