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

78 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔧 ИСПРАВЛЕНИЕ СОХРАНЕНИЯ API КЛЮЧЕЙ
## ПРОБЛЕМА
В настройках пользователя (вкладка API) поля для API ключей есть, но они не сохраняются в БД.
## ПРИЧИНА
В функции `handleSave` в user-settings.tsx отсутствует логика для сохранения API ключей через мутацию `ADD_MARKETPLACE_API_KEY`.
## РЕШЕНИЕ
### 1. Добавить в handleSave после сохранения профиля:
```typescript
// Сохраняем 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. Импортировать мутацию:
```typescript
import { UPDATE_USER_PROFILE, UPDATE_ORGANIZATION_BY_INN, ADD_MARKETPLACE_API_KEY } from '@/graphql/mutations'
```
### 3. Обновить GET_ME запрос после сохранения:
```typescript
// Обновляем кэш с новыми API ключами
await apolloClient.refetchQueries({
include: [GET_ME],
})
```
## АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ
Создать отдельную страницу управления API ключами с:
- Валидацией ключей перед сохранением
- Показом статуса интеграции
- Возможностью удаления ключей
- Тестированием соединения
## ТЕКУЩИЙ СТАТУС ПОЛЬЗОВАТЕЛЕЙ
Пользователи МОГУТ добавлять API ключи через:
1. Регистрацию (если добавлена логика)
2. GraphQL мутацию напрямую
3. Prisma Studio (администратор)
НО НЕ МОГУТ через UI настроек!