Перейти к содержанию

Регистрация тенанта

Тенант подаёт заявку на регистрацию через 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

Что происходит при одобрении

  1. API создаёт тенанта и генерирует API-ключ
  2. Ключ отправляется на email тенанта
  3. Тенант может проверить статус: GET /tenants/register/{request_code}

Что происходит при отклонении

  1. Заявка помечается как отклонённая
  2. Тенант может подать повторную заявку

Повторная отправка заявки

Поведение зависит от текущего состояния тенанта с таким 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 не публикуются.

Для изменения данных активной подписки используется отдельный процесс — см. Изменение данных тенанта.