| Termin | Definicja |
|---|---|
| brak połączenia z API | Brak połączenia z API to usterka uniemożliwiająca komunikację z zewnętrznym interfejsem programistycznym. Jak rozpoznać brak połączenia z APIBrak połączenia z API oznacza, że aplikacja kliencka nie może skutecznie wymienić danych z usługą udostępniającą interfejs programistyczny. Przyczyną może być całkowity brak odpowiedzi serwera, przerwanie połączenia w trakcie transmisji, nieprawidłowy adres usługi albo problem z rozpoznaniem nazwy domenowej. Sam komunikat „brak połączenia” nie wskazuje jeszcze, czy usterka znajduje się w komputerze, sieci lokalnej, połączeniu internetowym, serwerze API czy konfiguracji programu. Objawy zależą od sposobu wykorzystania interfejsu. Program może wyświetlać pustą listę danych, zgłaszać przekroczenie czasu oczekiwania, zwracać kod HTTP 4xx lub 5xx albo pozostawać w stanie ładowania. W aplikacjach korzystających z API przez HTTPS problem może pojawić się jako błąd certyfikatu, nieudaną negocjację TLS albo zamknięcie połączenia przez serwer. Jeżeli inne strony internetowe działają poprawnie, nie wyklucza to awarii konkretnego API, blokady zapory sieciowej ani błędu ustawień używanej aplikacji. Warstwy komunikacji wymagające sprawdzeniaDiagnostykę warto rozpocząć od ustalenia, jaki adres API jest używany, jaki port oraz jaki protokół transportowy wykorzystuje aplikacja. Najczęściej komunikacja odbywa się przez HTTP lub HTTPS, zwykle na porcie TCP 80 albo 443, jednak dokładne parametry wynikają z dokumentacji danego programu. Błędny wpis w konfiguracji, dodatkowy znak w adresie URL, nieaktualny rekord DNS lub wskazanie środowiska testowego zamiast produkcyjnego może uniemożliwić nawiązanie połączenia bez fizycznej awarii komputera. Kolejną warstwą jest lokalna sieć. Należy sprawdzić, czy komputer otrzymał prawidłowy adres IP, bramę domyślną i serwer DNS oraz czy połączenie nie jest ograniczone przez router, filtr sieciowy lub oprogramowanie zabezpieczające. Polecenie W przypadku HTTPS trzeba uwzględnić poprawność daty i godziny systemowej, ważność certyfikatu oraz obsługę wymaganych wersji TLS przez system i aplikację. Błąd może powodować także pośredni serwer proxy wymagający dodatkowej konfiguracji. Jeśli połączenie jest nawiązywane, lecz API zwraca odpowiedź odmowną, problem może dotyczyć tokenu, klucza API, nagłówka autoryzacyjnego, limitu zapytań albo uprawnień konta. To odrębna sytuacja od braku trasy sieciowej, mimo że użytkownik może otrzymać podobny komunikat w interfejsie programu. Rozróżnienie awarii sieci, usługi i konfiguracjiPrzydatne jest porównanie zachowania kilku urządzeń oraz kilku połączeń sieciowych. Jeżeli API nie działa na laptopie i komputerze PC podłączonych do tego samego routera, prawdopodobna jest awaria routera, DNS, dostawcy internetu albo samej usługi zewnętrznej. Jeżeli problem występuje wyłącznie na jednym urządzeniu, należy przeanalizować jego ustawienia sieciowe, zaporę, program antywirusowy, proxy, datę systemową i konfigurację aplikacji. Jeżeli po przełączeniu komputera na hotspot telefoniczny połączenie zaczyna działać, wskazuje to na różnicę między siecią lokalną a urządzeniem końcowym, ale nie identyfikuje jeszcze dokładnej przyczyny. W logach aplikacji warto odnotować godzinę zdarzenia, adres docelowy, typ wyjątku, czas oczekiwania oraz ewentualny kod odpowiedzi HTTP. Błąd rozpoznawania nazwy, taki jak nieudane zapytanie DNS, ma inne znaczenie niż timeout połączenia TCP, odmowa połączenia lub odpowiedź HTTP 401, 403, 404 czy 503. Kod 401 zwykle wskazuje na brak prawidłowego uwierzytelnienia, 403 na odmowę dostępu, a 503 na chwilową niedostępność usługi; interpretacja powinna jednak uwzględniać dokumentację konkretnego API. Nie należy wyłączać na stałe zapory ani omijać kontroli certyfikatów, ponieważ może to ukryć przyczynę i obniżyć bezpieczeństwo połączeń. Po usunięciu przyczyny należy sprawdzić, czy aplikacja ponawia żądanie zgodnie z przeznaczeniem i czy nie tworzy wielokrotnie tych samych operacji. Mechanizm ponawiania powinien rozróżniać błędy przejściowe od trwałych, stosować ograniczenie liczby prób oraz przerwy między żądaniami. Użytkownik powinien również wiedzieć, czy operacja została wykonana przed utratą odpowiedzi, ponieważ ponowne wysłanie żądania może w niektórych usługach doprowadzić do duplikacji danych. Przywrócenie internetu nie zawsze przywraca działanie aplikacji natychmiast, jeśli program przechowuje wygasłą sesję, nieaktualny token lub uszkodzony lokalny stan połączenia. Przywracanie działania API w komputerze użytkownikaNaprawa powinna wynikać z ustalonej warstwy problemu. Przy błędach DNS można porównać działanie różnych serwerów DNS i sprawdzić konfigurację karty sieciowej. Przy problemach z portem należy skontrolować reguły zapory systemu Windows, ustawienia routera oraz wymagania dostawcy usługi. Przy błędach HTTPS trzeba zaktualizować system i aplikację, poprawić zegar systemowy oraz usunąć przyczynę niezgodności certyfikatu, bez akceptowania nieznanych certyfikatów na stałe. Gdy serwer zwraca błąd uwierzytelnienia, właściwym działaniem jest odnowienie danych dostępowych zgodnie z dokumentacją API, a nie wielokrotne wysyłanie tego samego żądania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC oraz ich podzespołów, a w ramach diagnostyki może sprawdzić lokalną konfigurację sieciową, działanie aplikacji, ustawienia zapory i przyczyny błędów komunikacji z API. W praktyce technik powinien zebrać komunikaty z programu, wyniki testów połączenia i informacje o tym, czy problem występuje w jednej sieci, na jednym urządzeniu czy we wszystkich lokalizacjach. Taki zestaw danych ułatwia odróżnienie usterki komputera od niedostępności zewnętrznej usługi. Jeżeli testy potwierdzą, że komputer prawidłowo rozwiązuje adres, nawiązuje połączenie i przechodzi negocjację HTTPS, a serwer nadal zwraca błąd, dalsze działania mogą wymagać kontaktu z administratorem danego API. Należy przekazać mu czas zdarzenia, identyfikator żądania, kod odpowiedzi i skrócony opis środowiska, nie ujawniając kluczy ani tokenów dostępowych. Po przywróceniu usługi warto wykonać kontrolne żądanie, uruchomić podstawową funkcję programu i sprawdzić logi, aby potwierdzić, że komunikacja została rzeczywiście odtworzona. |