=== DPD SK for WooCommerce ===
Contributors: webikon
Tags: shipping, woocommerce, dpd
Donate link: https://platobnebrany.sk/
Requires at least: 6.5
Tested up to: 7.0.4
Requires PHP: 8.1
WC requires at least: 7.0
WC tested up to: 11.0.1
Stable tag: 9.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Plugin spoločnosti Direct Parcel Distribution SK, s. r. o. poskytuje jednoduché a rýchle riešenie na prenos údajov o objednaných prepravných službách s doručením na adresu príjemcu a do odberných miest.

== Description ==
Plugin spoločnosti **Direct Parcel Distribution SK, s. r. o.** poskytuje jednoduché a rýchle riešenie na prenos údajov o objednaných prepravných službách s doručením na adresu príjemcu a do odberných miest.

Pomocou pluginu si môžete vo svojich **Woocommerce objednávkach** vyberať zo širokého portfólia produktov a služieb DPD, ako sú napríklad **DPD Home, DPD Classic, DPD 10:00, DPD 12:00, DPD 18:00 /DPD Guarantee** s doručením na adresu príjemcu a do odberných miest v rámci Slovenska a do 230 krajín sveta.

Plugin je prepojený cez API riešenie k [www.dpdshipper.sk](https://www.dpdshipper.sk). Všetky objednávky vytvorené týmto pluginom si budete môcť prezerať aj v prehľade objednávok v online aplikácii [DPD Shipper](https://www.dpdshipper.sk/login).

Plugin je **zadarmo v plnej verzii** pre zmluvných zákazníkov DPD SK.

= FUNKCIE PLUGINU =

* Jednoduché a rýchle vytváranie objednávok prepravy
* Nastavenie predvoleného produktu na každú objednávku, napr. DPD Home
* Tri možnosti exportovania objednávok do DPD
* Úprava objednávky pred exportovaním do DPD
* Tlač prepravných štítkov vo formáte A4 alebo A6
* Vytváranie objednávok doručenia do odberných miest Pickup a Pickup Station (samoobslužného boxu)
* Možnosť pridania ďalších ID bankových účtov a zvozových adries
* Použitie dvoch referencii na úrovni objednávky
* Možnosť nastavenia dopravy zdarma
* Možnosť nastavenia ceny dopravy podľa hmotností produktov v košíku.

== Installation ==
1. Stiahnite si plugin z WordPress.org
2. Nainštalujte a aktivujte si plugin

= Nastavenie pluginu =

1. Prejdite do nastavení **WooCommerce** -> **Doprava** -> **DPD nastavenia exportu**
2. Vyplňte **požadované údaje** pre pripojenie na API DPD Shipper
  * **ID delis**
  * **E-mail (Login) posielaný spolu s API kľúčom**
  * **API Kľúč**
3. Vyplňte **informácie pre doručenie** - štandardné nastavenia
  * **ID bankového účtu** - z [www.dpdshipper.sk](https://www.dpdshipper.sk) -> Nastavenia -> Bankové účty -> hodnota z **ID účtu**
  * **ID adresy pre zber** - z [www.dpdshipper.sk](https://www.dpdshipper.sk) ->  Nastavenia -> Zvozové adresy -> hodnota z **ID adresy**
  * **Doprava** - produkt, ktorý štandardne používate pre odosielanie balíkov
  * **Notifikácie** - Zapnutie/Vypnutie oznámení pri vybraných produktoch prepravy
4. Spôsob odosielania objednávok do portálu DPD Shipper
  * **Z detailu objednávky:** V detaile objednávky v bočnom paneli máte možnosť odoslať objednávku do API. Máte tam tiež možnosť zmeniť štandardné nastavenia pre aktuálnu objednávku (napr. zmena produktu)
  * **Hromadné odoslanie objednávok do DPD Shipper portálu:** V zozname objednávok si označíte objednávky na odoslanie a v hromadných akciách si vyberiete možnosť **DPD Hromadný Export**.
5. Funkčnosť prepojenia si môžete **overiť vytvorením testovacej objednávky** a následným exportom

== Screenshots ==
1. Nastavenia pluginu
2. Zobrazenie stĺpca pre export do DPD v zozname WooCommerce objednávok
3. Zobrazenie možnosti hromadného exportu do DPD v zozname WooCommerce objednávok
4. Zobrazenie možnosti exportu do DPD v detaile WooCommerce produktu

== Changelog ==

= 9.2.0 =
* Plugin teraz vyžaduje aktívny WooCommerce, WordPress na to upozorní priamo pri aktivácii
* Opravené rozpoznanie WooCommerce na inštaláciách, kde je WooCommerce v priečinku s iným názvom, plugin sa v takom prípade vôbec nespustil
* Zlyhania pri hľadaní výdajných miest a pri hromadnom sťahovaní etikiet sa teraz zapisujú do WooCommerce logu

= 9.1.0 =
* Funkcia: Nastavenia ID bankového účtu a ID adresy zberu prijímajú iba čísla - nečíselné znaky sa blokujú priamo v prehliadači a riadky bez jedinej číslice sa pri ukladaní odmietnu s upozornením v administrácii
* Funkcia: Obe nastavenia s opakovanými riadkami teraz zobrazujú, odkiaľ ID pochádza (DPD Shipper -> Nastavenia -> Bankové účty / Zvozové adresy)
* Funkcia: Objednávky bez dopravnej metódy (virtuálne / na stiahnutie) už neponúkajú export do DPD - stĺpec v zozname objednávok aj metabox objednávky zobrazia vysvetlenie, hromadný export ich preskočí a priamy export cez URL je odmietnutý
* Vylepšenie: Meta údaje ID bankového účtu / adresy zberu objednávky sa pri ukladaní zahodia, ak odoslaná hodnota nie je číselná

= 9.0.0 =
* Bezpečnosť: Kontrola oprávnení (`manage_dpd_export`, `manage_woocommerce`) na všetkých vstupných bodoch exportu v administrácii
* Bezpečnosť: Nový filter `wc_dpd_export_data_validate` umožňuje tretím stranám prerušiť export po úprave údajov
* Bezpečnosť: Polia `dpd_api_key` a `dpd_map_api_key` sú v nastaveniach maskované s prepínačom na zobrazenie
* Bezpečnosť: `api_key` / `ClientKey` / `map_api_key` / `password` sa redigujú v debug logoch prostredníctvom nového wrapperu `wc_dpd_log()` nad `wc_get_logger` (zdroj `wc-dpd`)
* Bezpečnosť: Validácia ISO3166 alpha-2 + obmedzenie počtu požiadaviek podľa IP pri vyhľadávaní výdajných miest
* Bezpečnosť: Prísna validácia formátu `mpsid` / `package_number` v `Client::export()`
* Bezpečnosť: Prísnejšia detekcia PDF (hlavička + `%%EOF` trailer) v `Client::bulkDownloadLabels()`
* Kompatibilita: WordPress 7.0.4, WooCommerce 11.0.1, PHP 8.1+
* Kompatibilita: Nastavenia s opakovanými riadkami (`dpd_bank_id`, `dpd_address_id`) presunuté z `serialize()` na JSON s jednorazovou migráciou na mieste
* Kompatibilita: Pridané `#[\AllowDynamicProperties]` pre `DpdExport` kvôli kompatibilite s PHP 8.2+
* Funkcia: Automatický export objednávok pri prechode do konfigurovateľného stavu (predvolene `processing`), riadený nastaveniami `wc_dpd_auto_export_*`
* Funkcia: Automatický export sa spúšťa iba pre objednávky s dopravnou metódou DPD - iní dopravcovia nikdy nezavolajú DPD API
* Funkcia: WP-CLI: `wp dpd auto-export --status=processing --dry-run`, `wp dpd migrate-serialized-settings`, `wp dpd verify`
* Funkcia: Nový filter `wc_dpd_bulk_labels_max_batch` (predvolene 100) obmedzuje počet volaní API pri hromadnom sťahovaní štítkov
* Oprava: Hromadný aj jednotlivý export už nekončí fatálnou chybou na hostingoch bez PHP rozšírenia `calendar` - dátum Veľkej noci sa počíta čisto v PHP (algoritmus Butcher/Meeus)
* Oprava: Objednávky s dopravou do Parcel Shopu bez vybraného výdajného miesta teraz rýchlo zlyhajú so zrozumiteľným upozornením v administrácii ešte pred volaním DPD API (predtým kryptická chyba API „PUDO detail is missing.")
* Vylepšenie: `wc_dpd_log()` zapisuje do log súboru WooCommerce so `source=wc-dpd` a redigovaným kontextom
* Bezpečnosť: Ochrana nonce pri exporte z riadku objednávky aj pri hromadnom exporte
* Bezpečnosť: Kontrola oprávnení pri presmerovaní exportu v administrácii (URL hromadného exportu)
* Funkcia: Nové filtre `wc_dpd_export_customer_full_name` / `wc_dpd_export_customer_company` umožňujú prepísať meno zákazníka/spoločnosti pred 35-znakovou DPD validáciou dĺžky
* Pre vývojárov: Nový `uninstall.php` odstraňuje oprávnenie `manage_dpd_export` a značku verzie oprávnení pri odstránení pluginu
* Pre vývojárov: Composer dev stuby (WP 7.0 / WC 11.0) zladené s nastavením PHPStan v CI

= 8.5.1 =
* Určené povolené krajiny podľa mapového widgetu, čím sa opravilo aj zobrazovanie dostupných výdajných miest

= 8.5.0 =
* Pridaný action hook `wc_dpd_before_order_export` spúšťaný pred exportom objednávky (dostáva $order a $data)
* Pridaný action hook `wc_dpd_after_order_export` spúšťaný po úspešnom exporte objednávky (dostáva $order a $response)
* Pridaný action hook `wc_dpd_order_export_error` spúšťaný pri chybe exportu (dostáva $order a $exception)

= 8.4.0 =
* Pridaná možnosť prahu pre dopravu zdarma pri sadzbách dopravy podľa hmotnosti

= 8.3.0 =
* Rozšírené filtrovanie boxov o podporu Z-Box (Packeta)
* Pridaná validácia v administrácii zaisťujúca, že povolený zostáva aspoň jeden typ výdajného miesta (prevádzky alebo boxy)
* Zlepšená bezpečnosť nastavenia dopravnej metódy validáciou na strane klienta aj servera

= 8.2.1 =
* Opravené mapovanie kódu krajiny pre Českú republiku (WooCommerce „cs" na ISO3166 „CZ")

= 8.2.0 =
* Pridaná možnosť výberu jazyka mapového widgetu DPD (slovenčina, angličtina, maďarčina, nemčina, francúzština)
* Slovenčina je nastavená ako predvolený jazyk

= 8.1.1 =
* Opravená logika prahu dopravy zdarma - prázdne pole teraz správne vypína dopravu zdarma

= 8.1.0 =
* Opravená validácia parcel shopu pre checkout WooCommerce Blocks
* Pridaný filter `wc_dpd_is_cart_or_checkout_page` pre detekciu vlastnej checkout stránky
* Zlepšená kompatibilita s WooCommerce Blocks pri validácii výberu parcel shopu
* Aktualizovaný hint v popise dopravy zdarma

= 8.0.2 =
* Opravená metóda exportného metaboxu

= 8.0.1 =
* Opravený výpočet hmotnosti zásielky

= 8.0.0 =
* Pridaná podpora pre WooCommerce Blocks
* Pridaná možnosť nastaviť presnú hmotnosť zásielky pred exportom

= 7.0.2 =
* Pridaná validácia dĺžky mena a názvu spoločnosti

= 7.0.1 =
* Zjednotená jednotka hmotnosti na kg pri filtrovaní parcelshopov

= 7.0.0 =
* Pridaná možnosť skryť parcelshopy z interaktívnej mapy

= 6.0.1 =
* Spracované dynamické prvky mapy

= 6.0.0 =
* Pridaná možnosť zapnúť mapový widget, ktorý umožňuje zákazníkovi vybrať parcelshop z interaktívnej mapy
* Zmenený filter `wc_dpd_cod_id` tak, aby prijal pole ID platobných metód namiesto jedného reťazca
* Pridaný nový filter `wc_dpd_card_payment_ids` na určenie poľa ID kartových platobných metód

= 5.0.3 =
* Opravený dátum vyzdvihnutia, ak pripadol na sobotu, nedeľu alebo sviatok na Slovensku
* Zakázaná platba kartou pre objednávky s dobierkou (COD) do krajín iných ako Slovensko
* Opravené upozornenia na zastarané (deprecated) funkcie v triede DpdExport

= 5.0.2 =
* Opravený výpočet dane pri doprave zdarma

= 5.0.1 =
* Pridaná podpora pre multisite

= 5.0.0 =
* Pridaná podpora pre WooCommerce HPOS
* Pridaná kontrola verzie WooCommerce a aktualizovaná minimálna požadovaná verzia WC
* Pridaný filter pre ID platobnej metódy dobierky `wc_dpd_cod_id`

= 4.0.4 =
* Nahradené ID balíka medzinárodným PUS ID

= 4.0.3 =
* Pridané tlačidlo resetu do metaboxu objednávky

= 4.0.2 =
* Aktualizovaná kompatibilita s PHP 7.4

= 4.0.1 =
* Pridaná funkcia na kontrolu kupónu na dopravu zdarma

= 4.0.0 =
* Pridaná validácia zásielok do parcelboxu podľa hmotnosti alebo rozmerov
* Pridaná validácia zásielok do Alzaboxu podľa hmotnosti alebo rozmerov
* Pridaná validácia zásielok cez Slovenskú poštu podľa hmotnosti alebo rozmerov
* Povolená platba kreditnou kartou pri dobierke

= 3.0.2 =
* Pridaná akcia `wc_dpd_order_exported`

= 3.0.1 =
* Pridaný filter na úpravu exportných údajov
* Pridaný filter na zabránenie exportu
* Opravené zaokrúhľovanie sumy dobierky, ktoré spôsobovalo rozdiely v niektorých transakciách

= 3.0.0 =
* Pridaná možnosť nastaviť hodnotu, od ktorej je doprava zdarma
* Pridaná možnosť nastaviť cenu dopravy podľa hmotnosti produktov v košíku
* Pridaná možnosť vybrať formát štítkov A4 alebo A6
* Opravená chyba desatinných čísel pri výpočte ceny dopravy
* Opravená kritická chyba v stave zdravia WordPressu (Site Health)
* Vyskakovacie okno je teraz možné zavrieť stlačením ESC alebo kliknutím mimo neho
* Číslo objednávky je zahrnuté vo variabilnom symbole
* Aktualizovaný používateľský manuál

= 2.0.1 =
* Aktualizovaný popis pluginu

= 2.0.0 =
* Pridaná podpora pre parcelshopy, hromadné sťahovanie štítkov, viacero adries a bankových účtov, pridávanie referenčných textov k exportu objednávky a zobrazovanie čísla zásielky v zozname objednávok a v detaile objednávky.

= 1.0.1 =
* Aktualizovaný readme.txt.

= 1.0.0 =
* Prvá implementácia.
