Дрейф API маркетплейсов — настольная программа для Windows
==========================================================

Что это
-------
Следит за изменениями в API трёх площадок: Ozon, Яндекс.Маркет и
Wildberries. Показывает, где исчез параметр, где сменился тип, где метод
помечен устаревшим — то есть всё, что обычно замечаешь уже после того,
как интеграция сломалась.

Программа полностью автономна:
  * не нужен сервер и хостинг
  * не нужны ключи, регистрация и оплата
  * не нужен интернет, кроме самого момента проверки

Данные берутся из публичных спецификаций на GitHub. История складывается
в файл drift.db рядом с программой.


Как запустить
-------------
1. Распакуйте ЭТУ ПАПКУ ЦЕЛИКОМ в любое место, где можно создавать файлы
   (например, в «Документы» или на рабочий стол).

2. Запустите drift.exe.

3. Нажмите «Проверить» — программа скачает спецификации и построит первый
   слепок. Это займёт несколько секунд.

Всё. При первом запуске истории ещё нет, поэтому изменений не будет — это
нормально: первому слепку не с чем сравниваться. Дальше при каждом
запуске и по кнопке «Проверить» программа сравнивает состояние с прошлым
разом и показывает, что поменялось.


ВАЖНО: почему в папке лежат ещё два файла
-----------------------------------------
Рядом с drift.exe обязательно должны оставаться:

    libssl-1_1-x64.dll
    libcrypto-1_1-x64.dll

Это библиотеки шифрования (OpenSSL). Без них программа запустится, но НЕ
СМОЖЕТ скачивать спецификации — то есть не заработает вовсе. Компилятор,
на котором собрана программа, умеет работать только с OpenSSL версии 1.1,
поэтому положить их нужно именно рядом с exe.

Ничего устанавливать в систему не требуется: просто не удаляйте и не
переносите эти два файла отдельно от программы.


Что программа умеет
-------------------
Обзор
  Три площадки с лампочками: зелёная — всё спокойно, жёлтая — есть
  предупреждения, красная — есть критичные изменения. Ниже список
  изменений с важностью:

      КРИТИЧНО    — метод или поле исчезло, сменился тип,
                    необязательное стало обязательным,
                    метод помечен устаревшим
      внимание    — появилось новое, требование ослаблено
      косметика   — изменилось описание

  На карточке каждой площадки видно, сколько методов всего, сколько из них
  помечено устаревшими и сколько изменений произошло за последние сутки.

Методы
  Список методов площадки с поиском по названию метода и по именам полей.
  У каждого метода указано число параметров и полей тела запроса.
  Методы, помеченные устаревшими, отмечены словом «устаревает».


Свои методы — самое полезное
----------------------------
Из 482 методов Ozon и 329 методов Wildberries вы используете тридцать.
Смотреть на все — значит утонуть в шуме и пропустить важное.

Поэтому программа умеет работать по вашему списку:

1. В карточке площадки нажмите «Загрузить файл».
2. Выберите текстовый файл со списком путей — по одному в строке.

Формат простой, подойдёт список прямо из документации:

    /v1/product/import/prices
    /v2/posting/fbs/list
    /content/v2/get/cards/list

Можно и со словом метода спереди — «GET /api/v1/seller-info», программа
поймёт. Строки с # и пустые игнорируются, повторы схлопываются.

После загрузки программа:
  * показывает только ваши методы
  * считает изменения только по ним
  * сообщает, сколько путей сопоставлено, а сколько не найдено

Если путь не нашёлся — это важный сигнал: либо опечатка в списке, либо
метод переименован или удалён, и интеграция уже сломана. Программа
подсказывает, на что мог бы замениться путь. Первым делом проверяется
самая частая причина — переезд в другую версию:

    /v1/product/info/prices   ->   похоже, теперь это /v5/product/info/prices
    /v2/posting/fbs/list      ->   похоже, теперь это /v3 и /v4

Имена подстановок программа не считает изменением: {subjectID} и
{subjectId} — это одно и то же, потому что в настоящем запросе там число,
а не текст. Иначе программа кричала бы «метод удалён» на ровном месте.


Про историю
-----------
Вся история лежит в файле drift.db рядом с программой. Он создаётся сам
при первом запуске.

  * Чтобы перенести программу на другой компьютер, скопируйте папку
    целиком — переедет и история.
  * Чтобы начать с чистого листа, удалите drift.db. Программа создаст его
    заново, а следующий запуск станет новой точкой отсчёта.
  * Записи об изменениях старше 30 дней удаляются автоматически.

Файл занимает немного: слепок Яндекса со всеми 169 методами — около 90 КБ.


Чего программа НЕ делает
------------------------
Проверяет только тогда, когда вы её запустили. Она не следит за
изменениями круглосуточно и не пришлёт уведомление сама — для этого нужна
программа, работающая на сервере постоянно.

То есть если не запускать её месяц, изменения за этот месяц вы увидите
одним списком при следующем запуске. Ничего не потеряется — сравнение
идёт с последним сохранённым состоянием, — но узнать о них заранее не
выйдет.


Если что-то не работает
-----------------------
«Не удалось скачать спецификации»
    Проверьте интернет и что рядом с drift.exe лежат оба файла .dll.
    Ошибка «Could not initialize OpenSSL library» означает именно
    отсутствие этих библиотек.

«Не удалось открыть файл истории»
    Папка, куда распакована программа, защищена от записи. Перенесите
    её в «Документы» или другое место, где можно создавать файлы.

Программа не запускается
    Нужна 64-разрядная Windows.
