Plik ISF zbudowany jest jako zestaw zdarzeń typowych dla handlu internetowego - zamówień oraz zwrotów. ISF 2.0 składa się z dwóch plików - zdarzenia oraz manifestu, za pomocą którego przewoźnik komunikuje swoje niestandardowe usługi.
Każda przesyłka zawiera informacje niezbędne do wygenerowania etykiety (w zależności od rodzaju przesyłki) oraz miejsce na informacje zwrotne (o ile kurier je obsługuje i wymaga ich dana przesyłka):
W pliku zastosowane zostały następujące standardy:
ISF można wdrożyć na dwa sposoby, w zależności od posiadanych zasobów technologicznych. Bardziej zaawansowanym rozwiązaniem jest webserwis - systemy nadawcy i przewoźnika komunikują się ze sobą automatycznie, wymieniając informacje o zdarzeniach. Jeśli jednak z jakiegoś powodu nie ma możliwości stworzenia takiego mechanizmu, komunikacja między sklepem a przewoźnikiem może odbywać się ręcznie. Obydwie strony mogą wygenerować pliki XML i wymieniać się nimi za pomocą innych kanałów komunikacji.
Żądanie do webserwis wykonywane jest w formacie JSON z czterema parametrami: 'user', 'isf', 'time' i 'hash'. Parametry przekazywane są metodą HTTP POST.
$isfHash = hash('sha256', $isf); $time = time(); $requestHash = hash('sha256', $user . $isfHash . $key . $time); $contents = array( 'user' => $user, 'isf' => $isf, 'time' => $time, 'hash' => $requestHash );
Format ISF od wersji 2.0 pozwala na przesyłanie własnych, niestandardowych węzłów, które mogą być wykorzystane przez kuriera w celu wygenerowania etykiety. Do ich uzupełnienia można korzystać ze zmiennych zdefiniowanych przez developera w pliku manifest.xml.
Plik manifest.xml zawiera informacje o endpoint, gdzie ma zostać wysłany ISF, strukturę węzła additionalParams w ISF oraz konfigurację indywidualnych zmiennych. W ISF 2.0 jest on kluczowym elementem poprawnej integracji.
recipient PL 85016120 2.2 5 5 2 Product 1 Towar 2 FVVV/11/PL/2109 2021-09-13 SWRvU2VsbCBJU0YgMi4xIGV4YW1wbGUgcmVxdWVzdA==
Główną różnicą między ISF 2.1 a 2.0 jest dodanie węzła <custom_declaration> który zawiera wszystkie informacje wymagane przez API kurierów do przeprowadzenia odprawy celnej.
Pobierz i zapoznaj się z przykładowymi zleceniami wysyłki w formacie ISF. Poniższe przykłady pokazują wysyłkę dla odbioru osobistego w punkcie (informuje o tym wartość shipment/pickup/self_pickup ustawione na 'yes' i dane punktu odbioru w receiver/pickup_point).
Poniżej możesz pobrać najnowszą wersję specyfikacji technicznej ISF.