lip
24
2012

Paczkomaty InPost cz.1 – Import danych o paczkomatach

Od 2008 roku widzimy wykładniczy rozwój systemu skrytek pocztowych w postaci “Paczkomatów”. W kolejnych krajach usługa ta jest uruchamiana (Chile, Czechy, Słowacja…). W komunikatach prasowych czytamy o kosmicznych sumach pieniędzy inwestowanych w ten system. Ma to przełożenie na klientów, którzy coraz częściej wybierają tą formę wysyłki, ze względu na całodobową możliwość odbioru zamówionego towaru. Za ciosem idą sklepy, integrując się z systemem inPostu.

Integrację z paczkomatami przedstawię w postaci kilku części.
Ten będzie opisywał pierwszy etap – Import danych o paczkomatach do bazy danych sklepu.


Nie będę opisywać tutaj API z dokumentacji technicznej. Postanowiłem napisać swój krótki skrypt do odbioru potrzebnych informacji. Pełną dokumentację techniczną środowiska API znajdziecie na dole strony: http://www.paczkomaty.pl/paczkomaty_inpost_integracja,25.html

 

Możecie zapytać, po co trzymać dane o paczkomatach w swojej bazie, skoro można te informacje otrzymywać w locie na bieżąco odpytując serwer inPost?
Z doświadczenia wiem, że serwery inPostu zwyczajnie czasem przez kilka/kilkanaście minut nie dają żadnej odpowiedzi, padają/konserwacje? Powoduje to problem, gdy klient w trakcie składania zamówienia zechce wybrać inny paczkomat niż ma przypisany w swoim profilu. Nie wie co się dzieje i przerywa proces zakupu.

Tyle wstępu ;) przejdźmy do konkretnego przykładu.

Lista działających paczkomatów jest dostępna pod adresem:

Odpalając powyższy link widzimy tekst w formacie CSV.

  • W tym pliku jest lista tylko działających maszyn. Jeżeli któraś jest nieczynna, nie będzie jej na liście. Więc nie zdziwcie się, że pewnego dnia nie będzie wybranego paczkomatu. Dlatego też należy czyścić tabelę w swojej BD i uzupełniać ją na nowo danymi.
  • Każda linijka opisuje jeden paczkomat.

W pliku zawarte są informacje takie jak (wg. kolejności):

  • Symbol paczkomatu – Symbol ten odpowiada temu, który wpisujecie w panelu paczkomatów jako sklep w trakcie wypisywania etykiety do wysyłki. Warto to mieć w podglądzie zamówienia. Czasem klient wybiera inny paczkomat w trakcie zakupów niż ten, który ma ustawiony w systemie paczkomatów.
  • Nazwa ulicy.
  • Numer budynku przy którym znajduje się paczkomat.
  • Kod pocztowy rejonu, w którym znajduje się paczkomat.
  • Miasto.
  • Szerokość geograficzna.
  • Długość geograficzna.
  • Możliwość odbioru paczki za pobraniem – Przyjmuje wartości t (true, można płacić za pobraniem) oraz f (false, brak płatności).
  • Godziny dostępności – Jest to zwykły tekst, np: “Paczkomat: 24/7”.
  • Opis lokalizacji – Opis miejsca, w którym znajduje się paczkomat. Ma to na celu ułatwienie klientowi odnalezienie maszyny. Nie zawsze jest to proste :) Już testowałem szukając wokół Stokrotki, gdzie jest paczkomat. Okazało się, że był ukryty, głęboko w środku… o_O
  • Opis miejsca w przypadku płatności za pobraniem. Także tą informację należałoby wyświetlić klientowi przy potwierdzeniu zamówienia oraz w mailu.
  • ID partnera (lokalizacja) – Gdy zadzwoniłem do działu technicznego z pytaniem, co to za pole, odpowiedziano: “To Pana nie interesuje”. Mają rację, nie jest to nam przydatne :)
  • Obsługiwane formy płatności – Przyjmuje wartości od 0 do 3. Nie używam tego, skoro już wiem, że jest możliwość płacenia za pobraniem, z poprzednich parametrów.

Wszystkie te dane przydają się nam w momencie wyszukiwania najbliższego paczkomatu dla klienta wraz z jego dodatkowym opisem i możliwością opłaty za przesyłkę (za pobraniem).

Pobieramy go przez bibliotekę cURL i następnie parsujemy do tablicy. W międzyczasie sprawdzamy czy pobierane dane są poprawne i cały proces importu nie zawiera błędów.

Poniżej pełny skrypt importu wraz z opisem w komentarzach:

Na koniec dodam, iż dobrze jest pobrać sobie dokumentację techniczną z linku na górze tego wpisu. W paczce ZIP umieszczone są skrypty w PHP, które warto prześledzić od środka. Dzięki temu można stworzyć coś na własne potrzeby.

Podobne tematy

Autor wpisu: Arkadiusz Krakiewicz

Programista i właściciel sklepu jednocześnie, dzięki temu rozumie potrzeby osób prowadzących sprzedaż w internecie. Od 2006 związany z eCommerce. Zaczynał jako freelancer tworząc sklepy oraz strony www. Aktualnie zajmuje się: programowanie w PHP, Symfony 2, Android, PrestaShop, osCommerce, OpenCart, WordPress.

1 komentarz + Dodaj komentarz

  • Wielkie dzięki za wpis, trudno coś odszukać o paczkomatach.

Dodaj komentarz

Anti-Spam

O mnie

Arkadiusz Krakiewicz
Programista aplikacji webowych dla branży eCommerce. Jednocześnie jako właściciel sklepu zna od "podszewki" potrzeby osób prowadzących sprzedaż w internecie.
W swoich rozwiązaniach stawia na funkcjonalność i wydajność aplikacji pod kątem obsługi klienta.
[X]
Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików cookies.
Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.