Skip to content

Latest commit

 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WB API Workbench

Локальное GUI-приложение для работы с Wildberries API.

Цель проекта

Портфолио-проект на Python для демонстрации:

  • работы с внешним API;
  • GUI-разработки;
  • локального хранения данных;
  • безопасного хранения API-ключей;
  • работы с JSON-схемами;
  • импорта локальных выгрузок;
  • проектирования прав доступа.

Основные возможности

  • ввод и хранение API-ключей WB и Ozon;
  • проверка живости ключа: WB — пинг разделов API по правам токена, Ozon — отдельная проверка Seller и Performance credentials;
  • тестирование методов Wildberries API;
  • просмотр request/response JSON;
  • сохранение raw JSON в локальную БД;
  • импорт JSON / CSV / Excel выгрузок;
  • роли доступа: Viewer, Tester, Operator, Admin;
  • история запросов;
  • локальное обновление API-схем.

Скриншоты

Keys Users Diagnostics
Keys Users Diagnostics

Статус

Версия v0.4 — API и данные (в работе).

Текущий прогресс

  • структура проекта, Git, виртуальное окружение, pyproject.toml;
  • ролевая модель доступа (Viewer / Tester / Operator / Admin) и единая матрица прав;
  • режимы Test / Real с правилом доступа к Real, роль и режим переживают перезапуск приложения (запоминаются после Apply Settings);
  • логика пользователей: создание, защита от дублей, поиск, смена роли, деактивация, JSON-персистентность (переживают перезапуск);
  • три варианта хранения ключей: keyring, шифрованный файл, сессия;
  • диагностика окружения;
  • декодер JWT-ключей WB (кабинет, права по битам, срок действия);
  • проверка живости ключей: WB (пинг разделов) и Ozon (Seller + Performance);
  • БД-слой подключён: SQLite создаётся при старте, CRUD-репозитории для ключей и истории запросов, метаданные ключа несут маркетплейс и тип;
  • GUI-каркас и все основные разделы: Diagnostics, Settings, Users, Keys (WB + Ozon: сохранение, проверка живости, список с масками), API Tester (GET/POST, выбор раздела WB API — у каждого свой хост, Test mode с временным ключом / Real mode с сохранённым, опциональное сохранение ответа в историю запросов);
  • main_window.py разобран на секции-миксины (app/gui/sections/) — было 978 строк одним классом, стало ~250 строк каркаса + разделы по файлам;
  • 127 тестов (pytest) на core-логике + скриптовый смоук-тест на GUI.

Дальше

  • импорт локальных выгрузок (Imports) и раздел History;
  • кэширование результата проверки ключа (чтобы не дёргать API на каждый клик);
  • реальная таблица для списка ключей в Keys вместо текстового вывода;
  • реальная аутентификация (сейчас роль — просто дропдаун в Settings, без проверки личности);
  • актуальные скриншоты (текущие — до рефакторинга и до API Tester).

About

Локальный GUI-воркбенч для Wildberries API — управление ключами, ролями и тестирование методов

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages