Skip to main content
StartBlogDokumentacja interfejsu API śledzenia UPS: 7 kluczowych funkcji, które deweloperzy powinni znać

Dokumentacja interfejsu API śledzenia UPS: 7 kluczowych funkcji, które deweloperzy powinni znać

17TRACK

Dokumentacja UPS Tracking API jest najbardziej użyteczna wtedy, gdy pomaga programiście przejść od numeru śledzenia do niezawodnego procesu wyświetlania statusu przesyłki. Siedem obszarów, które należy przeanalizować, to uwierzytelnianie, żądania śledzenia, schematy odpowiedzi, historia zdarzeń, obsługa błędów, limity operacyjne i testowanie. UPS udostępnia własną platformę deweloperską do bezpośrednich integracji z UPS, natomiast usługa obsługująca wielu przewoźników, taka jak 17TRACK Tracking API, może być bardziej odpowiednia, gdy jedna integracja musi obsługiwać UPS i innych przewoźników.

Dokumentacja UPS Tracking API — 7 kluczowych funkcji, które powinni znać programiści

Właściwa implementacja zależy od systemu, który tworzysz. Sprzedawca detaliczny może potrzebować aktualizacji dostawy na stronie zamówienia, zespół magazynowy może potrzebować alertów o wyjątkach, a platforma korporacyjna może wymagać ustandaryzowanych danych śledzenia dla wielu przewoźników. Analizowanie dokumentacji przez pryzmat tych przypadków użycia pomaga uniknąć częstego błędu: utożsamiania pomyślnej odpowiedzi API z kompletnym rozwiązaniem zapewniającym widoczność przesyłki.

Na jakie pytania powinna odpowiadać dokumentacja UPS Tracking API

Przed napisaniem kodu wyjaśnij cztery kwestie:

  • Czy integrujesz wyłącznie UPS, czy system będzie śledzić przesyłki wielu przewoźników?
  • Czy potrzebujesz bieżącego statusu paczki, pełnej historii skanów, czy obu tych informacji?
  • Czy aplikacja będzie żądać aktualizacji na żądanie, odbierać powiadomienia, czy korzystać z obu metod?
  • Co klienci i zespoły wewnętrzne powinni widzieć, gdy przesyłka jest opóźniona, dostarczona, zwrócona lub jeszcze nieznaleziona?

Dokumentacja UPS jest podstawowym źródłem informacji o aktualnych danych uwierzytelniających, obsługiwanych operacjach, wymaganiach dotyczących żądań, polach odpowiedzi i warunkach dostępu komercyjnego. Szczegóły te mogą się zmieniać w zależności od produktu API, konfiguracji konta lub wersji platformy deweloperskiej, dlatego kod produkcyjny powinien opierać się na aktualnym portalu deweloperskim UPS, a nie na starym przykładzie kodu.

7 kluczowych funkcji, które powinni rozumieć programiści

1. Uwierzytelnianie i dostęp aplikacji

Uwierzytelnianie jest pierwszą praktyczną funkcją, ponieważ określa, w jaki sposób aplikacja potwierdza swoją tożsamość i uzyskuje uprawnienia do wywoływania API. Dokumentacja deweloperska UPS opisuje aktualny proces rejestrowania aplikacji, tworzenia danych uwierzytelniających, żądania dostępu i zarządzania tokenami. Dokumentacja opisuje dostęp oparty na OAuth dla interfejsów API UPS, ale przed implementacją programiści powinni potwierdzić w aktualnym portalu bieżący przepływ uzyskiwania uprawnień, zakresy, czas ważności tokenów i wymagania dotyczące środowiska.

Przechowuj dane uwierzytelniające po stronie serwera. Nie powinny być osadzane w JavaScript uruchamianym w przeglądarce, kompilacjach mobilnych, publicznych repozytoriach ani kodzie strony śledzenia widocznym dla klienta. Bezpieczniejsza architektura umieszcza usługę backendową między aplikacją skierowaną do klienta a UPS. Taka usługa może bezpiecznie uwierzytelniać żądania, egzekwować limity, rejestrować wyniki techniczne bez ujawniania sekretów i zwracać tylko te dane przesyłki, których potrzebuje frontend.

Rozdziel także dane uwierzytelniające środowiska deweloperskiego i produkcyjnego, jeśli platforma UPS obsługuje oddzielne środowiska. Lista kontrolna wdrożenia powinna obejmować przechowywanie sekretów, ich rotację, właścicieli dostępu, obsługę wygasłych tokenów oraz alert uruchamiany, gdy liczba błędów uwierzytelniania zaczyna rosnąć.

2. Żądania z numerem śledzenia i kontekst przewoźnika

Integracja śledzenia potrzebuje przewidywalnego sposobu przesyłania identyfikatora śledzenia i żądania informacji o przesyłce. Ważne pytania dotyczą nie tylko adresu endpointu. Obejmują również akceptowany format numeru śledzenia, możliwość obsługi jednego lub wielu numerów, sposób identyfikacji przewoźnika oraz reakcję API na niekompletny lub jeszcze nierozpoznany numer.

Nie zakładaj, że każdy ciąg znaków przypominający numer śledzenia należy do UPS. Jeśli aplikacja otrzymuje etykiety z kilku systemów wysyłkowych, przechowuj przewoźnika jako oddzielne pole, gdy tylko jest znany. Routing uwzględniający przewoźnika ogranicza liczbę fałszywych dopasowań i ułatwia rozwiązywanie problemów. Tworzy również przejrzystą ścieżkę przyszłej rozbudowy, jeśli firma doda kolejnego przewoźnika.

Weryfikuj dane wejściowe przed wysłaniem żądania, ale unikaj zbyt rygorystycznej walidacji, która odrzuca prawidłowy identyfikator z powodu zmiany formatu lub niedawnego utworzenia etykiety. Odpowiedź API pozostaje rozstrzygającym sprawdzianem. Przechowuj wartość oryginalną, znormalizowaną wartość używaną do wyszukiwania, przewoźnika, numer referencyjny zamówienia oraz czas ostatniego pomyślnego zapytania.

3. Ustrukturyzowany schemat odpowiedzi

Przydatna dokumentacja UPS Tracking API wyjaśnia, jak zorganizowane są dane przesyłki i które pola są opcjonalne. Programiści powinni przeanalizować model odpowiedzi pod kątem tożsamości przesyłki, bieżącego statusu, opisu statusu, znaczników czasu skanów, lokalizacji, przewidywanych terminów dostawy, informacji o usłudze i szczegółów dotyczących poziomu paczki. Brak pola nie jest koniecznie równoznaczny z polem zawierającym pustą wartość, a żadnego z tych przypadków nie należy automatycznie traktować jako nieudanej przesyłki.

Twórz znormalizowany model wewnętrzny zamiast wiązać całą aplikację bezpośrednio z nazwami pól charakterystycznymi dla dostawcy. Na przykład baza danych może przechowywać identyfikator przesyłki, przewoźnika, bieżący status, czas ostatniego zdarzenia, przewidywany czas dostawy, czas doręczenia, kod wyjątku i surowy ładunek dostawcy. Znormalizowane pola obsługują raportowanie i interfejsy użytkownika, a surowy ładunek wspiera audyty i przyszłe zmiany mapowania.

Przechowuj znaczniki czasu wraz z przesunięciem lub informacją o strefie czasowej, jeśli są podane. Wyświetlenie skanu z jednej lokalizacji tak, jakby miał miejsce w lokalnym czasie oglądającego, może tworzyć mylący obraz dostawy. Podobnie nie upraszczaj szczegółowego statusu przewoźnika do prostszej etykiety, dopóki reguła biznesowa nie zostanie udokumentowana.

4. Historia skanów i interpretacja statusu

Wartość UPS tracking często wynika z sekwencji zdarzeń, a nie z pojedynczej bieżącej etykiety. Paczka może przejść przez utworzenie etykiety, odbiór, transport, skan przybycia, wyjątek, zdarzenie „w doręczeniu” i dostawę. Użyteczna integracja przechowuje zdarzenia w kolejności i, jeśli to możliwe, zachowuje ich oryginalne opisy.

Mapowanie statusów wymaga oceny redakcyjnej i operacyjnej. „W transporcie” może obejmować kilka różnych etapów, podczas gdy „wyjątek” może wymagać wyjaśnienia bardziej szczegółowego niż sama nazwa statusu. Aplikacja powinna rozróżniać co najmniej normalne przemieszczanie, czynności związane z dostawą, dostarczenie, wyjątek, zwrot oraz status, którego nie można jeszcze określić. Dokładne mapowanie musi opierać się na polach i kodach udokumentowanych przez UPS, a nie wyłącznie na założeniach wynikających z angielskich opisów.

Na stronach przeznaczonych dla klientów pokazuj najnowsze istotne zdarzenie, jego czas i krótkie wyjaśnienie. W operacjach wewnętrznych zachowuj pełną historię zdarzeń i oryginalne sformułowania przewoźnika. Dzięki temu pracownicy wsparcia mogą zbadać skargę bez proszenia klienta o powtarzanie informacji, które system już otrzymał.

5. Przewidywane terminy dostawy i obsługa wyjątków

Programiści często skupiają się na pomyślnej ścieżce, ale przewidywane terminy dostawy i wyjątki decydują o tym, czy dane śledzenia są praktycznie użyteczne. Przesyłka może nie mieć przewidywanego terminu, termin może się zmienić, a wyjątek może tymczasowo przerwać normalny transport. Należy sprawdzić w dokumentacji pola i warunki reprezentujące te przypadki.

Nigdy nie przedstawiaj przewidywanego terminu jako gwarancji, chyba że odpowiednie warunki usługi UPS wyraźnie wspierają taką interpretację. W interfejsie oznaczaj termin jako przewidywany i pokazuj datę lub przedział czasowy dokładnie w formie obsługiwanej przez dane. Jeśli API nie zwraca przewidywanego terminu, wyświetl neutralny komunikat, taki jak „Przewidywany termin dostawy jest obecnie niedostępny”, zamiast wymyślać go na podstawie ogólnej reguły czasu transportu.

Procesy obsługi wyjątków powinny być jednoznaczne. Zdecyduj, czy nowy wyjątek uruchamia wiadomość e-mail, zadanie w systemie pomocy, działanie w systemie zarządzania zamówieniami czy tylko zmianę statusu. Dodaj deduplikację, aby wielokrotne odpytywanie nie wysyłało tego samego alertu wiele razy. Praktyczna zasada polega na porównaniu identyfikatora zdarzenia lub stabilnej kombinacji czasu zdarzenia, statusu i opisu przed utworzeniem nowego powiadomienia.

6. Błędy, ponowienia i limity operacyjne

Dokumentację API należy czytać jako kontrakt operacyjny, a nie tylko listę przykładów udanych wywołań. Programiści muszą rozumieć błędy uwierzytelniania, nieprawidłowe żądania, nieznane numery śledzenia, tymczasowe awarie usługi, przekroczenia limitu czasu i odpowiedzi dotyczące limitów zapytań. Każda kategoria wymaga innej reakcji.

  • Błędy uwierzytelniania powinny tworzyć alert inżynieryjny i nie powinny być ponawiane bezterminowo.
  • Błędy walidacji należy rejestrować z wystarczającym kontekstem, aby można było skorygować żądanie.
  • Tymczasowe awarie można ponawiać z wykładniczym zwiększaniem odstępów i maksymalną liczbą prób.
  • Nieznane lub niedawno utworzone numery śledzenia można sprawdzić ponownie później, ale nie należy klasyfikować ich jako zagubionych.
  • Odpowiedzi o przekroczeniu limitu zapytań powinny spowalniać harmonogram odpytywania i respektować limity określone w aktualnej dokumentacji UPS.

Stosuj limity czasu, wyłączniki obwodu, identyfikatory żądań i ustrukturyzowane logi. Przechowuj status odpowiedzi dostawcy, wewnętrzny identyfikator przesyłki i znacznik czasu, wykluczając tokeny dostępu oraz zbędne dane osobowe. Jeśli dokumentacja określa nagłówki odpowiedzi lub zalecenia dotyczące ponawiania, zastosuj te instrukcje zamiast ogólnej polityki.

7. Testowanie, monitorowanie i gotowość produkcyjna

Integrację z API śledzenia należy testować z użyciem więcej niż jednego poprawnego numeru śledzenia. Utwórz przypadki testowe dla nowo wygenerowanej etykiety, przesyłki z kilkoma skanami, wyjątku, dostarczonej paczki, nieznanego numeru, wygasłych danych uwierzytelniających, nieprawidłowego żądania, przekroczenia limitu czasu i zduplikowanego zdarzenia. Dokładne dane testowe i działanie środowiska sandbox należy potwierdzić w środowisku deweloperskim UPS, ponieważ dane rzeczywistych przesyłek i środowiska testowe nie zawsze zachowują się identycznie.

Monitoruj zarówno wyniki techniczne, jak i biznesowe. Metryki techniczne obejmują liczbę żądań, opóźnienie, odsetek przekroczeń limitu czasu, błędy uwierzytelniania, odsetek błędów dostawcy i liczbę ponowień. Metryki biznesowe obejmują odsetek przesyłek z niedawnym zdarzeniem, wiek najstarszej nieodświeżonej przesyłki oraz liczbę zamówień dotkniętych wyjątkiem. Usługa może mieć niski odsetek błędów HTTP, a mimo to dostarczać nieaktualne informacje o śledzeniu, jeśli odpytywanie lub przetwarzanie zdarzeń zostało zatrzymane.

Przed uruchomieniem udokumentuj sposób wstrzymywania odpytywania, rotacji danych uwierzytelniających, ponownego odtwarzania nieudanych odpowiedzi, naprawiania błędnego mapowania statusów i kontaktowania się z pomocą techniczną UPS. Przechowuj ładunek dostawcy przez kontrolowany okres retencji, jeśli jest potrzebny do dochodzenia, oraz uzgodnij wymagania dotyczące prywatności i przechowywania danych z odpowiedzialną osobą.

Bezpośrednia integracja z UPS czy API obsługujące wielu przewoźników?

Bezpośrednia integracja z UPS jest rozsądnym wyborem, gdy UPS jest jedynym przewoźnikiem w zakresie projektu, zespół chce zarządzać modelem właściwym dla przewoźnika, a wymagany dostęp do UPS API jest dostępny. Może zapewnić dobre dopasowanie do terminologii UPS i procesów operacyjnych.

API obsługujące wielu przewoźników może być lepiej dopasowane architektonicznie, gdy ta sama aplikacja musi śledzić paczki UPS, operatorów pocztowych i innych dostawców usług logistycznych. Przed podjęciem decyzji technicznej należy przeanalizować dokumentację 17TRACK API pod kątem aktualnego modelu uwierzytelniania, obsługiwanych operacji, struktury odpowiedzi, działania webhooków, warunków użytkowania i zakresu obsługiwanych przewoźników. Wartość tego rozwiązania w tym scenariuszu nie polega na tym, że eliminuje potrzebę korzystania z dokumentacji, lecz na tym, że zespół deweloperski może ocenić jedną warstwę integracyjną w porównaniu z kosztem utrzymywania kilku połączeń właściwych dla poszczególnych przewoźników.

Przeprowadź porównanie na podstawie prototypu. Wykorzystaj ten sam cykl życia przesyłki dla każdej opcji i zmierz nakład pracy przy implementacji, kompletność pól, aktualność zdarzeń, zachowanie ponowień, wymagania dotyczące webhooków lub odpytywania, obserwowalność oraz pracę wymaganą w przypadku zmiany odpowiedzi przez przewoźnika. Nie wybieraj dostawcy wyłącznie dlatego, że przykładowe żądanie jest krótkie. Lepszym rozwiązaniem jest to, które wspiera rezultat operacyjny, jaki musi dostarczyć aplikacja.

Praktyczna kolejność implementacji

  1. Zdefiniuj rezultaty użytkowe i operacyjne, takie jak strona śledzenia dla klienta lub kolejka wyjątków.
  2. Potwierdź, czy zakres obejmuje wyłącznie UPS, czy wielu przewoźników.
  3. Przeczytaj aktualną oficjalną dokumentację dotyczącą uwierzytelniania, żądań śledzenia, pól odpowiedzi, błędów, limitów i testowania.
  4. Utwórz niezależny od dostawcy model przesyłki i zdarzeń.
  5. Zaimplementuj bezpieczne uwierzytelnianie po stronie serwera i walidację danych wejściowych.
  6. Przechowuj surowe odpowiedzi i znormalizowane pola oddzielnie.
  7. Dodaj odpytywanie lub pobieranie zdarzeń z deduplikacją i wykładniczym zwiększaniem odstępów.
  8. Testuj żądania normalne, opóźnione, wyjątkowe, nieznane i nieudane.
  9. Uruchom system z monitorowaniem aktualności danych, błędów i nieaktualnych przesyłek.

Ta kolejność sprawia, że wywołanie API nie staje się całą architekturą. Śledzenie jest ciągłym procesem danych: aplikacja musi uzyskiwać zdarzenia, ostrożnie je interpretować, jasno prezentować i odzyskiwać działanie, gdy dostawca lub sieć są niedostępni.

FAQ

Co powinienem przeczytać najpierw w dokumentacji UPS Tracking API?

Zacznij od uwierzytelniania i operacji śledzenia. Następnie przejrzyj wymagania dotyczące żądań, pola odpowiedzi, obsługę błędów, limity użytkowania i instrukcje testowania. Te sekcje pokażą, czy API pasuje do modelu bezpieczeństwa i wymagań dotyczących danych, zanim zainwestujesz w pełną integrację.

Czy mogę użyć UPS Tracking API na stronie śledzenia przeznaczonej dla klientów?

Tak, API może dostarczać dane na stronę przeznaczoną dla klientów, ale strona powinna być obsługiwana przez backend, a nie ujawniać danych uwierzytelniających API w przeglądarce. Zaprojektuj stronę tak, aby rozróżniała bieżący status, historię skanów, przewidywane terminy i wyjątki, oraz unikaj przedstawiania przewidywanych terminów jako gwarancji.

Czy numery śledzenia powinny być odpytywane bez przerwy?

Niekoniecznie. Częstotliwość odpytywania powinna odzwierciedlać etap transportu, pilność biznesową, udokumentowane limity użytkowania oraz dostępność opcji opartej na zdarzeniach. Stosuj zwiększanie odstępów dla niezmienionych przesyłek i zatrzymaj lub ogranicz odpytywanie po dostarczeniu albo końcowym statusie zwrotu.

Jaka jest różnica między nieznanym numerem śledzenia a zagubioną paczką?

Nieznany numer śledzenia oznacza, że bieżące żądanie nie zwróciło rozpoznanego wyniku przesyłki. Numer może być nowo utworzony, wprowadzony nieprawidłowo, skierowany do niewłaściwego przewoźnika lub tymczasowo niedostępny. Nie należy oznaczać go jako zagubionego bez odrębnego procesu biznesowego i dowodów potwierdzających.

Kiedy warto rozważyć API śledzenia obsługujące wielu przewoźników?

Warto je ocenić, gdy aplikacja musi obsługiwać kilku przewoźników lub gdy utrzymywanie oddzielnych metod uwierzytelniania, schematów, mapowań statusów i zasad obsługi błędów powodowałoby znaczne obciążenie operacyjne. Porównuj dostawców na podstawie rzeczywistych scenariuszy przesyłek i weryfikuj aktualne informacje o przewoźnikach i funkcjach w ich oficjalnej dokumentacji.

Źródła

  • UPS Developer Portal — oficjalny punkt dostępu do produktów UPS API, konfiguracji aplikacji, uwierzytelniania i zasobów deweloperskich.
  • UPS Tracking — oficjalna usługa śledzenia UPS i źródło informacji o terminologii.
  • 17TRACK Tracking API — oficjalna strona produktu służąca do oceny integracji śledzenia wielu przewoźników.
  • 17TRACK API Documentation — oficjalna dokumentacja deweloperska dotycząca aktualnych szczegółów API i wymagań integracyjnych.
Loading