Два способа определить компанию
По адресу сайта. Если вы заходите на адрес своей компании (собственный поддомен), компания понятна сразу из адреса. Это основной путь для работы через браузер. По вашему аккаунту. Мобильное приложение и внешние интеграции обращаются к общему адресу, у них нет отдельного поддомена. В этом случае компания берётся из вашего аккаунта: система смотрит, к какой компании он привязан, и работает в ней.Второй способ — запасной. Он включается только тогда, когда компанию не удалось определить по адресу. Поэтому вход по адресу компании и вход из мобильного приложения приводят к одному результату.
Работать можно только в своей компании
Оба способа определения компании опираются на то, что присылает само приложение: адрес, с которого пришёл запрос, или указание компании в самом обращении. Поэтому определение компании ничего не подтверждает о том, кто пришёл, — и после него выполняется отдельная проверка. Правило простое: если вы вошли в систему, вы должны быть участником той компании, в контексте которой выполняется обращение. Нет участия — обращение отклоняется с отказом «нет доступа к выбранной компании», и никакие данные не читаются и не изменяются. Из этого следует:Обращения без входа в систему проверка не затрагивает — иначе перестали бы работать вебхуки внешних сервисов, callback’и платёжных систем и публичная витрина. Ограничение анонимного доступа к разделам остаётся задачей самих разделов и их прав.
Если компании ещё нет
Аккаунт без компании — нормальное состояние. Регистрация и вход через Google сами компанию не создают: её нужно завести отдельно. Пока компании нет, обычные разделы системы недоступны — на них возвращается отказ с признаком «нужно создать компанию». Приложение распознаёт этот признак и ведёт человека на форму создания компании, а не показывает общую ошибку доступа. При этом продолжают работать разделы, которые обязаны быть доступны до появления компании:Почему изменения видны почти сразу
Найденная компания на короткое время запоминается, чтобы не искать её заново при каждом обращении в серии. Срок хранения — около минуты. Это компромисс: повторные обращения работают быстрее, а правки в настройках компании подхватываются практически сразу. Так же ненадолго запоминается и результат проверки участия — но только положительный. Отказ не запоминается, поэтому только что выданный доступ (например, вас добавили в компанию) начинает работать сразу, без ожидания.Связанные страницы
Пользователи и доступ
Обзорная страница раздела: аккаунт, участие в компании, роли и права.
Аккаунт и участие в компании
Как аккаунт связан с телефоном, как устроено участие в компаниях и откуда берутся роли.
Вход в систему
По каким данным можно войти — телефон, логин или адрес почты — и откуда берутся права.
Сессии и срок действия входа
Сколько живёт вход, как он продлевается и когда потребуется войти заново.
Профиль и управление сотрудниками
Редактирование своего профиля, добавление сотрудников и назначение им ролей.
Сброс пароля по коду
Восстановление доступа по коду из письма, с ограничением частоты запросов.
Вход через Google
Вход по аккаунту Google и связывание его с существующим профилем.
Уровни лояльности и карты
Уровни лояльности клиентов и оформление их карт для Apple и Google Wallet.