Система приглашений
Кратко
Система приглашений позволяет администраторам подключать сотрудников клиентских компаний к платформе поддержки. Поддерживаются два типа приглашений: общая ссылка для компании (invite link) и персональное приглашение конкретному человеку (personal invite). Приглашения обрабатываются через публичную страницу join.html и бэкенд join.php. Данные хранятся в таблицах client_orgs (код ссылки) и client_invites (персональные приглашения).
Кто имеет доступ
| Роль | Создание ссылки | Персональное приглашение | Отмена приглашения |
|---|---|---|---|
| Администратор | Да | Да | Да |
| Руководитель | Да | Да | Да |
| Оператор | С правом управления доступом клиентов | С правом управления доступом клиентов | С правом управления доступом клиентов |
| Сотрудник клиента | Нет | Нет | Нет |
Право управления доступом клиентов у администратора и руководителя есть по роли, оператору его выдают отдельно.
Где найти
Управление приглашениями доступно из карточки компании:
- Перейти в Клиенты — откроется список компаний (
#orgs). - Нажать на строку нужной компании — откроется её карточка.
- В карточке — раздел «Ссылка для подключения» и раздел «Участники», где под списком участников показываются персональные приглашения и есть кнопка + Пригласить.
Публичная страница принятия приглашения: https://support.tehprof.kz/join.html.
Как работает
Два типа приглашений
| Тип | Параметр URL | Таблица | Описание |
|---|---|---|---|
| Ссылка компании | ?code=XXXX | client_orgs.invite_code | Общая ссылка, по которой может присоединиться любой |
| Персональное | ?t=XXXX | client_invites.invite_token | Отправляется конкретному контакту (email или телефон) |
Не путайте эти ссылки с кодом привязки клиента к партнёру в Bitrix24 — тот привязывает целый портал клиента к компании поддержки, а не подключает отдельного сотрудника к личному кабинету.
Ссылка компании (invite link)
Компания получает уникальный код при создании; если ссылки у компании нет, её можно создать кнопкой в карточке. Формат ссылки: https://support.tehprof.kz/join.html?code=ABC123.
Поведение зависит от режима:
- Открытый — после подтверждения контакта пользователь сразу получает доступ.
- С одобрением — создаётся запись со статусом
pending, доступ подтверждается вручную. - Закрыт — ссылка не принимается, возвращается ошибка 403.
Ссылку можно сменить кнопкой Сменить ссылку — старая перестаёт работать.
Персональное приглашение (personal invite)
Сотрудник с правом управления доступом клиентов создаёт приглашение, указывая контакт (email или телефон) и имя получателя. Система генерирует уникальный токен и формирует ссылку join.html?t=TOKEN, действующую 72 часа.
Статусы приглашения:
| Статус | Описание |
|---|---|
pending | Ожидает принятия |
accepted | Принято — пользователь получил доступ |
expired | Истёк срок действия |
cancelled | Отменено оператором |
Персональные приглашения всегда дают статус active (не требуют подтверждения), в отличие от ссылки в режиме «С одобрением».
Процесс принятия приглашения
- Пользователь открывает ссылку
join.html. - Фронтенд вызывает
join.php?action=info— получает название компании и тенанта. - По ссылке компании пользователь вводит имя и один контакт — email или телефон. Фронтенд вызывает
accept_link, и на этот контакт уходит код подтверждения (действует 10 минут); пользователь подтверждает его кнопкой из сообщения или вводит код вручную (confirm_link). - По персональному приглашению контакт уже указан в приглашении — фронтенд вызывает
accept_invite. - Бэкенд находит или создаёт запись в
users(черезfind_or_create_user), создаётuser_orgs. - Пользователь видит подтверждение подключения. Пароль не задаётся: клиент входит одноразовым кодом на свой контакт.
Безопасность
- Rate limiting: не более 10 попыток за 15 минут с одного IP; коды подтверждения на один контакт — не более 3 в час.
- Подтверждение контакта: по ссылке компании доступ выдаётся только после ввода кода, отправленного на указанный контакт.
- Токены: генерируются криптографически стойким способом.
- Срок действия: персональные приглашения имеют
expires_at— после истечения автоматически помечаются какexpired. - Проверка тенанта: принимаются только приглашения от тенантов со статусом
activeилиtrial.
API
| Действие | Endpoint | Доступ |
|---|---|---|
| Информация о приглашении | join.php?action=info | Публичный |
| Принять ссылку компании | join.php?action=accept_link | Публичный |
| Подтвердить код по ссылке | join.php?action=confirm_link | Публичный |
| Принять персональное | join.php?action=accept_invite | Публичный |
| Создать приглашение | admin.php?action=create_client_invite | С правом управления доступом клиентов |
| Отменить приглашение | admin.php?action=cancel_client_invite | С правом управления доступом клиентов |
| Повторить приглашение (новый токен) | admin.php?action=resend_client_invite | С правом управления доступом клиентов |
| Список приглашений | admin.php?action=list_client_invites | Оператор+ |
Частые вопросы
Может ли пользователь присоединиться без пароля?
Да. Пароль при принятии приглашения не запрашивается: клиент подтверждает контакт кодом и потом входит тем же способом — одноразовым кодом.
Что произойдёт, если отправить приглашение на уже зарегистрированный email?
Система найдёт существующего пользователя и просто создаст связь с компанией (user_orgs). Дублирования аккаунтов не произойдёт.
Как отправить ссылку клиенту?
Скопируйте ссылку из карточки компании (кнопка Копировать ссылку) и отправьте через любой канал: email, WhatsApp, Telegram, мессенджер. Система не отправляет ссылку автоматически.
Чем приглашённые пользователи отличаются от контактов Bitrix24?
Это разные сущности: приглашение даёт доступ в личный кабинет Support, а контакты клиента собираются отдельно и автоматически из порталов Bitrix24.
Связанные статьи
- Управление компаниями-клиентами — создание компаний и режимы приглашений.
- Единый аккаунт и способы входа — регистрация и авторизация пользователей.
- Подключение клиентской компании — пошаговое руководство.
Нужна поддержка, которая так и работает?
TehProf.kz Support собирает обращения из WhatsApp, Telegram, почты и виджета в одну очередь, считает сроки по SLA и показывает, где служба проседает.