Nik Shipping UA — Нова Пошта та Укрпошта для WooCommerce
========================================================

Документація українською. Технічний readme.txt у форматі WordPress лежить поруч.

Версія: 1.1.0
Вимоги: WordPress 6.7+, WooCommerce 7.0+, PHP 7.4+
Перевірено з: WordPress 7.0, WooCommerce 10.9
Ліцензія: GPLv2 або пізніша. Плагін безкоштовний — без ключа й без підписки
Підтримка: https://products.nikdimon.com/


ЩО ВМІЄ ПЛАГІН
--------------

Доставка
  • Нова Пошта: відділення, поштомат, кур'єр до дверей, вантажне відділення
  • Укрпошта: відділення, кур'єр до дверей
  • Пошук населеного пункту, відділення та вулиці просто в оформленні замовлення

Розрахунок вартості
  • Актуальний тариф перевізника за вагою та габаритами кошика
  • Об'ємна вага враховується
  • Фіксована вартість і поріг безкоштовної доставки
  • Надбавка сумою або відсотком, обмеження за вагою та сумою замовлення

Накладні
  • Створення ТТН із картки замовлення в один клік
  • Друк накладної та наліпки 100×100
  • Пакетне створення, друк і видалення для списку замовлень
  • Автоматичне створення ТТН при заданому статусі замовлення

Гроші та юрособи
  • Післяплата з вибором, хто платить комісію
  • Кілька профілів відправника — різні ФОП, міста чи відділення на різних способах доставки

Решта
  • Відстеження посилок за розкладом і автоматична зміна статусу замовлення
  • Лист покупцеві з номером для відстеження
  • Поля посилки в товарі: вага та габарити упакування, тип вантажу, окреме місце
  • REST API для зовнішніх систем
  • Журнал звернень до API перевізників
  • Українська та російська локалізація, сумісність з HPOS

Оформлення замовлення
  • Вибір населеного пункту, відділення, поштомата чи вулиці прямо в checkout
  • Працює на класичному checkout. Плагін сам переводить сторінку «Оформлення
    замовлення» на шорткод [woocommerce_checkout] — блоковий checkout не вміє
    показувати вибір відділення. Оригінальна блокова розмітка зберігається
    і повертається, якщо вимкнути цю опцію або видалити плагін.


ВСТАНОВЛЕННЯ
------------

1. Плагіни → Додати новий → Завантажити плагін → оберіть zip → Встановити → Активувати.

2. У головному меню адмінки з'явиться пункт «Доставка UA» (одразу під «Налаштуваннями»).

3. Вкладка «Нова пошта»:
   • API-ключ береться в бізнес-кабінеті: Налаштування → Безпека → Мої ключі API
   • натисніть «Перевірити ключ», далі «Завантажити відправника з кабінету»
   • перевірте телефон відправника та відділення відправлення

4. Вкладка «Укрпошта»:
   • Bearer eCom і токен контрагента видає Укрпошта за договором
   • без договору увімкніть «Тестовий режим» — запити підуть на dev.ukrposhta.ua

5. Вкладка «Початок роботи» → «Додати до зони доставки». Створить зону «Україна»,
   якщо її немає, і додасть обрані способи доставки.


БЕЗКОШТОВНО
-----------

Плагін безкоштовний: ключа ліцензії та підписки немає, жодна функція не
приховується. Способи доставки, вибір відділення в checkout, тарифи, накладні,
відстеження та REST доступні одразу після активації. Потрібні лише власні
кабінети перевізників (API-ключ Нової пошти та договір eCom з Укрпоштою для
реальних накладних Укрпошти).

Якщо ви оновлюєтесь зі старої платної версії, яку було призупинено через
закінчення ліцензії, — плагін сам «прокидається» при першому завантаженні:
повертає сторінку checkout і планове відстеження, а всі налаштування та
створені накладні лишаються на місці.


ЧАСТІ ПИТАННЯ
-------------

Список відділень порожній.
  Нова Пошта обмежує частоту звернень до довідника. Плагін повторює запит і потім
  кешує весь список на добу. Зачекайте хвилину й перезавантажте сторінку.
  Скинути кеш: «Початок роботи» → «Очистити кешовані довідники».

Помилка «API key expired».
  Ключ Нової Пошти має термін дії. Випустіть новий у бізнес-кабінеті.

Не створюється накладна Укрпошти.
  Перевірте, що заповнені UUID клієнта-відправника, ID адреси та індекс відправника
  на вкладці «Укрпошта», і що в замовленні є телефон одержувача.

Де подивитися, що саме відповів перевізник.
  Вкладка «Журнал» — там останні звернення до API з відповідями.


ІСТОРІЯ ЗМІН
------------

1.0.33
  • Виправлено: рядок доставки більше не показує покупцеві службові дані плагіна.
    Ключі на кшталт nik_ship_option чи nik_ship_weight друкувалися на сторінці
    подяки, у кабінеті замовлення, у листі про замовлення та в адмінці. Усе
    важливе і так є в назві способу доставки.
  • Виправлено: попередній перегляд у конструкторі листів показував «критичну
    помилку» замість листа. Відправлення листів це не зачіпало — лише перегляд.

1.0.32
  • Виправлено: на вкладці «Початок роботи» позначки способів доставки тепер
    показують те, що насправді є в зоні доставки «Україна». Раніше вони були
    жорстко прописані в коді, тож вантажне відділення після кожного
    перезавантаження сторінки поставало без позначки — наче його ніколи й не
    додавали.
  • Результат кнопки «Додати до зони доставки» тепер називає способи поіменно й
    розділяє додані, вже наявні та відхилені. Спосіб, у перевізника якого ще
    немає ключа, більше не рапортує про успіх зеленим: він показаний як
    пропущений, а його позначка заблокована з поясненням причини.
  • Прибирання: налаштування, які лишилися від старих версій, видаляються під час
    оновлення, а видалення плагіна тепер прибирає ще й ключ ліцензії та службові
    транзієнти.

1.0.31
  • Оплата доставки: магазин обирає, чи покупець платить за доставку одразу на
    сайті, чи перевізнику при отриманні, — або віддає цей вибір самому покупцеві
    в checkout. При оплаті при отриманні вартість не додається до замовлення, а
    показується як орієнтовна, і накладна виписується на отримувача. Поріг
    безкоштовної доставки, як і раніше, сильніший за все: замовлення понад суму
    їде коштом магазину. Стару настройку «хто платить за доставку» на вкладці
    «Нова пошта» замінено цим вибором, значення переноситься автоматично.
  • Виправлено кешування тарифів: WooCommerce більше не показує ціну, пораховану
    для попереднього відділення, способу оплати чи налаштувань магазину.
  • Укрпошта, відстеження: статус DELIVERING (посилка ще в дорозі або чекає у
    відділенні) помилково читався як «отримано». Замовлення могло автоматично
    закритися до того, як покупець забрав посилку, і виправитися це вже не могло —
    завершені накладні більше не опитуються. Те саме стосувалося RETURNING.
    Статуси тепер зіставляються за повним переліком перевізника й показуються
    словами, а не як CREATED чи FORWARDING.
  • Укрпошта: довідник адрес тепер працює і з тестовими ключами — раніше в
    режимі пісочниці пошук населеного пункту та відділення мовчав.
  • Профілі відправника тепер впливають і на розрахунок вартості: якщо спосіб
    доставки прив'язано до профілю з іншим містом чи індексом, ціна рахується
    саме звідти. Раніше ціна бралася від головного відправника, а посилка їхала
    з іншого міста. Поле «UP індекс» у профілі нарешті задіяне.
  • Нова настройка «як посилки залишають магазин»: здаємо у відділенні або кур'єр
    забирає з нашої адреси. Вмикає типи Адреса—Відділення / Адреса—Адреса в Новій
    пошті та D2W / D2D в Укрпошті — раніше вони були в коді, але недосяжні.
  • Періодичність перевірки статусів тепер справді налаштовується (щогодини,
    двічі на добу, раз на добу) — раніше значення зберігалося, але крон завжди
    ходив щогодини.
  • Видалення плагіна повертає блокову сторінку оформлення замовлення й прибирає
    за собою залишкові опції.
  • Журнал звернень тепер очищується рівно через задану кількість днів (раніше
    поріг рахувався в UTC, а записи — за часом сайту).
  • REST: право на читання перевіряється за наявною можливістю WooCommerce, тож
    інтеграцію можна пустити тільки на читання.
  • Поля посилки тепер редагуються прямо зі списку товарів — через «Швидке
    редагування» для одного товару та «Групове редагування» для будь-якої
    кількості. У груповому кожне поле за замовчуванням стоїть на «не змінювати»,
    тож редагування чогось іншого не зачепить дані посилки.
  • Комісія за післяплату тепер входить у вартість доставки в checkout, коли її
    платить магазин. Раніше перевізник виставляв її вже після відправки і різницю
    покривав магазин.
  • Сторінка checkout: якщо вона з якоїсь причини повернулася на блоковий
    редактор, плагін помічає це та повертає класичний шорткод, а в адмінці
    з'являється попередження. Раніше вибір відділення просто зникав, а замовлення
    приходили без адреси доставки.
  • Перевірено з WooCommerce 10.9 і WordPress 7.0.

1.0.30
  • Автоматичне видалення накладної при скасуванні або поверненні замовлення.
  • Лист покупцеві про скасування замовлення.
