Usługi AI dla firm Realizacje Blog FAQ Rozpocznij projekt

Dokumentacja API — Swagger, OpenAPI, Postman

Dokumentacja API bywa traktowana jako czynność porządkowa wykonywana na końcu projektu. W rzeczywistości to element, od którego zależy koszt każdej kolejnej integracji — a przy systemach otwieranych na partnerów decyduje o tym, czy integracja w ogóle dojdzie do skutku. Ten poradnik pokazuje, co powinna zawierać, kto ma ją utrzymywać i jak zapisać to w umowie.

Krótka odpowiedź: standardem jest OpenAPI — maszynowy opis interfejsu, z którego automatycznie powstaje czytelna dokumentacja i klienci w różnych językach. Dokumentacja powinna powstawać razem z kodem, a nie po jego napisaniu.

Trzy elementy odróżniają dokumentację użyteczną od formalnej: przykłady rzeczywistych żądań i odpowiedzi, kompletna lista kodów błędów oraz środowisko testowe, w którym integrator może sprawdzić działanie bez kontaktu z Twoim zespołem.

Po co w ogóle dokumentować interfejs

Argument techniczny jest oczywisty, ale to argument kosztowy przekonuje osoby decyzyjne. Integracja z dobrze udokumentowanym interfejsem zajmuje programiście od jednego do trzech dni. Ta sama integracja z systemem bez dokumentacji, gdzie trzeba dopytywać o każdy szczegół i domyślać się formatów, potrafi zająć dwa tygodnie — z czego znaczna część to czas Twojego zespołu spędzony na odpowiadaniu na pytania.

Ten rachunek mnoży się przez liczbę integracji. Jeżeli system podłączają partnerzy handlowi, każdy z nich przechodzi tę samą drogę osobno. Dokumentacja jest więc inwestycją, która zwraca się przy trzecim, czwartym podłączeniu — a w produktach otwartych na integracje przy pierwszym.

OpenAPI, Swagger, Postman — co jest czym

NarzędzieCzym jestDo czego służy
OpenAPIStandard opisu interfejsu w pliku tekstowymJedno źródło prawdy o strukturze interfejsu
Swagger UIStrona generowana z pliku OpenAPIPrzeglądanie i testowanie zapytań w przeglądarce
PostmanProgram do wysyłania zapytańGotowe kolekcje do przekazania integratorowi
Generatory klientówNarzędzia czytające OpenAPIAutomatyczne biblioteki dla różnych języków
Portale dla partnerówSerwisy budujące dokumentację z OpenAPIPubliczna dokumentacja z kluczami i limitami

Kolejność jest istotna: punktem wyjścia jest zawsze plik OpenAPI. Wszystko pozostałe da się z niego wygenerować. Dokumentacja pisana ręcznie w edytorze tekstu rozjeżdża się z rzeczywistością w ciągu kilku tygodni, ponieważ nikt nie pamięta, żeby ją poprawić po zmianie w kodzie.

Co musi zawierać dobra dokumentacja

Najczęściej pomijany element. Kompletna lista błędów. Dokumentacja opisuje odpowiedź poprawną, a integrator dowiaduje się o pozostałych przypadkach dopiero na produkcji. Efekt: integracja przestaje działać przy pierwszej nietypowej sytuacji, bo nikt nie przewidział, że pole może być puste albo że zamówienie może mieć status nieopisany w dokumentacji.

Dokumentacja powstająca razem z kodem

Rozdzielenie kodu i dokumentacji gwarantuje ich rozjechanie. Sprawdzone podejścia są dwa i oba prowadzą do tego samego rezultatu — opis zawsze odpowiada rzeczywistości.

Pierwsze to generowanie opisu z kodu: struktury danych i adresy operacji opisane są w kodzie, a plik OpenAPI powstaje automatycznie przy budowaniu aplikacji. Drugie to projektowanie od dokumentacji: najpierw powstaje plik OpenAPI, uzgodniony z integratorem, a dopiero potem implementacja weryfikowana testami sprawdzającymi zgodność z opisem.

Wariant drugi jest wygodniejszy przy integracjach z partnerem zewnętrznym, bo pozwala uzgodnić kształt interfejsu, zanim ktokolwiek napisze kod. Wariant pierwszy sprawdza się w systemach wewnętrznych, gdzie interfejs zmienia się często i szybciej.

Wersjonowanie — decyzja podejmowana za wcześnie lub za późno

PodejścieJak wyglądaZaletaWada
Wersja w adresie/api/v1/zamowieniaCzytelne, łatwe do zrozumieniaDuplikacja kodu przy wielu wersjach
Wersja w nagłówkuNagłówek żądaniaCzysty adres zasobuTrudniejsze w testowaniu ręcznym
Bez wersjiWyłącznie zmiany zgodne wsteczBrak kosztu utrzymania wielu wersjiWymaga dyscypliny, ogranicza swobodę zmian

Praktyczna zasada: dodawanie nowych pól nie wymaga nowej wersji, usuwanie i zmiana znaczenia istniejących — wymaga zawsze. Nową wersję wprowadza się dopiero wtedy, gdy zmiana psuje istniejące integracje, a nie przy każdej modyfikacji. Jednocześnie warto z góry określić, jak długo stara wersja będzie wspierana, bo bez tego zostaje z Tobą na zawsze.

Środowisko testowe

To element, który najbardziej skraca czas integracji, a najczęściej wypada z zakresu przy cięciu budżetu. Integrator musi mieć możliwość wywołania każdej operacji na danych, których nie boi się zepsuć, i wywołania scenariuszy błędnych — odrzuconej płatności, brakującego towaru, nieprawidłowego klucza.

Zapisy w umowie z wykonawcą

Jeżeli zamawiasz system z interfejsem programistycznym, dokumentacja powinna być elementem odbioru, a nie obietnicą. Trzy zapisy w umowie wystarczą, żeby uniknąć najczęstszych sporów.

Kryterium odbioru, które działa. Programista spoza projektu, korzystając wyłącznie z dokumentacji i środowiska testowego, wykonuje pełny scenariusz integracji bez zadawania pytań autorom. Jeśli mu się to udaje — dokumentacja jest kompletna. To test tańszy niż jakikolwiek formalny przegląd i znacznie bardziej wiarygodny.

Najczęstsze błędy

Podsumowanie

Dokumentacja interfejsu programistycznego jest narzędziem obniżania kosztu integracji, a nie formalnością. Punktem wyjścia powinien być plik OpenAPI generowany razem z kodem, uzupełniony o realistyczne przykłady, pełną listę błędów i dostępne środowisko testowe.

Przy zamawianiu systemu warto uczynić dokumentację przedmiotem odbioru i sprawdzić ją najprostszym możliwym testem: czy programista spoza projektu przejdzie pełną integrację, korzystając wyłącznie z opisu. Wszystko poniżej tego progu oznacza, że koszt integracji poniesie później Twój zespół, tylko w innej pozycji budżetu.

Najczęstsze pytania

OpenAPI to standard opisu interfejsu — plik tekstowy będący jedynym źródłem prawdy o jego strukturze. Swagger to nazwa zestawu narzędzi wokół tego standardu, przede wszystkim Swagger UI, czyli strony generowanej z pliku OpenAPI, na której można przeglądać operacje i wysyłać zapytania testowe. W praktyce plik jest podstawą, narzędzia są wymienne.

Jeśli powstaje razem z kodem, koszt jest marginalny — to od 5 do 10 procent czasu poświęconego na sam interfejs. Dokumentowanie istniejącego systemu, w którym nikt nie prowadził opisu, to zwykle od kilku do kilkunastu dni pracy, ponieważ trzeba odtworzyć zachowanie z kodu i przetestować przypadki brzegowe.

Nie. Dla integracji wewnętrznych i partnerskich wystarczy dostęp po zalogowaniu. Publiczna dokumentacja ma sens, gdy interfejs jest częścią oferty i chcesz, żeby potencjalni partnerzy mogli ocenić możliwości integracji przed rozmową handlową. W obu przypadkach zawartość powinna być identyczna.

Przy każdej zmianie interfejsu, dlatego jedynym trwałym rozwiązaniem jest generowanie opisu z kodu albo testy sprawdzające zgodność kodu z opisem. Dokumentacja aktualizowana ręcznie rozjeżdża się z rzeczywistością w ciągu kilku tygodni i szybko staje się gorsza niż jej brak, bo wprowadza w błąd.

Trzy zapisy: plik OpenAPI jako przedmiot odbioru wraz z przykładami i listą błędów, udostępnione i utrzymywane środowisko testowe oraz zasady wprowadzania zmian — z jakim wyprzedzeniem wykonawca informuje o zmianach psujących integracje i jak długo wspiera poprzednią wersję.

Convert Studio realizuje projekty z tego obszaru dla firm w całej Polsce. Zobacz: Aplikacje webowe → · Lokalizacje →

Bezpłatna wycena Twojego projektu

Opisz w kilku zdaniach, co chcesz zbudować — stronę, aplikację czy sklep. Odpowiadamy w ciągu 24 godzin roboczych konkretną propozycją zakresu i harmonogramu. Konsultacja i wycena są bezpłatne, bez zobowiązań.

Odpowiedź w 24 h roboczych. Dane wykorzystujemy wyłącznie do kontaktu w sprawie zapytania — polityka prywatności.