Регистрация тенанта
Тенант подаёт заявку на регистрацию через API. Менеджер MLS рассматривает заявку в Telegram-боте и принимает решение.
Последовательность
sequenceDiagram
participant Т as Тенант
participant API
participant Bot as MLS Bot
participant М as Менеджер
Т->>API: POST /register
API-->>Т: 202 Accepted
API->>Bot: tenant.registration.request
Bot->>М: Новая заявка
М->>Bot: Одобрить / Отклонить
Bot->>API: tenant.registration.decision
API->>API: Создаёт тенант + API-ключ
API-->>Т: Email с ключом
Участвующие сообщения
| Шаг | Сообщение | Publisher | Consumer |
|---|---|---|---|
| 1 | tenant.registration.request |
API | MLS Bot |
| 2 | tenant.registration.decision |
MLS Bot | API |
Что происходит при одобрении
- API создаёт тенанта и генерирует API-ключ
- Ключ отправляется на email тенанта
- Тенант может проверить статус:
GET /tenants/register/{request_code}
Что происходит при отклонении
- Заявка помечается как отклонённая
- Тенант может подать повторную заявку
Повторная отправка заявки
Поведение зависит от текущего состояния тенанта с таким email.
Есть необработанная заявка
sequenceDiagram
participant Т as Тенант
participant API
participant Bot as MLS Bot
Т->>API: POST /register
API->>Bot: tenant.registration.cancelled
Note over Bot: Старая заявка отменена
API->>Bot: tenant.registration.request
API-->>Т: 202 Accepted
Предыдущая заявка отменяется, менеджер получает уведомление. Новая заявка создаётся и отправляется на рассмотрение.
| Шаг | Сообщение | Publisher | Consumer |
|---|---|---|---|
| 1 | tenant.registration.cancelled |
API | MLS Bot |
| 2 | tenant.registration.request |
API | MLS Bot |
Есть активная подписка
Ничего не происходит. API возвращает 200 OK. Сообщения в RabbitMQ не публикуются.
Для изменения данных активной подписки используется отдельный процесс — см. Изменение данных тенанта.