Декомпозиция BR 3.5 — Импорт сотрудников из PayKeeper
Источник
PK API подтверждён работающим
POC 2026-04-27 — endpoint
GET /info/organization/users/наkoala-test.server.paykeeper.ruотвечает по Basic auth теми же кредами что используются для invoice/IMS API. Поля response:id, login, email, fio, admin, refund, invoices_only. Никаких блокеров от PayKeeper нет.
Затронутые сервисы / репозитории
| Сервис | Порт | Репо | Задачи |
|---|---|---|---|
| Paykeeper Adapter | :3015 | erp-paykeeper-adapter | Paykeeper Adapter |
| Admin BFF | :3020 | erp-admin (bff/) | Admin BFF |
| Admin Franchise web | :3020 | erp-admin (web/) | Admin Franchise |
| User Service | :3002 | erp-user-service | — изменений нет (используем существующие GET /internal/users/by-email, POST /api/v1/employees, PATCH /api/v1/employees/{id}) |
| Catalog Service | :3004 | — | — изменений нет |
| Order Service | :3005 | — | — изменений нет |
| Store Service | :3003 | — | — изменений нет |
| Infrastructure | — | — | — изменений нет |
POS (erp-pos-desktop, erp-pos) — не трогаем. Импорт сотрудников — бэкенд + админка.
Последовательность выполнения
- Paykeeper Adapter (≈ 1.5 дня) — миграция
paykeeper_users+paykeeper_user_imports,PayKeeperUsersClient(один новый endpoint к PK),UserImportService(preview + import logic),UserImportController(4 admin endpoints). Работает синхронно — без outbox/cron. - Admin BFF (≈ 0.5 дня) — 4 прокси-роута + shared TypeScript types.
- Admin Franchise web (≈ 1.5 дня) — кнопка «Выгрузить из PK» на
/employees, страница wizard’а/employees/import-from-paykeeper, модалка выбора ЛК (если их >1), модалка «Журнал импортов».
Итого: ≈ 3.5 дня бэкенд + фронт.
Зависимости от других BR
- BR 3.3 (Paykeeper Adapter — P0 Pilot) — должна быть готова. Используем
paykeeper_accounts,pk_login/pk_password, JWT auth-инфраструктура для PK. - BR 1.4.4 (permission-модель) —
integrations.read/integrations.manage/employees.editуже описаны в роли. - User Service
GET /internal/users/by-email— должен быть готов (это существующий endpoint).
Риски / открытые вопросы
Все блокеры закрыты на этапе планирования. Остались дизайн-вопросы (см. §10 BR 3.5) — решения зашиты в спеку:
admin: truePK игнорируется автоматически (не маппится в нашу системную роль) — владелец сам выбирает permissions- Системные
login: admin/userпоказываются с пометкой — владелец сам решает импортировать или пропустить phonePK не отдаёт — wizard просит ввести- Empty list / >100 users — обрабатываем через UI (empty state / без пагинации в P0)
Прогресс
- Paykeeper Adapter — миграция + ims-style PK users client + UserImportService + Controller
- Admin BFF — 4 прокси-роута + shared types
- Admin Franchise web — кнопка + wizard + модалка журнала + state-machine
- e2e-проверка на koala-test PK + demo-coffee tenant
- Deploy на VPS
Sandbox credentials
ЛК PK: koala-test.server.paykeeper.ru (тот же что для BR 3.3 / 3.4). Тестовые пользователи: admin, user, koala, et — реальный ответ API сохранён в BR §1.1.
Demo-tenant в нашем ERP: demo@nirbi.ru / admin123 на erp-test.nirbi.ru. Перед e2e — привязать koala-test ЛК к ЮЛ demo-coffee (если ещё не привязан в рамках BR 3.3).