Files
sfera-new/docs/FIX_API_KEYS_SAVING.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

🔧 ИСПРАВЛЕНИЕ СОХРАНЕНИЯ API КЛЮЧЕЙ

ПРОБЛЕМА

В настройках пользователя (вкладка API) поля для API ключей есть, но они не сохраняются в БД.

ПРИЧИНА

В функции handleSave в user-settings.tsx отсутствует логика для сохранения API ключей через мутацию ADD_MARKETPLACE_API_KEY.

РЕШЕНИЕ

1. Добавить в handleSave после сохранения профиля:

// Сохраняем API ключи маркетплейсов
if (formData.wildberriesApiKey) {
  await apolloClient.mutate({
    mutation: ADD_MARKETPLACE_API_KEY,
    variables: {
      input: {
        marketplace: 'WILDBERRIES',
        apiKey: formData.wildberriesApiKey,
        validateOnly: false,
      },
    },
  })
}

if (formData.ozonApiKey) {
  await apolloClient.mutate({
    mutation: ADD_MARKETPLACE_API_KEY,
    variables: {
      input: {
        marketplace: 'OZON',
        apiKey: formData.ozonApiKey,
        clientId: formData.ozonClientId, // если требуется
        validateOnly: false,
      },
    },
  })
}

2. Импортировать мутацию:

import { UPDATE_USER_PROFILE, UPDATE_ORGANIZATION_BY_INN, ADD_MARKETPLACE_API_KEY } from '@/graphql/mutations'

3. Обновить GET_ME запрос после сохранения:

// Обновляем кэш с новыми API ключами
await apolloClient.refetchQueries({
  include: [GET_ME],
})

АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ

Создать отдельную страницу управления API ключами с:

  • Валидацией ключей перед сохранением
  • Показом статуса интеграции
  • Возможностью удаления ключей
  • Тестированием соединения

ТЕКУЩИЙ СТАТУС ПОЛЬЗОВАТЕЛЕЙ

Пользователи МОГУТ добавлять API ключи через:

  1. Регистрацию (если добавлена логика)
  2. GraphQL мутацию напрямую
  3. Prisma Studio (администратор)

НО НЕ МОГУТ через UI настроек!