Обзор REST API
Базовый URL
https://app.orbita.example/apiСтруктура эндпоинтов
| Группа | Префикс | Описание |
|---|---|---|
| Аутентификация | /api/login-*, /api/register | Вход, регистрация |
| Динамические сущности | /api/e/{model} | CRUD любых объектов |
| Метаданные сущностей | /api/sys/entities | Структура таблиц |
| Связи | /api/sys/relations | M2M-связи между сущностями |
| Порталы | /api/portal/{slug}, /api/admin/portals | Публичные порталы |
| Настройки | /api/sys/settings/global | Глобальные настройки |
| Уведомления | /api/sys/notification_templates | Шаблоны уведомлений |
| Пользователи | /api/user, /api/sys/users | Управление аккаунтами |
| Орг. структура | /api/sys/companies, /api/sys/org_units | Компании, подразделения |
| Интеграции | /api/sys/incoming_messages, /api/sys/incoming-actions | Входящие события |
| Тенант | /api/tenant | Управление рабочим пространством |
Аутентификация
Все запросы (кроме публичных эндпоинтов порталов) требуют заголовка:
Authorization: Bearer <token>Получение токена — см. Аутентификация.
Пагинация
Эндпоинты со списками поддерживают параметры:
GET /api/e/it_requests?page=2&per_page=25Ответ включает мета-информацию:
json
{
"data": [ ... ],
"meta": {
"current_page": 2,
"per_page": 25,
"total": 150,
"last_page": 6
}
}Server-side фильтрация
Для сложных фильтров используйте POST-эндпоинт:
http
POST /api/e/{model}/list-server
Authorization: Bearer <token>
Content-Type: application/json
{
"filters": [
{ "field": "status", "operator": "=", "value": "new" },
{ "field": "priority", "operator": "=", "value": "high" }
],
"sort": [{ "field": "created_at", "direction": "desc" }],
"paginate": { "page": 1, "per_page": 20 }
}Подробнее — в разделе Фильтрация.
Глобальный поиск
http
GET /api/sys/global-search?q=слово
Authorization: Bearer <token>Ищет по всем индексируемым сущностям. Минимум 2 символа.
Health check
GET /api/pingВозвращает {"status": "ok"} без авторизации.