Semakin
Zákazník

SemaShipping PPL

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žadavekVerze
Joomla4.x, 5.x
VirtueMart4.x
PHP8.0+
MySQL5.7+ / MariaDB 10.3+
Aktuální verze1.2.20


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.

ÚdajKde ho získáteK čemu slouží
Client IDNa vyžádání u vašeho obchodního zástupce PPLPřihlášení k CPL API (export zásilek, štítky)
Client SecretTamtéž, spolu s Client IDTajná část přihlášení, nikdy neopouští server
API klíč widgetu (ak_…)Sami v klient.ppl.cz/widgetadminZobrazení mapy výdejních míst na frontendu
Kódy produktůGET /codelist/product, nebo u obchodního zástupce PPLUrč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:

  1. Přihlaste se do klient.ppl.cz/widgetadmin stejnými údaji jako do klientské sekce PPL.
  2. Vytvořte nový widget a vygenerujte k němu API klíč — začíná předponou ak_.
  3. 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í, a example.cz a www.example.cz se 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ódSlužba
SMARPPL Parcel CZ Smart — doručení na výdejní místo
SBOXPPL Parcel CZ Smart To Box — doručení do boxu
PRIVPPL Parcel CZ Private — doručení na adresu soukromé osoby
BUSSPPL 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

  1. Stáhněte instalační ZIP plg_vmshipment_semappl_X.Y.Z.zip.
  2. Přihlaste se do administrace Joomla.
  3. Přejděte do System → Install → Extensions.
  4. Nahrajte ZIP soubor.
  5. 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:

  1. Přejděte do Extensions → Plugins.
  2. Vyhledejte semappl nebo PPL.
  3. Klikněte na název SemaShipping PPL – doručení na adresu a výdejní místa pro VirtueMart (skupina vmshipment) a nastavte Status = Enabled.
  4. Uložte.

Systémový plugin plg_system_semappl se 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:

ParametrPopis
Prostředí APIProdukce pro ostrý provoz, Testovací pro zkoušení. Viz sekce 16.
Client IDIdentifikátor pro CPL API od podpory PPL.
Client SecretTajný klíč k Client ID. Zůstává na serveru, na frontend se nikdy nedostane.
API klíč mapového widgetuKlíč 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 PPLPPL 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ítkuPDF pro běžné tiskárny, ZPL pro termotiskárny. Dále PNG, JPEG, SVG.
Velikost stránky štítkuA4 = čtyři etikety na list, Výchozí = jedna etiketa na stránku.
Počáteční pozice na listu1–4. Umožňuje dotisknout na částečně použitý arch A4.
Výchozí stav pro exportKód stavu objednávky VirtueMart, ze kterého se bere seznam pro hromadný export. Výchozí C (potvrzeno). Víc stavů oddělte čárkouC,Q vezme potvrzené i vyřizované najednou.
Stav objednávky po exportuKó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".

PolePoznámka
Název odesílateleFirma nebo jméno na štítku.
Doplněk názvuDruhý řá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-mailKontakt 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.

  1. V administraci VirtueMart přejděte do Shop → Shipment Methods.
  2. Klikněte na New.
  3. 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
  4. Přejděte na záložku Configuration.
  5. Nastavte parametry z následujících sekcí.
  6. 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í

VolbaChování
Výdejní místo / boxV košíku se zobrazí tlačítko a mapa PPL. Zákazník musí místo vybrat, jinak objednávku nedokončí.
Doručení na adresuJen 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 / boxSMAR (výdejní místa), SBOX (jen boxy)
Doručení na adresuPRIV (soukromé osoby), BUSS (firmy)

Kombinace, které si neodpovídají (např. PRIV u 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

ParametrPopis
ZeměZemě, pro které se metoda nabízí.
Blokované zeměZemě, pro které se metoda naopak nenabídne.
Minimální / maximální váhaVáhový rozsah objednávky, ve kterém se metoda zobrazí.
Jednotka váhyKG 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

ParametrPopis
Země pro widgetISO kód země, jejíž místa se v mapě nabídnou (např. CZ, SK). Výchozí CZ.
Zobrazené typy místVše (ParcelShop, ParcelBox, AlzaBox) / Jen ParcelShopy / Jen boxy.
Jen místa s dobírkouOmezí 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

ParametrPopis
Cena dopravyZákladní cena.
Poplatek za baleníPřičte se k ceně dopravy.
Daňové pravidloDaň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:

StavCo to znamenáCo s tím
NeexportovánoZásilka do PPL zatím neodešlaTlačítko Vytvořit zásilku v PPL
PPL dávku zpracováváDávka odešla, číslo zásilky ještě nepřišloTlačítko Obnovit stav
HotovoZásilka má čísloTlačítko Stáhnout štítek

Export jedné objednávky

  1. Otevřete objednávku ve VirtueMart → Orders.
  2. V panelu dopravy klikněte na Vytvořit zásilku v PPL.
  3. 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í:

skupinapoložky
ZásilkyExport do PPL · Stáhnout štítky · Storno v PPL
SvozObjednat svoz · Objednané svozy
PřehledNepodané 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:

polekde na archu
1vpravo nahoře
2vpravo dole
3vlevo nahoře
4vlevo 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

  1. Zjistěte ID dobírkové platební metody: VirtueMart → Shop → Payment Methods, otevřete metodu a přečtěte virtuemart_paymentmethod_id z URL.
  2. 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ódDobírkovýProdukt
SMARSMADPPL Parcel CZ Smart (výdejní místo)
PRIVPRIDPPL Parcel CZ Private (adresa)
BUSSBUSDPPL Parcel CZ Business (adresa)
SBOXSBODPPL Parcel CZ Smart To Box
CONNCONDPPL Parcel Connect
SMEUSMEDPPL 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

  1. Otevřete objednávku ve VirtueMart → Orders.
  2. 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:

sloupecco v něm je
Datumposlední změna zásilky u PPL
Zásilka / Objednávkačíslo zásilky a číslo objednávky, ke které patří
Produktkód produktu PPL, se kterým zásilka odešla
Stavstavy hlášené PPL, česky
Příjemcejméno a město
Váhaskutečná váha zvážená v depu, ne ta z objednávky
Dobírkačástka; vyplaceno znamená, že ji PPL už poslalo na účet
Dopravaco 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í.

polepoznámka
Datum svozuPředvyplněné na zítřek.
Počet balíků1 až 50, strop je daný rozhraním PPL.
Čas od / doNepovinné. Nechte prázdné, pokud vám vyhovuje běžný svozový čas.
Poznámka pro řidičeNepovinná, 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í.

  1. Vyžádejte si u podpory PPL Client ID a Client Secret pro testovací prostředí — produkční údaje v něm nefungují.
  2. V globální konfiguraci pluginu přepněte Prostředí API na Testovací.
  3. 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í

  1. 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.
  2. 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

  1. Extensions → Manage → Extensions
  2. Vyhledejte semappl.
  3. 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

  1. Ověřte, že je plugin povolený.
  2. Ověřte, že metoda dopravy má typ doručení Výdejní místo / box, ne Doručení na adresu.
  3. Zkontrolujte, že je vyplněný API klíč mapového widgetu.
  4. 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.cz a www.example.cz jsou dvě různé domény.
  5. Otevřete konzoli prohlížeče (F12) a podívejte se na chyby JavaScriptu.
  6. 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

  1. Ověřte Client ID a Client Secret v globální konfiguraci.
  2. Ověřte, že je zvolené správné Prostředí API — produkční údaje v testovacím prostředí nefungují a naopak.
  3. Ověřte kód produktu u metody dopravy. Musí být z vaší smlouvy a musí odpovídat typu doručení (sekce 7).
  4. Přečtěte si chybovou hlášku — plugin zobrazuje odpověď PPL API včetně jednotlivých vadných polí.
  5. 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

  1. Ověřte, že zásilka má číslo zásilky. Bez něj štítek neexistuje.
  2. Zkontrolujte, že formát štítku v nastavení odpovídá vaší tiskárně.
  3. Podívejte se do #__sema_ppl_log na odpověď u akce downloadLabel nebo getBatchLabel.

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í

  1. Ověřte, že systémový plugin plg_system_semappl je nainstalovaný a povolený (Extensions → Plugins, skupina system).
  2. Ověřte, že jste na stránce VirtueMart → Orders — jinde se nabídka PPL nezobrazuje.
  3. Zkontrolujte konzoli prohlížeče na chyby JavaScriptu.
  4. 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_id z 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.

Máte zájem o spolupráci?

Ozvěte se nám a probereme Váš projekt. Rádi Vám poradíme s výběrem řešení.