Техническая документация HW Project

Полное руководство по API, интеграциям и разработке на платформе

Начало работы

Добро пожаловать в документацию HW Project. Это руководство поможет вам начать работу с нашей платформой.

Быстрый старт

  1. Зарегистрируйте приложение в панели разработчика
  2. Получите свои API ключи
  3. Установите один из наших клиентских SDK
  4. Начните интегрировать HW API в свой проект

Требования

  • Node.js 16+ или Python 3.8+ для серверной разработки
  • Modern browser для клиентских приложений
  • HTTPS для всех продакшен-запросов

Справочник API

HW Project предоставляет RESTful API с JSON-форматом данных.

GET /api/v1/courses

Получить список доступных курсов

Параметры запроса

  • category - Фильтр по категории
  • limit - Лимит результатов (по умолчанию 20)
  • offset - Смещение для пагинации

Пример ответа

{
  "data": [
    {
      "id": "course_123",
      "title": "Веб-разработка",
      "description": "Современные технологии веба",
      "duration": "8 недель",
      "level": "beginner"
    }
  ],
  "meta": {
    "total": 42,
    "limit": 20,
    "offset": 0
  }
}
POST /api/v1/enrollments

Записаться на курс

Тело запроса

{
  "course_id": "course_123",
  "user_id": "user_456",
  "payment_method": "card"
}

Пример ответа

{
  "success": true,
  "enrollment_id": "enroll_789",
  "access_granted": true,
  "expires_at": "2025-12-31T23:59:59Z"
}

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

HW API использует JWT-токены для аутентификации запросов.

Получение токена

POST /api/v1/auth/token
Content-Type: application/json

{
  "api_key": "your_api_key",
  "api_secret": "your_api_secret"
}

Использование токена

Добавляйте полученный токен в заголовок Authorization:

Authorization: Bearer your.jwt.token.here

Обновление токена

Токены действительны 24 часа. Для обновления:

POST /api/v1/auth/refresh
Authorization: Bearer your.jwt.token.here

SDK и клиенты

Для удобства разработки мы предоставляем клиентские библиотеки:

JavaScript SDK

npm install @hwproject/sdk
import HW from '@hwproject/sdk';

const client = new HW({
  apiKey: 'your_api_key',
  env: 'production'
});

const courses = await client.courses.list();

Python SDK

pip install hwproject
from hwproject import Client

client = Client(api_key='your_api_key')
courses = client.courses.list()