Публичная документация
Высокоуровневая схема
RouterAPI состоит из нескольких слоёв:
- Laravel‑приложение — кабинет, ключи, баланс, транзакции, usage и публичные страницы;
- RouterAPI Gateway — Go‑сервис, который принимает внешний трафик и проксирует его в upstream;
- upstream‑провайдер — модель или сервис, который реально выполняет генерацию текста/изображений/аудио и другие сценарии;
- MySQL — основное хранилище данных кабинета;
- Redis — кэш и инфраструктурные операции, где это необходимо.
Поток запроса
- Внешний клиент вызывает
https://routerapi.ru/api/v1/.... - Gateway проверяет
Authorization: Bearer .... - Gateway запрашивает данные по ключу и балансу.
- Если всё в порядке, запрос идёт в upstream.
- Ответ upstream возвращается клиенту без нежелательной трансформации.
Что делает Laravel
Laravel отвечает за продуктовую часть:
- регистрация и вход;
- создание и управление API-ключами;
- баланс и платежи;
- история транзакций;
- usage и статистика;
- публичные страницы и документация.
Что делает RouterAPI Gateway
Gateway отвечает за transport-слой и базовые проверки:
- принимает запросы внешних клиентов;
- проверяет ключ;
- проверяет баланс и активные пакеты;
- проксирует запросы в upstream;
- обновляет usage/billing после ответа (по правилам биллинга);
- отдаёт ошибку
401,402или429, если запрос нельзя выполнить.
Почему это удобно
- клиенту нужен только один base URL;
- бизнес-логика и billing живут отдельно от прокси;
- при необходимости можно менять upstream-модель без ломки клиентского кода;
- публичный API можно документировать как стабильный контракт, а модели менять независимо.
Где смотреть реализацию
routes/api.phpgateway/router/router.gogateway/services/proxy.gogateway/services/request_validator.gopublic/openapi.json
Нужен следующий раздел?
Откройте обзор, dashboard, мультимодальность или технические сценарии API.