API Документация

REST API для интеграции с Гант АСУП

Гант АСУП предоставляет полнофункциональный REST API для интеграции с внешними системами. Все endpoints поддерживают JSON формат, JWT авторизацию и автоматическую OpenAPI документацию.

⚠️ Pre-Production (Beta)

API находится в стадии активной разработки. Некоторые endpoints могут изменяться. Рекомендуем использовать версионирование и следить за changelog.

Аутентификация

API использует JWT токены для авторизации запросов. Существует два типа токенов:

1. Session токены (автоматически)

2. API токены (вручную)

Для интеграций рекомендуется использовать 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

2. Authentication API /api/auth/*

Управление пользователями, авторизация и JWT токены

3. Organizations API /api/organizations/*

Multi-tenancy, управление организациями и ролями

4. Dashboard API /api/dashboard/*

Метрики, аналитика и статистика по проектам

5. Integrations API /api/integrations/*

Интеграции с GitHub, 1C, Slack, Telegram

6. Audit API /api/audit/*

Логирование действий, compliance и история изменений

Примеры использования

Получить список проектов

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:

https://api.gorizont.ai/docs

Автогенерируется FastAPI, всегда актуальная

SDK и библиотеки

Официальные SDK для популярных языков программирования (в разработке):

Python

В разработке

JavaScript/TypeScript

В разработке

Go

Планируется

Поддержка для разработчиков

Вопросы по API и интеграциям: contact@gorizont.ai