Skip to content

Стандарти модуля API

Цей файл перевизначає кореневий CLAUDE.md для всього у /src/api/

Специфічні стандарти API

Валідація запитів

  • Використовувати Zod для валідації схем
  • Завжди валідувати вхідні дані
  • Повертати 400 з помилками валідації
  • Включати деталі помилок на рівні полів

Автентифікація

  • Усі ендпоінти вимагають JWT-токен
  • Токен у заголовку Authorization
  • Токен закінчується через 24 години
  • Реалізувати механізм refresh-токенів

Формат відповіді

Усі відповіді мають дотримуватися цієї структури:

json
{
  "success": true,
  "data": { /* фактичні дані */ },
  "timestamp": "2025-11-06T10:30:00Z",
  "version": "1.0"
}

Відповіді з помилками:

json
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Повідомлення для користувача",
    "details": { /* помилки полів */ }
  },
  "timestamp": "2025-11-06T10:30:00Z"
}

Пагінація

  • Використовувати пагінацію на основі курсора (не зсуву/offset)
  • Включати булеве поле hasMore
  • Максимальний розмір сторінки: 100
  • Розмір сторінки за замовчуванням: 20

Обмеження частоти запитів (Rate Limiting)

  • 1000 запитів на годину для автентифікованих користувачів
  • 100 запитів на годину для публічних ендпоінтів
  • Повертати 429 при перевищенні
  • Включати заголовок retry-after

Кешування

  • Використовувати Redis для кешування сесій
  • Тривалість кешу: 5 хвилин за замовчуванням
  • Інвалідувати при операціях запису
  • Тегувати ключі кешу типом ресурсу

Останнє оновлення: 9 квітня 2026