API Документация
REST API для интеграции с Гант АСУП
Гант АСУП предоставляет полнофункциональный REST API для интеграции с внешними системами. Все endpoints поддерживают JSON формат, JWT авторизацию и автоматическую OpenAPI документацию.
⚠️ Pre-Production (Beta)
API находится в стадии активной разработки. Некоторые endpoints могут изменяться. Рекомендуем использовать версионирование и следить за changelog.
Аутентификация
API использует JWT токены для авторизации запросов. Существует два типа токенов:
1. Session токены (автоматически)
- Выдаются при логине через
/api/auth/login - Для работы в web-интерфейсе
- TTL: зависит от настроек сессии
2. API токены (вручную)
- Создаются явно через
POST /api/auth/tokens - Для CI/CD, скриптов, интеграций
- TTL: 90 дней (по умолчанию)
- Можно отозвать через
DELETE
Для интеграций рекомендуется использовать API токены вместо session токенов, так как они имеют больший TTL и могут быть отозваны независимо от сессии.
# Получить токен
curl -X POST https://api.gorizont.ai/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "alice", "password": "***"}'
# Использовать в запросах
curl -H "Authorization: Bearer <token>" \
https://api.gorizont.ai/api/dashboard/summary
Основные группы API
1. Gant Protocol API /api/gant/*
Управление проектами, планами и задачами через Gant Protocol
- •
GET /api/gant/plans— список планов - •
POST /api/gant/plans— создать план - •
GET /api/gant/plans/{id}— детали плана - •
PUT /api/gant/plans/{id}— обновить план - •
DELETE /api/gant/plans/{id}— удалить план
2. Authentication API /api/auth/*
Управление пользователями, авторизация и JWT токены
- •
POST /api/auth/login— авторизация - •
POST /api/auth/register— регистрация - •
GET /api/auth/profile— профиль пользователя - •
POST /api/auth/tokens— создать API токен - •
DELETE /api/auth/tokens/{id}— отозвать токен
3. Organizations API /api/organizations/*
Multi-tenancy, управление организациями и ролями
- •
GET /api/organizations— список организаций - •
POST /api/organizations— создать организацию - •
POST /api/organizations/{id}/invite— пригласить пользователя - •
PUT /api/organizations/{id}/members/{user_id}— изменить роль
4. Dashboard API /api/dashboard/*
Метрики, аналитика и статистика по проектам
- •
GET /api/dashboard/summary?time_range=7d— общая статистика- Фильтры:
7d | 30d | 90d | all - Метрики: completion rate, overdue tasks, top contributors
- Фильтры:
5. Integrations API /api/integrations/*
Интеграции с GitHub, 1C, Slack, Telegram
- •
POST /api/integrations/github/config— настроить GitHub webhook - •
POST /api/integrations/github/webhook— receiver для GitHub - •
POST /api/integrations/erp/1c/config— настроить 1C OData - •
POST /api/integrations/erp/1c/sync-contracts— синхронизация договоров
6. Audit API /api/audit/*
Логирование действий, compliance и история изменений
- •
GET /api/audit/log?user=alice&action=project.create— фильтр логов - •
GET /api/audit/stats— статистика по действиям - •
POST /api/audit/prune— очистить старые логи (admin)
Примеры использования
Получить список проектов
curl -X GET https://api.gorizont.ai/api/gant/plans \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json"
# Ответ:
{
"plans": [
{"id": "proj-001", "title": "MVP Release", "status": "in-progress"},
{"id": "proj-002", "title": "Security Audit", "status": "done"}
]
}
Создать задачу
curl -X POST https://api.gorizont.ai/api/gant/plans/proj-001/tasks \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Implement OAuth",
"status": "planned",
"priority": "high",
"assigned_to": "alice",
"due_date": "2025-12-31"
}'
WebSocket для real-time обновлений
Для получения обновлений в реальном времени используйте WebSocket соединение. Сервер отправляет события при изменении задач, проектов или статусов.
const ws = new WebSocket('wss://api.gorizont.ai/ws?token=<token>');
ws.onmessage = (event) => {
const update = JSON.parse(event.data);
console.log('Update:', update);
};
Безопасность и лимиты
Rate Limiting
- • 100 запросов в минуту на организацию
- • Заголовки:
X-RateLimit-Limit,X-RateLimit-Remaining - • HTTP 429 при превышении лимита
Encryption
- • HTTPS/TLS 1.3 для всех соединений
- • AES-256 encryption at rest для PII
- • HMAC SHA256 для webhook signatures
Audit Log
- • Все API действия логируются
- • Append-only журнал для compliance
- • Retention: 365 дней (configurable)
Scope Enforcement
- • Токены с ограниченными правами (read/write/admin)
- • Revocation через
DELETE /api/auth/tokens/{id} - • Multi-tenancy isolation (org_id)
OpenAPI спецификация
Полная интерактивная документация доступна через Swagger UI:
Автогенерируется FastAPI, всегда актуальная
SDK и библиотеки
Официальные SDK для популярных языков программирования (в разработке):
Python
В разработке
JavaScript/TypeScript
В разработке
Go
Планируется
Поддержка для разработчиков
Вопросы по API и интеграциям: contact@gorizont.ai