
Web API
Фронтенд и headless-клиенты работают через одну точку входа:
/assets/components/minishop3/api.php?route=/api/v1/{path}Параметр route обязателен. Запросы группы /api/v1 всегда проходят три middleware: CORS → RateLimit → ServiceCheck. TokenMiddleware добавляется только к cart, order и части customer.
Manager API (connector.php) на этой странице не описан.
Формат ответа
Если route пустой, сервер отвечает 400 ещё до роутера:
{
"success": false,
"message": "Route parameter is required",
"code": 400
}В ответе роутера есть success, message и data. У ошибки добавляются code, errors и error_code.
Успех. Поле message чаще всего null: контроллеры каталога и кабинета его не передают. Пустая строка приходит там, где вызывающий код передал '' — например у GET /customer/token/get. Корзина и заказ отдают строку лексикона операции: GET /cart/get отвечает Данные корзины получены.
{
"success": true,
"message": null,
"data": {}
}Ошибка:
{
"success": false,
"message": "…",
"code": 400,
"errors": null,
"error_code": "bad_request"
}Ключи errors и error_code в ответе роутера есть всегда, хотя errors часто null. У ответа до роутера их нет. Подробнее: Ошибки.
Middleware
| Порядок | Middleware | Назначение |
|---|---|---|
| 1 | CorsMiddleware | Сверяет Origin со списком ms3_cors_allowed_origins |
| 2 | RateLimitMiddleware | Считает квоту запросов по ms3_rate_limit_* |
| 3 | ServiceCheckMiddleware | Проверяет доступность сервисов MS3 |
| (по роуту) | TokenMiddleware | Находит токен или выдаёт гостевой (auto-mint) |
Настройки CORS и rate limit: CORS, Системные настройки.
Разделы
Свои роуты и детали FastRoute: API Router.
