REST API – co to jest?
REST API to sposób, w jaki jeden system może komunikować się z drugim przez internet, wykorzystując standardowe zapytania HTTP, czyli te same zasady, na których działają strony internetowe. API (ang. Application Programming Interface) to interfejs, dzięki któremu programy wymieniają dane i wywołują nawzajem swoje funkcje. REST (ang. Representational State Transfer) opisuje styl, według którego taki interfejs jest zbudowany: jasny, jednolity i niezależny od tego, w jakiej technologii napisano system po drugiej stronie.
Dla firm oznacza to przede wszystkim możliwość łączenia aplikacji ze sobą. Dzięki REST API system obiegu dokumentów może pobrać dane z systemu kadrowego albo przekazać zatwierdzoną fakturę do systemu księgowego, bez ręcznego przepisywania informacji.
Jak działa REST API?
W REST wszystko, na czym operuje system, nazywa się zasobem: może to być pracownik, faktura, zamówienie czy kontrahent. Każdy zasób ma własny adres, np. /employees/123 dla pracownika o numerze 123. Aplikacja, która chce coś zrobić z takim zasobem, wysyła do serwera żądanie, w którym podaje adres i rodzaj operacji. Serwer wykonuje ją i zwraca odpowiedź wraz z kodem informującym o wyniku, np. że operacja się udała albo że zasobu nie znaleziono.
Rodzaj operacji określa się za pomocą standardowych metod HTTP:
- GET – pobranie danych, np. szczegółów faktury,
- POST – utworzenie nowego zasobu, np. dodanie zamówienia,
- PUT lub PATCH – zmiana istniejącego zasobu, np. aktualizacja statusu wniosku,
- DELETE – usunięcie zasobu.
Dane przesyła się zwykle w formacie JSON, czyli lekkim i czytelnym zapisie, który zrozumieją zarówno ludzie, jak i programy. Rzadziej używany jest XML.
Ważną cechą REST jest to, że serwer nie pamięta poprzednich żądań: każde zawiera komplet informacji potrzebnych do jego obsługi, w tym dane uwierzytelniające, np. klucz API lub token. Dzięki temu system łatwiej skalować, a komunikację można zabezpieczyć szyfrowanym połączeniem HTTPS i kontrolą uprawnień.
Do czego stosuje się REST API?
REST API jest dziś najpopularniejszym sposobem udostępniania funkcji systemów w internecie. W firmach wykorzystuje się je przede wszystkim do integracji: łączenia systemów ERP, CRM, obiegu dokumentów, kadrowych, bankowych i księgowych, tak aby dane przepływały między nimi automatycznie. Stosuje się je też do tworzenia własnych aplikacji, które korzystają z danych innych systemów, oraz do automatyzowania procesów, w których zdarzenie w jednym narzędziu ma uruchamiać działanie w drugim.
Aby z niego skorzystać, system musi udostępniać API i opisywać je w dokumentacji: jakie zasoby są dostępne, jakich metod można używać i jak się uwierzytelnić. Część platform, w tym rozwiązania low-code i no-code, pozwala korzystać z API zewnętrznych systemów za pomocą gotowych konektorów, bez programowania.
REST API a inne podejścia
SOAP to starszy protokół oparty na XML, który ma ściśle określone zasady komunikatów i jest nadal stosowany w niektórych systemach korporacyjnych. REST jest prostszy i lżejszy, dlatego stał się dominującym wyborem w nowszych rozwiązaniach.
GraphQL to podejście, w którym klient sam określa, jakich danych potrzebuje, i otrzymuje je w jednej odpowiedzi. W REST zakres danych zwracanych przez dany adres zwykle ustala serwer. GraphQL sprawdza się przy złożonych zapytaniach, a REST jest prostszy do wdrożenia i powszechnie obsługiwany.