Задача стояла в создании SaaS-платформы для покупки виртуальных номеров и получения SMS-кодов активации. Пользовательский путь должен быть быстрым: регистрация, пополнение баланса, выбор сервиса и страны, покупка номера, ожидание SMS, завершение или отмена заказа.
Основная сложность была внутри backend и операционного контура: провайдеры, availability, цены, биллинг, статусы заказов, входящие SMS, web/API-доступ, партнерские callbacks и административное управление должны были работать в одной системе.
kizz собрал продукт как SaaS-платформу с клиентским кабинетом, admin console и backend service. Клиентская часть закрывает покупку номера, активные заказы с таймером, отображение SMS-кода, историю активаций, пополнение баланса, историю депозитов, профиль, API keys и документацию API.
Backend построен на FastAPI, Celery, PostgreSQL и Redis. Домены разделены на bounded contexts: identity, billing, catalog, gateway и ordering. Эта структура удерживает пользователей, роли, API keys, кошельки, транзакции, refunds, страны, сервисы, цены, provider routes, inbound SMS и жизненный цикл заказов.
Для разных типов клиентов были выделены несколько API-поверхностей: Web API для клиентской платформы, Client API по API key, legacy-compatible SMS-Activate-like API, Partner API с callbacks и Admin API с role-gated доступом.
AstraSMS получил production-style основу SaaS-сервиса: клиентский кабинет, админскую консоль, FastAPI backend, биллинг, маршрутизацию SMS-провайдеров, жизненный цикл заказов, API-key доступ и совместимый интеграционный слой для внешних клиентов.
Кейс показывает инженерную сторону SaaS-разработки: деньги, провайдеры, доступность, заказы, API, статусы, callbacks и операционная админка работают как единый продуктовый контур.