Files
sfera-new/docs/DEBUG_SELLER_STATISTICS.md
Veronika Smirnova b6935428ab docs: добавить планы по API ключам и отладке статистики
- API_KEYS_IMPLEMENTATION_PLAN.md - план реализации системы API ключей
- API_KEYS_SECURITY_PLAN.md - план безопасности API ключей
- API_KEYS_SIMPLE_PLAN.md - упрощенный план API ключей
- DEBUG_SELLER_STATISTICS.md - отладка статистики селлеров
- FIX_API_KEYS_SAVING.md - исправление сохранения API ключей

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 21:31:27 +03:00

2.3 KiB
Raw Blame History

🔍 ДИАГНОСТИКА ПРОБЛЕМЫ /seller/statistics

📊 ПРОБЛЕМА

Страница статистики селлера не отображает данные

🔴 КОРНЕВАЯ ПРИЧИНА

Отсутствует API ключ Wildberries в организации

Детали:

  1. GraphQL резолвер getWildberriesStatistics проверяет наличие API ключа:
const apiKey = user.organization.apiKeys.find((key) => key.marketplace === 'WILDBERRIES' && key.isActive)

if (!apiKey) {
  return {
    success: false,
    message: 'API ключ Wildberries не найден',
    data: [],
  }
}
  1. Компонент SalesTab корректно обрабатывает этот случай и показывает mock данные

РЕШЕНИЯ

ВАРИАНТ 1: Добавить API ключ в БД

INSERT INTO "ApiKey" (
  "id",
  "apiKey",
  "marketplace",
  "isActive",
  "organizationId",
  "createdAt"
) VALUES (
  gen_random_uuid(),
  'YOUR_WILDBERRIES_API_KEY',
  'WILDBERRIES',
  true,
  'SELLER_ORGANIZATION_ID',
  NOW()
);

ВАРИАНТ 2: Использовать mock данные (временное решение)

Изменить резолвер для возврата mock данных при отсутствии API ключа:

if (!apiKey) {
  // Возвращаем mock данные для разработки
  return {
    success: true,
    message: 'Using mock data (no API key)',
    data: generateMockStatistics(dateFrom, dateTo),
  }
}

ВАРИАНТ 3: Добавить UI для настройки API ключа

Создать страницу настроек для селлеров где они могут добавить свой API ключ Wildberries

📋 ПРОВЕРКА

  1. Откройте Prisma Studio: npx prisma studio
  2. Проверьте таблицу ApiKey
  3. Убедитесь что у организации селлера есть активный ключ с marketplace = 'WILDBERRIES'

🎯 СТАТУС

  • Архитектура: Работает
  • GraphQL: Корректно настроен
  • UI компоненты: Рендерятся без ошибок
  • API интеграция: Требуется API ключ