MikyWoW / gls_api

Implementation of GLS MyAPI in PHP
3 stars 0 forks source link

Tisk existujícího štítku #1

Closed jakubmilata closed 3 years ago

jakubmilata commented 3 years ago

Štítky tisknu z ZPL, vše funguje perfektně a díky moc za tento projekt. Občas bych ale potřeboval nějaký štítek vytisknout znovu v PDF

Je vůbec možné stáhnout PDF pro již vygenerované štítky? Zkouším všemožně $response = $connection->GetPrintedLabels($parcels); ale nepřišel jsem na to, jakým způsobem mám předat čísla balíků, které chci znovu vytisknout, ani jestli je mám dávat s kontrolním číslem, nebo bez. Když zkusím např. toto číslo balíku : 70694145 poslat takto: $response = $connection->GetPrintedLabels(array(70694145)); Většinou dostanu odpověď: Error in parcel: Desc: User is not authorized to access parcel

Popravdě se nemůžu dostat ani přes $response = $connection->GetParcelList($vcera,$datum,false); Zkoušel jsem data v různých formátech, ale vždy se mi vrátí jen Desc: Parcel not found with current settings I když balíky v MyGLS jsou... Rád zaplatím za pomoc.

MikyWoW commented 3 years ago

Nejsem si jistý zda lze získat PDF znovu. V aplikaci na webu to tuším taky nejde respektive co si vzpomínám tak to vytvoří štítek s jiným číslem pokud se vyvolá tisk znovu. Ty ID co se dávají do GetPrintedLabels asi není číslo balíku co je na štítku ale jejich interní ID.

Volá se PrepareLabels() to vrátí ID balíků a to se pak použije pro funkci GetPrintedLabels() .Dalo by se kouknout jaké ID to tam vrací a vyzkoušet zavolat GetPrintedLabels() 2x co se stane na podruhé. PrintLabels() provádí obě funkce najednou. Je to popsané v dokumentaci API.

Já to řeším tak že si data štítku uložím do DB, abych mohl tisk opakovat. Nepůjde ale kombinovat PDF a ZPL vždy jedno nebo druhé pro daný balík.

V funkci GetParcelList() mám asi chybu v převodu data z DateTime na formát co oni požadují. Nepoužívám tu funkci tak jsem na to nepřišel. Nemám teď přístup k API abych vyzkoušel. Zítra na to kouknu.

jakubmilata commented 3 years ago

Dobrý den, já to ještě zkoumal více a vypadá to, že PDFko nejde získat znovu. Neřešte to, já si to předělám a budu si PDFka ukládat. A ZPLka budu generovat z PDFka (změním je imagemagickem na PNG a pak to jde vytisknout.) Tímto způsobem mám aspoň jistotu, že štítek je 100% shodný s tím, co generuje GLS. Těch případů, kdy potřebuji znovu vytisknout štítek je naprosté minimum.

MikyWoW commented 3 years ago

GetParcelList() opraveno a je funkční ve verzi 1.0.3