| Termin | Definicja |
|---|---|
| błąd połączenia z API dostawcy | Błąd połączenia z API dostawcy sygnalizuje niepowodzenie komunikacji z zewnętrznym interfejsem usługi wysyłkowej. Jak rozumieć błąd połączenia z API dostawcyBłąd połączenia z API dostawcy oznacza, że aplikacja nie mogła poprawnie wymienić danych z zewnętrznym interfejsem programistycznym usługi wysyłkowej. API, czyli Application Programming Interface, udostępnia określone adresy żądań, metody komunikacji oraz formaty danych. System korzystający z takiej usługi może przez API przekazywać informacje o przesyłce, pobierać dostępne opcje dostawy, tworzyć etykietę albo sprawdzać status transportu. Sam komunikat o błędzie nie wskazuje jeszcze jednej konkretnej przyczyny. Informuje jedynie, że zaplanowana operacja nie zakończyła się prawidłową odpowiedzią z usługi zewnętrznej. Problem może wystąpić na różnych etapach komunikacji. Aplikacja może nie rozwiązać nazwy domenowej dostawcy, nie nawiązać połączenia z jego serwerem, otrzymać odmowę połączenia albo przekroczyć czas oczekiwania na odpowiedź. Połączenie może również zostać ustanowione, lecz serwer może zwrócić kod HTTP wskazujący błąd, na przykład 401 przy nieprawidłowym uwierzytelnieniu, 403 przy braku uprawnień, 404 przy błędnym adresie zasobu, 429 przy przekroczeniu limitu żądań lub 5xx przy problemie po stronie usługi dostawcy. Znaczenie konkretnego kodu zależy od dokumentacji danego API i od sposobu obsługi błędów w aplikacji. Warstwy komunikacji, które mogą przerwać wymianę danychNajniższa warstwa problemu może dotyczyć sieci lokalnej albo dostępu do Internetu. Jeżeli komputer nie ma prawidłowej konfiguracji interfejsu sieciowego, bramy domyślnej lub serwera DNS, aplikacja nie znajdzie adresu usługi. W podobny sposób zadziała blokada zapory sieciowej, programu antywirusowego albo filtrowania ruchu przez sieć firmową. Należy odróżnić brak rozpoznania domeny od odrzucenia połączenia oraz od braku odpowiedzi. Są to różne objawy, choć użytkownik może zobaczyć ten sam ogólny komunikat w uproszczonym oknie aplikacji. Inna grupa przyczyn dotyczy szyfrowanego połączenia HTTPS. Klient musi prawidłowo negocjować sesję TLS z serwerem, a system powinien mieć aktualny magazyn zaufanych certyfikatów oraz poprawny czas i datę. Nieprawidłowy zegar może powodować odrzucenie certyfikatu, ponieważ jego okres ważności będzie oceniany jako jeszcze nierozpoczęty albo zakończony. Kłopot może też wynikać z przestarzałego oprogramowania, które nie obsługuje wymagań kryptograficznych używanych przez dostawcę. Jeżeli połączenie szyfrowane zostanie zerwane przed wysłaniem żądania HTTP, problem należy analizować inaczej niż wtedy, gdy serwer odeśle poprawną odpowiedź HTTP z opisem błędu. Rozróżnienie błędu sieciowego, autoryzacji i danych żądaniaPodczas diagnostyki warto ustalić, czy aplikacja w ogóle dociera do punktu końcowego API. Brak odpowiedzi, przekroczenie limitu czasu i błąd rozwiązywania nazwy wskazują zwykle na warstwę sieciową lub konfigurację połączenia. Otrzymanie odpowiedzi z kodem 401 albo 403 oznacza natomiast, że serwer został osiągnięty, lecz odrzucił uwierzytelnienie lub uprawnienia. Przyczyną może być nieaktualny token, błędny klucz, niewłaściwy identyfikator konta albo użycie danych przeznaczonych dla innego środowiska. Nie należy automatycznie usuwać ani ujawniać takich danych podczas testów; trzeba sprawdzić konfigurację zgodnie z dokumentacją dostawcy. Połączenie może działać prawidłowo, a mimo to operacja zakończy się niepowodzeniem z powodu treści żądania. API może wymagać określonych pól, poprawnego typu danych, prawidłowego kodowania znaków lub dozwolonej wartości parametru. Kod 400 często oznacza niepoprawne żądanie, choć dokładne znaczenie opisuje dokumentacja konkretnej usługi. Warto porównać zapisane dane z wymaganym schematem, sprawdzić adres endpointu, metodę HTTP oraz nagłówki, a także przeanalizować odpowiedź serwera. Jeżeli występuje kod 429, ponawianie żądania w krótkich odstępach może pogorszyć sytuację. Aplikacja powinna respektować zasady limitowania i stosować kontrolowane ponowienia tylko wtedy, gdy pozwala na to dokumentacja. Postępowanie serwisowe przy niedziałającej integracji wysyłkowejPraktyczne rozpoznanie problemu zaczyna się od ustalenia zakresu awarii. Jeżeli inne strony internetowe działają, nie oznacza to jeszcze, że konkretny endpoint API jest dostępny. Trzeba sprawdzić, czy błąd pojawia się przy każdej operacji, czy tylko przy tworzeniu etykiety, pobieraniu statusu albo wyszukiwaniu oferty dostawy. Znaczenie ma również powtarzalność: awaria stała, okresowa i występująca tylko na jednym komputerze prowadzą do różnych hipotez. Pomocne są dzienniki aplikacji zawierające czas zdarzenia, adres usługi, kod odpowiedzi i typ wyjątku, pod warunkiem że nie zapisują pełnych kluczy dostępowych ani innych poufnych wartości. W środowisku domowym lub biurowym należy porównać działanie aplikacji przy innym połączeniu sieciowym, zweryfikować datę i godzinę systemową, sprawdzić aktualność programu oraz przejrzeć ustawienia serwera proxy i zapory. Nie powinno się wyłączać zabezpieczeń na stałe ani omijać weryfikacji certyfikatów, ponieważ może to ukryć rzeczywistą przyczynę i obniżyć bezpieczeństwo komunikacji. Gdy problem dotyczy wyłącznie usługi dostawcy, potrzebne może być sprawdzenie jej komunikatów o awarii oraz dokumentacji interfejsu. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, w tym diagnostyką problemów z oprogramowaniem oraz komunikacją sieciową na komputerze użytkownika. |