Обсудить задачу

КЕЙС

Заявка-Хаб

Заявки приходят из формы, из бота, с лендинга — и расходятся туда, где вы работаете: почта, CRM, таблицы, Telegram. Четыре канала доставки, повтор при сбое, панель со статусами.

FastAPI · SQLite · Docker

Что нужно было решить

Собрать заявки из формы, бота и лендинга в одной системе и доставлять их в нужные каналы без потери при временной ошибке внешнего сервиса.

Как устроено решение

API принимает заявку с защитой от дублей, создает отдельные попытки доставки и передает их адаптерам почты, webhook, Telegram и CSV. Фоновый обработчик повторяет неудачные попытки с задержкой, а панель показывает статус и историю.

Что подтверждает кейс

Получился запускаемый демонстрационный сервис с очередью доставки, повторными попытками, ручным повтором, фильтрами, историей и выгрузкой. Внешние ключи для демонстрационного режима не требуются.

Список заявок в панели Заявка-Хаб с фильтрами и статусами доставки
Панель — список заявок

ГДЕ ОНИ ЛЕЖАТ

Все заявки в одном списке

Заявки из формы, бота и лендинга приходят в одну панель — не в три места, за которыми пришлось бы следить отдельно.

Карточка заявки с источником, статусом и историей доставки
Карточка заявки
Детали попытки доставки заявки через API
Попытка доставки — API
Заявка со статусом «доставлено»
Статус «доставлено»

ОДНА ЗАЯВКА

Откуда пришла и куда ушла

Карточка заявки показывает источник и попытки доставки по каналам — видно, что заявка не потерялась, а прошла путь до получателя.

Настройки маршрутов доставки заявок по каналам
Настройки маршрутов

МАРШРУТЫ

Куда доставлять — настраивается без программиста

Каналы доставки — почта, CRM, таблицы, Telegram — включаются в настройках и не требуют правки кода.

ФОРМА · БОТ · ЛЕНДИНГ ЗАЯВКА ПОЧТАCRMТАБЛИЦЫTELEGRAM НЕ ДОШЛО — ПОВТОР

ЕСЛИ КАНАЛ НЕ ПРИНЯЛ

Заявка не теряется

Когда канал не принимает заявку, сервис не сообщает об этом молча — он повторяет попытку доставки.

Обсудить задачу