Klasa do śledzenia przesyłki,pobierania info o jej stanie z API Poczty Polskiej. Dodatkową funkcją jest konwersja kodu zdarzenia np "P_D" na opis czyli np. "Doręczono" itd.
Link do pobrania: https://github.com/LPodolski/Polish_Post_Tracking/archive/master.zip
Szczegółowe info o API Poczty Polskiej i dokumentacja API dostępna na stronie:
http://www.poczta-polska.pl/webservices/
Przykład użycia:
require_once 'polish_post_tracking/autoloder.php'; $PolishPostApi = new \PolishPostTracking\Api; $packageTracking = $PolishPostApi->checkPackage( '00259007733174854852' ); // apply description to event codes, so instead of P_D you get "Doręczenie" in "opisZdarzenia" property \PolishPostTracking\EventMapper::applyMappingToCheckPackage( $packageTracking ); http://www.php.net/print_r( $packageTracking );
- Brak obsługi composera,
- Brak/błędne trzymanie się standardów PSR,
- Funkcja autoloadera działa niepoprawnie. Powinna zawsze zwracać TRUE/FALSE, nie sprawdza czy dana klasa rzeczywiście istnieje w dołączanym pliku,
- Bezpośrednie korzystanie z klasy Exception przy rzucaniu wyjątków,
- Korzystanie z nieistniejącej klasy PolishPostTracking\Exception,
- Mieszanie w zwracanych typach metod, np. PolishPostTracking\EventMapper::mapCode() powinna rzucić wyjątkiem, a nie zwracać FALSE,
- Klasa PolishPostTracking\Api udostępnia jedynie jedną metodę operującą na webserwisie PP, nie udostępniając jednocześnie bezpośredniego dostępu do klienta SOAP.
W skrócie: dużo do poprawy.
Wersja 1.3:
- obsługa composera
- usunięcie EventMapper'a, nie zauważyłem że jest przekazywany w odpowiedzi API kod zdarzenia i nazwa
- udostępnienie bezpośredniego dostępu do SOAP
Przykład wywołania:
require_once 'PolishPostTracking/Autoloder.php'; try { $PolishPostApi = new \PolishPostTracking\Api; $packageTracking = $PolishPostApi->checkPackage( '00259007733174854852' ); http://www.php.net/print_r( $packageTracking ); } catch( \PolishPostTracking\Exception $E ) { http://www.php.net/echo 'Error occurred'; // in production inform admin by email, save to log file http://www.php.net/echo '<br> ' . $E->getMessage(); }
{ "require": { "polish_post_tracking/polish_post_tracking": "dev-master" } }
Ależ stary odkop!
Czy mógłbym prosić o pomoc, w jaki sposób odczytać np tylko miejscowosc w której aktualnie znajduje się przesyłka ?
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)