Plugin pro dopravu PPL ve VirtueMart. Zákazník si v košíku vybere výdejní místo, ParcelBox nebo AlzaBox z mapy PPL, e-shop pak zásilky exportuje přímo do PPL (jednotlivě i hromadně) a tiskne štítky — bez ručního přepisování do klientské sekce.
| Požadavek | Verze |
|---|---|
| Joomla | 4.x, 5.x |
| VirtueMart | 4.x |
| PHP | 8.0+ |
| MySQL | 5.7+ / MariaDB 10.3+ |
| Aktuální verze | 1.2.20 |
- Požadavky
- Přístupové údaje od PPL
- Instalace
- Aktivace pluginu
- Globální konfigurace
- Vytvoření metody dopravy
- Typ doručení a kód produktu
- Mapa výdejních míst
- Cena dopravy
- Export zásilek do PPL
- Hromadný export
- Tisk štítků
- Dobírka
- Storno zásilky
- Přehled zásilek a svoz
- Testovací prostředí
- Stav objednávky po exportu
- Odinstalace
- Řešení problémů
1. Požadavky
- Joomla 4.x nebo 5.x (VirtueMart zatím Joomlu 6 nepodporuje)
- VirtueMart 4.x
- PHP 8.0 nebo novější, s rozšířením cURL
- MySQL 5.7+ / MariaDB 10.3+
- Aktivní zákaznický účet PPL se smlouvou o přepravě
- Povolený přístup k CPL API (myAPI2) a vlastní API klíč mapového widgetu
2. Přístupové údaje od PPL
Plugin používá dvě nezávislé sady údajů. Nezaměňujte je — každá se získává jinde a slouží k něčemu jinému.
| Údaj | Kde ho získáte | K čemu slouží |
|---|---|---|
| Client ID | Na vyžádání u vašeho obchodního zástupce PPL | Přihlášení k CPL API (export zásilek, štítky) |
| Client Secret | Tamtéž, spolu s Client ID | Tajná část přihlášení, nikdy neopouští server |
API klíč widgetu (ak_…) | Sami v klient.ppl.cz/widgetadmin | Zobrazení mapy výdejních míst na frontendu |
| Kódy produktů | GET /codelist/product, nebo u obchodního zástupce PPL | Určují, jakou službou se zásilka pošle |
Client ID a Client Secret (CPL API)
Nejsou samoobslužné — nevygenerujete si je v klientské sekci. Požádejte o ně svého obchodního zástupce PPL (nebo zákaznickou podporu) o povolení přístupu k OAuth 2.0 pro CPL API (myAPI2) a o vydání klientských údajů. Uveďte své zákaznické číslo PPL a to, že jde o integraci e-shopu přes schválené řešení SemaShipping PPL od Semakin.cz — PPL toto řešení eviduje a přidělení přístupů to urychlí.
- Údaje pro produkci a pro testovací prostředí jsou samostatné. Pokud chcete napřed testovat, vyžádejte si rovnou obojí a řekněte, že jde o integraci e-shopu.
- Plugin si přihlašovací token drží v paměti a obnovuje ho, až když vyprší (platnost 30 minut). PPL povoluje jen 12 vydaných tokenů za minutu, proto se token nezískává znovu při každém requestu.
API klíč mapového widgetu
Tenhle si vytvoříte sami:
- Přihlaste se do
klient.ppl.cz/widgetadminstejnými údaji jako do klientské sekce PPL. - Vytvořte nový widget a vygenerujte k němu API klíč — začíná předponou
ak_. - Přidejte domény, na kterých se mapa smí načíst.
Pozor na domény. Widget se načte jen na doméně, která je u klíče výslovně uvedená. Zástupné znaky (
*) zatím nefungují, aexample.czawww.example.czse počítají jako dvě různé domény — přidejte obě. Pokud testujete na testovací doméně nebo subdoméně, musíte přidat i tu.
Kódy produktů
Kód produktu určuje službu, kterou se zásilka pošle, a liší se podle vaší smlouvy s PPL. Nastavuje se u každé metody dopravy zvlášť (viz sekce 7).
Nejběžnější kódy:
| Kód | Služba |
|---|---|
SMAR | PPL Parcel CZ Smart — doručení na výdejní místo |
SBOX | PPL Parcel CZ Smart To Box — doručení do boxu |
PRIV | PPL Parcel CZ Private — doručení na adresu soukromé osoby |
BUSS | PPL Parcel CZ Business — doručení na firemní adresu |
Skutečný seznam produktů vašeho účtu vrací metoda GET /codelist/product v CPL API. Pokud si nejste jistí, zeptejte se svého obchodního zástupce PPL, které produkty máte nasmlouvané.
Ještě předtím zkontrolujte
- Adresa prodejce ve VirtueMartu je kompletní — plugin ji posílá do PPL jako adresu odesílatele a zásilku bez ní PPL odmítne.
- Váš účet má povolenou dobírku, pokud ji chcete nabízet.
3. Instalace
- Stáhněte instalační ZIP
plg_vmshipment_semappl_X.Y.Z.zip. - Přihlaste se do administrace Joomla.
- Přejděte do System → Install → Extensions.
- Nahrajte ZIP soubor.
- Po úspěšné instalaci se zobrazí hláška o nainstalování pluginu.
Upgrade: stejný postup jako instalace. Joomla použije
method="upgrade"a zachová všechna existující data i nastavení.
Součástí balíčku je systémový plugin plg_system_semappl, který se nainstaluje a povolí automaticky. Zajišťuje nabídku PPL v přehledu objednávek VirtueMart (viz sekce 11).
4. Aktivace pluginu
Po instalaci je nutné plugin dopravy ručně povolit:
- Přejděte do Extensions → Plugins.
- Vyhledejte
semapplneboPPL. - Klikněte na název SemaShipping PPL – doručení na adresu a výdejní místa pro VirtueMart (skupina
vmshipment) a nastavte Status = Enabled. - Uložte.
Systémový plugin
plg_system_semapplse povoluje sám při instalaci — ručně ho zapínat nemusíte.
Samotný plugin na e-shopu nic nezobrazí. Doprava se objeví až po vytvoření metody dopravy ve VirtueMart (viz sekce 6).
5. Globální konfigurace
V nastavení pluginu (Extensions → Plugins → klik na název) vyplňte parametry, které platí pro všechny metody dopravy postavené na tomto pluginu:
| Parametr | Popis |
|---|---|
| Prostředí API | Produkce pro ostrý provoz, Testovací pro zkoušení. Viz sekce 16. |
| Client ID | Identifikátor pro CPL API od podpory PPL. |
| Client Secret | Tajný klíč k Client ID. Zůstává na serveru, na frontend se nikdy nedostane. |
| API klíč mapového widgetu | Klíč ak_… z klient.ppl.cz/widgetadmin. Zobrazuje se v HTML stránky — není tajný, chrání ho seznam povolených domén. |
| Posílat váhu do PPL | PPL váhu v datech zásilky standardně nechce. Zapněte jen tehdy, když jste si posílání váhy s PPL výslovně domluvili. Výchozí Ne. |
| Výchozí váha (kg) | Náhradní váha zásilky, když ji nelze spočítat z produktů. Uplatní se jen při zapnutém posílání váhy. Výchozí 1 kg. |
| ID plateb = dobírka | Čárkou oddělená ID platebních metod VirtueMart, které jsou dobírkou (viz sekce 13). |
| Formát štítku | PDF pro běžné tiskárny, ZPL pro termotiskárny. Dále PNG, JPEG, SVG. |
| Velikost stránky štítku | A4 = čtyři etikety na list, Výchozí = jedna etiketa na stránku. |
| Počáteční pozice na listu | 1–4. Umožňuje dotisknout na částečně použitý arch A4. |
| Výchozí stav pro export | Kód stavu objednávky VirtueMart, ze kterého se bere seznam pro hromadný export. Výchozí C (potvrzeno). Víc stavů oddělte čárkou — C,Q vezme potvrzené i vyřizované najednou. |
| Stav objednávky po exportu | Kód stavu, do kterého objednávka přejde, jakmile zásilka dostane číslo. Prázdné = stav neměnit (výchozí). Viz sekce 17. |
Bez Client ID a Client Secret nepůjde exportovat ani tisknout štítky. Bez API klíče widgetu se zákazníkovi nezobrazí mapa. Obojí je potřeba vyplnit.
Adresa odesílatele
PPL vyžaduje adresu odesílatele u každé zásilky. Plugin ji bere z adresy prodejce ve VirtueMartu (Prodejce → fakturační adresa), takže obvykle nemusíte vyplňovat nic.
Záložka Adresa odesílatele slouží k přepsání — vyplňte ji jen tehdy, odesíláte-li odjinud, než je fakturační adresa obchodu (například z externího skladu). Prázdné pole vždy znamená „vzít z VirtueMartu".
| Pole | Poznámka |
|---|---|
| Název odesílatele | Firma nebo jméno na štítku. |
| Doplněk názvu | Druhý řádek názvu, např. označení provozovny. |
| Ulice a číslo, Město, PSČ, Země (ISO) | PSČ a země jsou pro PPL povinné. Země dvoupísmenně, např. CZ. |
| Kontaktní osoba, Telefon, E-mail | Kontakt pro řidiče a případné dotazy k zásilce. |
Zkontrolujte, že adresa prodejce ve VirtueMartu je skutečná česká adresa. Výchozí ukázková adresa z instalace VirtueMartu (Sample Company, Seattle) projde ve VirtueMartu bez povšimnutí, ale PPL export odmítne s chybou
Sender.Country: Invalid value.
6. Vytvoření metody dopravy
Jednu instalaci pluginu lze použít pro libovolný počet metod dopravy — typicky jednu pro výdejní místa a jednu pro doručení na adresu.
- V administraci VirtueMart přejděte do Shop → Shipment Methods.
- Klikněte na New.
- Vyplňte:
- Shipment Name: název viditelný zákazníkovi (např. „PPL — výdejní místo")
- Published: Yes
- Shipment Method: zvolte SemaShipping PPL – doručení na adresu a výdejní místa pro VirtueMart
- Přejděte na záložku Configuration.
- Nastavte parametry z následujících sekcí.
- Uložte.
7. Typ doručení a kód produktu
Každá metoda má dva klíčové parametry, které spolu musí ladit.
Typ doručení
| Volba | Chování |
|---|---|
| Výdejní místo / box | V košíku se zobrazí tlačítko a mapa PPL. Zákazník musí místo vybrat, jinak objednávku nedokončí. |
| Doručení na adresu | Jen přepínač s cenou, bez mapy. Adresa se bere z objednávky — dodací, a když chybí, fakturační. |
Kód produktu PPL
Textové pole, kam patří kód přepravní služby. Musí odpovídat typu doručení:
| Typ doručení | Použijte kód |
|---|---|
| Výdejní místo / box | SMAR (výdejní místa), SBOX (jen boxy) |
| Doručení na adresu | PRIV (soukromé osoby), BUSS (firmy) |
Kombinace, které si neodpovídají (např.
PRIVu metody s mapou), skončí chybou při exportu. Seznam produktů vašeho účtu vracíGET /codelist/product— viz sekce 2.
Vedle něj je pole Kód produktu PPL pro dobírku. Nechte ho prázdné — plugin si dobírkový kód odvodí sám. Vyplňte ho jen tehdy, má-li vaše smlouva nestandardní kódy; podrobnosti v sekci 13.
Ostatní omezení metody
| Parametr | Popis |
|---|---|
| Země | Země, pro které se metoda nabízí. |
| Blokované země | Země, pro které se metoda naopak nenabídne. |
| Minimální / maximální váha | Váhový rozsah objednávky, ve kterém se metoda zobrazí. |
| Jednotka váhy | KG nebo LB. |
8. Mapa výdejních míst
Plugin používá mapový widget PPL 2.0. Otevírá se jako překryvné okno po kliknutí na tlačítko „Vybrat výdejní místo".
Nastavení mapy u metody
| Parametr | Popis |
|---|---|
| Země pro widget | ISO kód země, jejíž místa se v mapě nabídnou (např. CZ, SK). Výchozí CZ. |
| Zobrazené typy míst | Vše (ParcelShop, ParcelBox, AlzaBox) / Jen ParcelShopy / Jen boxy. |
| Jen místa s dobírkou | Omezí mapu na místa, která přijímají platbu dobírkou. Zapněte u metody používané společně s dobírkou. |
Co si plugin z výběru uloží
Kód místa, název, typ (ParcelShop / ParcelBox / AlzaBox) a adresu. Kód místa se pak posílá do PPL, zbytek slouží k zobrazení — zákazníkovi v rekapitulaci objednávky, vám v administraci.
Výběr přežije změnu v košíku
Vybrané místo se ukládá do relace. Když zákazník změní platbu, dopravu nebo obsah košíku, výběr zůstane zachovaný. Po dokončení objednávky se relace vyčistí.
Verze widgetu 1.x končí 31. 8. 2026. Plugin používá výhradně verzi 2.0, takže se vás konec podpory netýká — jen nezapomeňte, že klíč
ak_…je pro verzi 2.0 povinný.
9. Cena dopravy
| Parametr | Popis |
|---|---|
| Cena dopravy | Základní cena. |
| Poplatek za balení | Přičte se k ceně dopravy. |
| Daňové pravidlo | Daňové pravidlo VirtueMart pro cenu dopravy. |
| Doprava zdarma od | Částka objednávky, od které je doprava zdarma. Prázdné = nikdy. |
Výsledná cena je Cena dopravy + Poplatek za balení, nebo 0 při překročení limitu pro dopravu zdarma.
10. Export zásilek do PPL
Jak PPL zpracovává zásilky
Na rozdíl od většiny přepravců PPL zásilky přijímá v dávkách a zpracovává je na pozadí. Plugin dávku odešle, dostane její identifikátor a pak se PPL doptává, jestli je hotová. Obvykle to trvá jednotky sekund.
Proto má objednávka v administraci tři možné stavy:
| Stav | Co to znamená | Co s tím |
|---|---|---|
| Neexportováno | Zásilka do PPL zatím neodešla | Tlačítko Vytvořit zásilku v PPL |
| PPL dávku zpracovává | Dávka odešla, číslo zásilky ještě nepřišlo | Tlačítko Obnovit stav |
| Hotovo | Zásilka má číslo | Tlačítko Stáhnout štítek |
Export jedné objednávky
- Otevřete objednávku ve VirtueMart → Orders.
- V panelu dopravy klikněte na Vytvořit zásilku v PPL.
- Po dokončení se zobrazí číslo zásilky a tlačítko pro štítek.
Pokud se místo čísla zásilky objeví hláška, že PPL dávku ještě zpracovává, počkejte pár sekund a klikněte na Obnovit stav.
Co se do PPL odesílá
- Číslo objednávky jako reference zásilky
- Jméno a adresa příjemce, telefon, e-mail
- U firemní objednávky jde firma na první řádek a jméno osoby jako kontakt
- Kód výdejního místa (u metod s mapou)
- Číslo objednávky ještě jednou jako externí číslo (kód
CUST) — PPL ho tiskne na etiketu a propisuje do fakturace - Dobírka, pokud je objednávka dobírková
- Poznámka zákazníka
Adresa odesílatele se posílá vždy — PPL request bez ní odmítne. Plugin ji bere z prodejce ve VirtueMart, přepsat ji jde v globální konfiguraci.
Když export skončí chybou
Chybová hláška z PPL se zobrazí přímo v administraci. Zásilka, kterou PPL odmítne, u nich neexistuje, takže se objednávka vrátí mezi neexportované a po opravě dat můžete export zopakovat.
11. Hromadný export
Po instalaci přibude v přehledu VirtueMart → Orders tlačítko PPL v horní liště. Rozbalí se pod ním nabídka všech funkcí rozšíření:
| skupina | položky |
|---|---|
| Zásilky | Export do PPL · Stáhnout štítky · Storno v PPL |
| Svoz | Objednat svoz · Objednané svozy |
| Přehled | Nepodané zásilky · Zkontrolovat stavy |
| — | Nápověda |
Nabídka je schválně jedna a zabalená pod jedno tlačítko: e-shopy běžně vozí víc dopravců a kdyby si každé rozšíření přidalo vlastní tlačítka, lišta by nestačila. Ke každé položce se po najetí myší ukáže krátká nápověda, co dělá.
Nabídku zavřete kliknutím mimo ni nebo klávesou Esc; po spuštění akce se zavře sama, aby nepřekrývala výpis výsledku.
Poslední položka Nápověda otevře panel s přehledem všech funkcí a jejich popisem — totéž, co je v nápovědě pod myší, jen pohromadě. Je v něm i upozornění, že zásilky založené rozšířením nejsou vidět v klient.ppl.cz, a odkaz na stránku s postupem k přístupovým údajům.
Export do PPL
Odešle jednou dávkou všechny dosud neexportované objednávky ve zvoleném stavu. Výsledek se vypíše přímo nad seznamem — u úspěšných čísla zásilek, u neúspěšných důvod. Chyba u jedné objednávky ostatní nezastaví.
Stav objednávek, ze kterého se bere seznam, nastavíte v globální konfiguraci (Výchozí stav pro export, výchozí C). Stavů může být víc, oddělených čárkou (C,Q) — pak se do dávky vezmou objednávky ze všech vyjmenovaných stavů.
Stáhnout štítky
Stáhne štítky ke všem zásilkám, které jsou u PPL založené a nejsou stornované — bez ohledu na stav objednávky. Je to schválně stejný výběr, jaký ukazuje Nepodané zásilky: co je v tom seznamu, to se vytiskne.
Na stav objednávky se to nedá vázat: export ji vzápětí přepne do stavu po exportu, takže by z výběru vypadla přesně v okamžiku, kdy je štítek potřeba.
Najednou se stáhne nejvýš 50 dávek, od nejnovější. Víc dávek přijde jako ZIP — PPL je do jednoho PDF sloučit neumí.
Před stažením se plugin zeptá, od které pozice na archu tisknout — v dialogu vyberete pole 1 až 4 podle toho, kolik etiket už je z archu odlepených. Nabídne se jen u formátu PDF na stránku A4; u ostatních nastavení je na stránce jeden štítek a není co vybírat.
V dialogu je obrázek archu — čtyři pole leží tam, kde jsou fyzicky, a když na některé najedete myší, ta dřívější zešednou, protože se přeskočí. Arch je A4 na šířku a PPL čísluje pole po sloupcích zprava:
| pole | kde na archu |
|---|---|
| 1 | vpravo nahoře |
| 2 | vpravo dole |
| 3 | vlevo nahoře |
| 4 | vlevo dole |
Tisk pokračuje v tomto pořadí, takže etikety se z archu odlepují od pole 1 dál — pozice, kterou v dialogu zvolíte, je první ještě nepoužité pole.
Když žádné štítky ke stažení nejsou, řekne to hláška „Žádné štítky ke stažení nejsou" — dřív se v takovém případě nestalo nic viditelného.
Samostatná stránka hromadného exportu
Pokud potřebujete přepínat mezi stavy objednávek, otevřete odkaz Otevřít hromadný export ze spodní části nastavení pluginu. Stránka umí totéž a navíc má filtr stavu.
12. Tisk štítků
Jedna zásilka
V detailu objednávky tlačítko Stáhnout štítek.
Více zásilek najednou
Položka Stáhnout štítky v nabídce PPL. Chování závisí na tom, kolika dávkami zásilky vznikly:
- Objednávky z jedné dávky → jeden soubor se všemi štítky.
- Objednávky z více dávek → ZIP archiv, v něm jeden soubor na dávku.
PPL neumí sloučit štítky napříč dávkami do jednoho souboru. Pokud chcete tisknout na jeden zátah, exportujte objednávky pohromadě — jeden běh exportu = jedna dávka.
Nastavení tisku
Formát, velikost stránky a počáteční pozici najdete v globální konfiguraci (sekce 5). Při A4 se na list vejdou čtyři etikety; Počáteční pozice 1–4 umožní dotisknout na arch, ze kterého jste už část odlepili.
Při hromadném tisku se na pozici plugin ptá pokaždé znovu — nastavení je jen výchozí hodnota pro tisk štítku z detailu objednávky.
13. Dobírka
- Zjistěte ID dobírkové platební metody: VirtueMart → Shop → Payment Methods, otevřete metodu a přečtěte
virtuemart_paymentmethod_idz URL. - Zadejte ho do parametru ID plateb = dobírka v globální konfiguraci pluginu. Více ID oddělte čárkou (např.
3,7).
Plugin pak u objednávek s touto platbou automaticky vyplní částku dobírky, měnu objednávky a variabilní symbol.
Variabilní symbol smí podle PPL obsahovat pouze číslice a nejvýše 10 znaků. Plugin ho odvodí z čísla objednávky tak, že z něj vypustí všechny nečíselné znaky a ponechá posledních deset. Pokud vaše čísla objednávek žádnou číslici neobsahují, použije se interní ID objednávky.
Kód produktu se u dobírky mění sám
PPL má pro dobírku samostatné kódy produktů a dobírku u běžného kódu odmítne. Plugin to řeší za vás: u dobírkové objednávky přepne kód automaticky.
| Běžný kód | Dobírkový | Produkt |
|---|---|---|
SMAR | SMAD | PPL Parcel CZ Smart (výdejní místo) |
PRIV | PRID | PPL Parcel CZ Private (adresa) |
BUSS | BUSD | PPL Parcel CZ Business (adresa) |
SBOX | SBOD | PPL Parcel CZ Smart To Box |
CONN | COND | PPL Parcel Connect |
SMEU | SMED | PPL Parcel Smart Europe |
Má-li vaše smlouva jiné kódy, zadejte ten správný do pole Kód produktu PPL pro dobírku v nastavení metody dopravy. Vyplněné pole má přednost před automatikou; prázdné znamená „přepni podle tabulky". Skutečné kódy vaší smlouvy vrací metoda /codelist/product.
U metody s mapou zapněte i Jen místa s dobírkou (sekce 8) — jinak si zákazník může vybrat místo, které dobírku nepřijímá.
Velmi dlouhý e-mail zákazníka
Do PPL se e-mail vejde na 50 znaků. Delší adresa se neposílá vůbec — ořezaná by vypadala platně, ale patřila by někomu jinému. Plugin to u exportu ohlásí s číslem objednávky; taková zásilka projde normálně, jen k ní PPL nepošle e-mailová oznámení. Zákazníka zastihne dopravce telefonicky.
Jak dobírka vypadá na etiketě
Dobírková zásilka má na etiketě dole černý pruh „Dobirka/COD". Částka dobírky se na etiketu netiskne — PPL ji vede ve svém systému a řidič ji vidí ve skeneru.
14. Storno zásilky
Zásilku, která nepůjde do přepravy — zákazník objednávku zrušil, zboží není skladem, export proběhl omylem — je potřeba v PPL stornovat. Není to volitelný úklid: jakmile zásilka v datech vznikne, PPL ji vede jako čekající na podání, dokud ji nestornujete.
Stornovat jde jen zásilku, kterou jste ještě fyzicky nepředali řidiči.
Jedna objednávka
- Otevřete objednávku ve VirtueMart → Orders.
- V panelu dopravy klikněte na Stornovat zásilku v PPL.
Panel pak místo štítku ukáže Stornováno s datem a časem. Storno je nevratné — zpět už zásilku neoživíte, dá se jen vytvořit nová.
Více objednávek najednou
V přehledu objednávek zaškrtněte objednávky, které chcete stornovat, a v nabídce PPL zvolte Storno v PPL. Tlačítko se pak zeptá Opravdu stornovat (počet)? — teprve druhé kliknutí storno provede. Když do šesti sekund nekliknete, otázka zmizí.
Objednávky bez zásilky v PPL se ve výběru přeskočí, nemusíte je odškrtávat. Výsledek se vypíše nad seznamem, u každé objednávky zvlášť.
Hromadné storno záměrně nepracuje s filtrem stavu jako hromadný export. Storno je nevratné, takže se stornují jen ty objednávky, které opravdu zaškrtnete.
Vytvoření nové zásilky po stornu
U stornované objednávky nabídne panel dopravy tlačítko Vytvořit novou zásilku. Použije se, když se zásilka nakonec pošle — typicky po opravě adresy nebo výdejního místa. Původní číslo zásilky tím zmizí z objednávky; dohledatelné zůstává v logu komunikace s PPL.
Co PPL vrátí
Storno je u PPL asynchronní: API potvrdí přijetí okamžitě, ale v jejich systému se zásilka na Stornováno přepne až za nějakou dobu. Plugin proto po úspěšném stornu jen zapíše datum a čas — kdyby storno na straně PPL neprošlo, dozvíte se to z jejich systému, ne z administrace obchodu.
15. Přehled zásilek a svoz
V administraci PPL (klient.ppl.cz) zásilky založené pluginem neuvidíte — PPL potvrdilo 28. 8. 2026, že tam jsou vždy jen zásilky vytvořené přímo v jejich aplikaci. Přehled, kontrola stavů i objednávka svozu jsou proto tady, v administraci e-shopu.
Čísla zásilek přímo v přehledu objednávek
Pod číslem objednávky se ukazuje číslo zásilky PPL a její poslední známý stav. Stornovaná zásilka je přeškrtnutá červeně. Nemusíte kvůli tomu otevírat detail objednávky.
Nepodané zásilky
Položka Nepodané zásilky vypíše všechny zásilky, které jsou u PPL založené a nejsou stornované — tedy to, co čeká na předání řidiči. Filtr stavu objednávky se tu záměrně nepoužívá: zásilka čeká na podání bez ohledu na to, jaký stav mezitím objednávka dostala.
Zásilky u PPL
Položka Zásilky u PPL vypíše zásilky, které PPL eviduje na vašem zákaznickém účtu za zvolené období. Na rozdíl od Nepodaných zásilek, které čtou data e-shopu, se tenhle přehled ptá přímo PPL — a to je jediné místo, kde uvidíte i zásilky, které v tomhle e-shopu nevznikly: z dřívějšího řešení, z jiného e-shopu na témže účtu nebo zadané ručně. Takové řádky jsou podbarvené a označené štítkem mimo e-shop.
Nahoře se vybere období (předvyplněný je poslední měsíc) a volitelně stav. Tabulka pak ukazuje:
| sloupec | co v něm je |
|---|---|
| Datum | poslední změna zásilky u PPL |
| Zásilka / Objednávka | číslo zásilky a číslo objednávky, ke které patří |
| Produkt | kód produktu PPL, se kterým zásilka odešla |
| Stav | stavy hlášené PPL, česky |
| Příjemce | jméno a město |
| Váha | skutečná váha zvážená v depu, ne ta z objednávky |
| Dobírka | částka; vyplaceno znamená, že ji PPL už poslalo na účet |
| Doprava | co si za zásilku účtuje PPL — přeprava, mýto, palivový příplatek i poplatek za dobírku dohromady |
Pod tabulkou je součet za celé období: kolik zásilek, kolik stála doprava a kolik je v dobírkách.
Ceny jsou skutečné nacenění od PPL, ne to, co jste vybrali od zákazníka. Dají se tedy použít na porovnání výnosu z dopravy s náklady. Vyplňují se s odstupem — u čerstvé zásilky bývá cena ještě prázdná.
Tlačítkem Tisk se seznam vytiskne tak, jak je zrovna načtený — na šířku, s hlavičkou tabulky opakovanou na každé stránce, s obdobím nahoře a součtem i časem tisku dole. Netiskne se administrace kolem, jen samotný přehled.
Přehled najednou stáhne nejvýš 500 zásilek; když jich je v období víc, řekne to a stačí zvolit kratší období.
Zkontrolovat stavy
Položka Zkontrolovat stavy se doptá PPL na skutečný stav všech nepodaných zásilek a uloží ho. Používá se, když se se zásilkou stalo něco mimo e-shop — typicky když ji někdo stornoval jinudy. Takovou zásilku plugin označí jako stornovanou a z přehledu nepodaných zmizí.
Stavy se vypisují česky (čeká na podání, doručeno, stornováno, …). Na kód, který zatím neznáme, můžete narazit — vypíše se tak, jak přišel z API, anglicky. Když takový uvidíte, dejte nám vědět a doplníme překlad.
Zásilka, kterou PPL zrovna nevrátí, nezmizí. Rozhraní PPL odpovídá z víc serverů a čerstvě založená nebo čerstvě stornovaná zásilka se pár minut může tvářit různě. Plugin proto stav jen doplňuje, nikdy neruší — když se u zásilky objeví hláška, že ji PPL nevrátilo, zkuste kontrolu za chvíli znovu.
Objednání svozu
Položka Objednat svoz otevře formulář: datum, počet balíků, volitelně čas od–do a poznámka pro řidiče. Počet balíků se předvyplní podle toho, kolik zásilek čeká na podání.
| pole | poznámka |
|---|---|
| Datum svozu | Předvyplněné na zítřek. |
| Počet balíků | 1 až 50, strop je daný rozhraním PPL. |
| Čas od / do | Nepovinné. Nechte prázdné, pokud vám vyhovuje běžný svozový čas. |
| Poznámka pro řidiče | Nepovinná, max. 300 znaků. |
Adresa svozu se bere ze stejného nastavení jako adresa odesílatele u zásilek — co je vyplněné v konfiguraci pluginu, platí i tady.
Po odeslání se vypíše číslo svozu od PPL a rovnou se otevře přehled objednaných svozů. Svoz není navázaný na konkrétní zásilky, říká jen „přijeďte tehdy a tehdy pro tolik balíků".
⚠️ Svoz je skutečná objednávka dopravy. Objednávejte ho, až budete mít balíky připravené.
Objednané svozy
Položka Objednané svozy vypíše svozy za posledních 14 dní — datum, číslo od PPL, počet balíků a stav. U svozu, který ještě nejel, je tlačítko Zrušit; potvrzuje se druhým kliknutím, aby se nedalo zrušit omylem.
Zrušit jde jen svoz objednaný odsud — ruší se podle reference, kterou mu plugin při objednání dal. Svoz zadaný jinudy (telefonicky, v aplikaci PPL) se v seznamu sice může objevit, ale tlačítko u něj nebude; ten se ruší tam, kde vznikl.
16. Testovací prostředí
PPL provozuje oddělené testovací prostředí s vlastní databází. Zásilky v něm vzniklé se reálně nepřepravují ani nefakturují.
- Vyžádejte si u podpory PPL Client ID a Client Secret pro testovací prostředí — produkční údaje v něm nefungují.
- V globální konfiguraci pluginu přepněte Prostředí API na Testovací.
- Vyplňte testovací Client ID a Client Secret.
API klíč widgetu se nemění — mapa výdejních míst běží proti produkčním datům i při testování. Nezapomeňte mít testovací doménu na seznamu povolených domén klíče.
Až budete hotoví, přepněte prostředí zpět na Produkce a vyměňte údaje za produkční. Plugin si při změně prostředí i údajů zahodí uložený přihlašovací token sám.
Číselník výdejních míst se mezi prostředími liší. Kód, který vám vrátí testovací prostředí, na produkci existovat nemusí — pro ostrou zkoušku vybírejte místo vždy z produkční mapy.
17. Stav objednávky po exportu
Plugin umí objednávku po úspěšném exportu sám přepnout do jiného stavu — typicky do vlastního stavu „Předáno PPL", podle kterého pak v přehledu objednávek poznáte, co je odbavené.
Ve výchozím nastavení je volba prázdná a plugin stav objednávky nemění.
Nastavení
- Založte si stav objednávky ve VirtueMart → Konfigurace → Stavy objednávek. Zvolte volný jednopísmenný kód (
T,L,M…) a název, například Předáno PPL. - Ten kód zapište do parametru Stav objednávky po exportu v globální konfiguraci pluginu.
Kdy se stav změní
V okamžiku, kdy zásilka dostane od PPL číslo — ne při odeslání dávky. To je podstatný rozdíl:
- Objednávka, kterou PPL odmítne, v původním stavu zůstane a půjde exportovat znovu.
- Platí to stejně pro export jedné objednávky, hromadný export i dohledání čísla tlačítkem Obnovit stav.
- Objednávka, která už v cílovém stavu je, se znovu nepřepisuje.
Zadáte-li kód stavu, který ve VirtueMartu neexistuje, plugin to ohlásí varováním a stav nezmění — export tím nespadne.
Pošle se zákazníkovi e-mail?
Rozhoduje o tom VirtueMart, ne plugin. Notifikace se rozesílají u stavů zaškrtnutých v konfiguraci VirtueMartu (Stavy objednávky, o kterých se informuje zákazník). Nový stav tam ve výchozím stavu není, takže se neodešle nic. Chcete-li zákazníkovi po předání dopravci psát, zaškrtněte tam nový stav.
Storno stav nevrací. Objednávka zůstane v „Předáno PPL", dokud ji ručně nepřepnete jinam.
18. Odinstalace
- Extensions → Manage → Extensions
- Vyhledejte
semappl. - Odinstalujte plugin dopravy SemaShipping PPL – doručení na adresu a výdejní místa pro VirtueMart.
Co se smaže
- Plugin dopravy (PHP, JS, CSS, jazykové soubory)
- Systémový plugin
plg_system_semappl(odstraní se automaticky) - Tabulka
#__virtuemart_shipment_plg_semappl(data o zásilkách v objednávkách)
Co zůstane
- Tabulka
#__sema_ppl_log— auditní záznamy o komunikaci s PPL API
Proč se log nemaže? Slouží jako doklad o tom, co a kdy se do PPL odeslalo. Smazat ho můžete ručně:
DROP TABLE IF EXISTS `#__sema_ppl_log`;(nahraďte
#__skutečným prefixem svých tabulek)
19. Řešení problémů
Mapa se nezobrazuje
- Ověřte, že je plugin povolený.
- Ověřte, že metoda dopravy má typ doručení Výdejní místo / box, ne Doručení na adresu.
- Zkontrolujte, že je vyplněný API klíč mapového widgetu.
- Zkontrolujte seznam povolených domén u klíče v
klient.ppl.cz/widgetadmin. Tohle je zdaleka nejčastější příčina — widget se na neuvedené doméně prostě nenačte.example.czawww.example.czjsou dvě různé domény. - Otevřete konzoli prohlížeče (F12) a podívejte se na chyby JavaScriptu.
- Ověřte, že stránku neblokuje Content Security Policy pro doménu
www.ppl.cz.
Když se mapa nenačte, zákazník uvidí pod tlačítkem červenou hlášku, že mapu nelze otevřít. Tlačítko, které jen mlčí, znamená starší verzi než 1.2.12.
Zákazník nemůže dokončit objednávku
- U metody s mapou zákazník musí vybrat místo. Hláška „Prosím vyberte výdejní místo PPL" je správné chování.
- U metody s doručením na adresu se žádné místo nevyžaduje — pak je problém jinde.
Chyba při exportu zásilky
- Ověřte Client ID a Client Secret v globální konfiguraci.
- Ověřte, že je zvolené správné Prostředí API — produkční údaje v testovacím prostředí nefungují a naopak.
- Ověřte kód produktu u metody dopravy. Musí být z vaší smlouvy a musí odpovídat typu doručení (sekce 7).
- Přečtěte si chybovou hlášku — plugin zobrazuje odpověď PPL API včetně jednotlivých vadných polí.
- Podrobnosti požadavku a odpovědi najdete v tabulce
#__sema_ppl_log.
Chyba přihlášení k API
- Zkontrolujte, že vám PPL přístup k CPL API skutečně povolila. Samotné zákaznické číslo nestačí, přístup se zřizuje na vyžádání.
- Ověřte, že údaje patří ke zvolenému prostředí.
- PPL omezuje vydávání tokenů na 12 za minutu. Když si s pluginem hrajete a přepínáte údaje, počkejte chvíli.
Objednávka zůstává ve stavu „PPL dávku zpracovává"
- Klikněte na Obnovit stav. Zpracování obvykle trvá jednotky sekund, u velkých dávek déle.
- Když stav trvá dlouho, zkontrolujte
#__sema_ppl_log— v odpovědi bude buďInProcess, nebo chyba.
Štítek se nestáhne
- Ověřte, že zásilka má číslo zásilky. Bez něj štítek neexistuje.
- Zkontrolujte, že formát štítku v nastavení odpovídá vaší tiskárně.
- Podívejte se do
#__sema_ppl_logna odpověď u akcedownloadLabelnebogetBatchLabel.
U hromadného stahování se důvod vypíše rovnou nad seznam objednávek — červeně, jedna řádka na dávku. Když se stáhla jen část, je v ZIPu soubor PRESKOCENE-DAVKY.txt se seznamem toho, co chybí.
Tlačítka hromadného exportu se nezobrazují
- Ověřte, že systémový plugin
plg_system_semapplje nainstalovaný a povolený (Extensions → Plugins, skupinasystem). - Ověřte, že jste na stránce VirtueMart → Orders — jinde se nabídka PPL nezobrazuje.
- Zkontrolujte konzoli prohlížeče na chyby JavaScriptu.
- Běží-li na webu i SemaShipping Packeta, musí být PPL na verzi 1.2.19 nebo vyšší a Packeta na 1.4.13 nebo vyšší — viz níž.
Tlačítko PPL zmizelo a pod tabulkou „vyteklo" kus skriptu
Stává se to jen tam, kde vedle sebe běží SemaShipping PPL i SemaShipping Packeta a aspoň jeden z nich je starší. Oba pluginy se do administrace vkládají před uzavírací značku stránky a ve starších verzích si při tom navzájem rozbily blok skriptu; konzole hlásí SyntaxError.
Řešení je aktualizovat obojí: PPL na 1.2.19 a výš, SemaShipping Packeta na 1.4.13 a výš. Novější PPL si poradí i se starší Packetou, ale spolehlivé je to teprve tehdy, když jsou aktuální oba.
Dobírka se nenastavuje
- Ověřte ID platební metody v parametru ID plateb = dobírka. Musí odpovídat
virtuemart_paymentmethod_idz URL platební metody. - Více ID oddělujte čárkou bez mezer.
- Ověřte, že váš účet PPL má dobírku povolenou a že ji podporuje zvolený produkt.
- Skončí-li export chybou „Unable to get shipment number" (
MyApi2.Error.UnableToGetShipmentNumber), není chyba v datech objednávky: váš účet PPL nemá pro dobírkové produkty přidělenou číselnou řadu zásilek. Požádejte o ni svého obchodního zástupce PPL se svým zákaznickým číslem.
Metoda dopravy se nezobrazuje v košíku
- Ověřte nastavení zemí (povolené i blokované).
- Ověřte váhové omezení.
- Ověřte, že metoda je ve VirtueMart Published a plugin Enabled.
Kontrolní seznam pro spuštění
- Přístup k CPL API vyžádán u podpory PPL a schválen
- Client ID a Client Secret vyplněny
- Prostředí API odpovídá vydaným údajům
- API klíč widgetu vytvořen v klient.ppl.cz/widgetadmin
- Domény e-shopu přidány k API klíči widgetu (včetně varianty s www)
- Výchozí adresa odesílatele nastavená v klientské sekci PPL
- Plugin nainstalován a povolen
- Metoda dopravy vytvořena ve VirtueMart a publikována
- Typ doručení zvolen
- Kód produktu vyplněn a odpovídá typu doručení
- Země a typy míst pro mapu nastaveny
- ID dobírkových plateb vyplněno (pokud dobírku nabízíte)
- Formát a velikost štítku zvoleny
- Výchozí stav pro export nastaven
- Testovací objednávka provedena a zásilka úspěšně exportována
- Štítek stažen a vytištěn
- Hromadný export vyzkoušen v přehledu objednávek
PPL® je registrovaná ochranná známka PPL CZ s.r.o., společnosti skupiny DHL Group. Tento produkt je nezávislé rozšíření a není s PPL CZ s.r.o. ani DHL Group spojen ani jimi schválen.