| Termin | Definicja |
|---|---|
| Postmark API Tester | Postmark API Tester to narzędzie do sprawdzania wywołań tej usługi bez wysyłania rzeczywistych wiadomości. Rola Postmark API Tester w pracy z interfejsem PostmarkPostmark API Tester służy do kontrolowanego sprawdzania wywołań interfejsu programistycznego Postmark. Narzędzie pozwala przygotować żądanie HTTP, przekazać wymagane nagłówki i parametry oraz zobaczyć odpowiedź zwróconą przez API. Dzięki temu można zweryfikować, czy aplikacja korzysta z właściwego adresu endpointu, poprawnej metody HTTP i prawidłowego formatu danych, zanim wywołanie zostanie włączone do kodu produkcyjnego. W przypadku testów wiadomości trzeba rozróżnić sprawdzenie samego żądania od faktycznej operacji wysyłkowej. Żądanie skierowane do endpointu wysyłającego wiadomości może uruchomić normalny proces Postmark, dlatego test powinien wykorzystywać przeznaczony do tego serwer, konto testowe albo odpowiedni tryb testowy. Tester nie zastępuje konfiguracji serwera Postmark i nie naprawia błędów po stronie aplikacji, ale ułatwia odseparowanie problemu w kodzie od problemu z autoryzacją lub formatem żądania. Budowa żądania HTTP i uwierzytelnianieWywołania Postmark API są wykonywane przez HTTPS. W typowym żądaniu trzeba wskazać metodę, adres zasobu, nagłówki oraz ciało w formacie JSON, jeżeli dany endpoint przyjmuje dane wejściowe. Do identyfikacji serwera używany jest nagłówek Przy wysyłaniu wiadomości przez endpoint pojedynczy aplikacja przekazuje między innymi pola Odczyt kodów odpowiedzi i komunikatów błędówWynik testu należy analizować razem z kodem HTTP i treścią odpowiedzi JSON. Odpowiedź o kodzie 200 oznacza pomyślne przetworzenie żądania przez dany endpoint, ale nie jest równoznaczna z potwierdzeniem, że aplikacja poprawnie obsłużyła odpowiedź. Kod 401 wskazuje zwykle na problem z uwierzytelnianiem, natomiast 422 może oznaczać, że dane są formalnie odczytywalne, lecz nie spełniają reguł walidacji Postmark. Kod 404 może wynikać z błędnego adresu zasobu albo odwołania do nieistniejącego identyfikatora. Postmark zwraca w odpowiedzi pola opisujące wynik operacji, w tym kod błędu oraz komunikat tekstowy. Podczas testu warto sprawdzić, czy aplikacja nie traktuje każdej odpowiedzi HTTP jako sukcesu. Poprawna obsługa powinna rozróżniać odpowiedź pozytywną, błąd autoryzacji, błąd walidacji i chwilową niedostępność usługi. Tester pomaga odtworzyć te przypadki z tym samym tokenem, endpointem i zestawem danych, dzięki czemu można porównać zachowanie aplikacji z bezpośrednią odpowiedzią API. Przy żądaniach opartych na szablonach należy dodatkowo zweryfikować identyfikator szablonu, nazwę serwera oraz obiekt Praktyczne zastosowanie przy integracji aplikacji z PostmarkPostmark API Tester jest przydatny na etapie tworzenia integracji, migracji konfiguracji oraz diagnozowania błędów zgłaszanych przez aplikację. Najpierw można sprawdzić prosty endpoint odczytujący zasób, następnie zweryfikować wysyłkę w kontrolowanym środowisku i dopiero później przenieść identyczne parametry do biblioteki używanej przez program. Porównanie surowego żądania testowego z żądaniem generowanym przez aplikację pozwala wykryć różnice w nagłówkach, kodowaniu znaków, adresie nadawcy i strukturze JSON. Podczas diagnostyki należy zachować dokładnie te elementy, które wpływają na wynik: metodę HTTP, pełny adres endpointu, nagłówki wymagane przez Postmark oraz reprezentatywny, ale bezpieczny zestaw danych. Tokenów dostępowych nie powinno się umieszczać w kodzie aplikacji, publicznym repozytorium ani w zrzutach ekranu z testera. Po zakończeniu testów trzeba usunąć zapisane przykłady zawierające dane uwierzytelniające i sprawdzić, czy aplikacja nie loguje nagłówka Wynik testu nie potwierdza poprawności całego systemu. Nie sprawdza automatycznie konfiguracji DNS domeny nadawcy, działania kolejki w aplikacji, obsługi ponowień ani mapowania błędów na komunikaty interfejsu. Potwierdza natomiast, że konkretne wywołanie dociera do Postmark i jest interpretowane zgodnie z przekazanym formatem. To wystarczająca podstawa do dalszego porównania z logami programu, konfiguracją środowiska i implementacją klienta HTTP. |