Дополнительно
Добавить в закладкиFerium
Администратор
Пример FastAPI-приложения, выполняющего роль прокси-сервера для API маркетплейса “Portals Market”. Основные возможности:
Приложение реализует набор основных маршрутов:
Конфигурация маркетплейса:
Работа с кошельками:
Работа с NFT:
Коллекции и бэкдропы:
Действия пользователей:
1. Общая структура
- Создается приложение на FastAPI с заголовком “Portals Market Proxy API”.
- Для группировки маршрутов используется APIRouter с префиксом /market.
- Для взаимодействия с основным API задействован асинхронный HTTP-клиент (httpx.AsyncClient).
2. Управление клиентом
- При запуске приложения (startup_event) инициализируется HTTP-клиент с необходимыми заголовками.
- При завершении работы (shutdown_event) клиент корректно закрывается, освобождая ресурсы.
3. Эндпоинты API
Приложение реализует набор основных маршрутов:
Конфигурация маркетплейса:
- /market/config — получение общей информации о параметрах площадки (комиссии, кэшбэк и пр.).
Работа с кошельками:
- /market/wallets/limits — получение лимитов кошелька.
- /market/wallets/history — просмотр истории транзакций с возможностью фильтрации.
- /market/wallets/balance — отображение текущего баланса.
Работа с NFT:
- /market/nfts — получение списка NFT.
- /market/nfts/search — поиск NFT по коллекциям, фонам и другим параметрам.
- /market/nfts/buy — покупка NFT.
- /market/nfts/withdraw — вывод NFT.
Коллекции и бэкдропы:
- /market/collections/backdrops — список доступных бэкдропов.
- /market/collections/backdrops/floor — минимальные цены на бэкдропы.
Действия пользователей:
- /market/users/actions — история действий пользователя.
4. Модели данных
Для строгой типизации данных применяются модели Pydantic:- NFTInfo, NFTItem — описание NFT.
- WalletAction, UserAction — действия, связанные с кошельками и пользователями.
- Дополнительные модели используются для структурирования ответов API.
