Sklep internetowy właśnie sprzedał ostatnią sztukę produktu. W magazynie stan zmienił się na zero, ale strona sklepu nadal pokazuje jedną dostępną sztukę. Jeśli oba systemy nie wymieniają informacji, za chwilę może pojawić się zamówienie, którego nie da się zrealizować. Ten prosty przykład dobrze pokazuje, po co firmom API.
Rozwinięcie skrótu brzmi Application Programming Interface, po polsku: interfejs programowania aplikacji. Pod tą techniczną nazwą kryją się zasady, według których jeden program komunikuje się z drugim. API określa, o co można zapytać, jakie dane trzeba przekazać i w jakiej formie nadejdzie odpowiedź. Systemy nie muszą być napisane w tym samym języku ani pochodzić od jednego dostawcy, ale powinny wzajemnie się „rozumieć”.
API w praktyce
Aby sprawdzić dostępność produktu, sklep internetowy nie musi łączyć się bezpośrednio z systemem WMS. Wystarczy wysłać zapytanie do odpowiedniego endpointu API. Po jego otrzymaniu system magazynowy weryfikuje, kto je wysłał i czy ma dostęp do żądanych danych. Jeżeli wszystko się zgadza, zwraca informację o aktualnym stanie magazynowym. Jeśli natomiast produkt nie istnieje, identyfikator jest błędny lub w zapytaniu brakuje wymaganych informacji, odpowiedzią będzie komunikat wskazujący przyczynę problemu.
Taka wymiana nie ogranicza się do odczytywania informacji. Nowe zamówienie może automatycznie trafić ze sklepu do magazynu, a po spakowaniu przesyłki WMS odeśle zmieniony status. Później do zamówienia zostanie dopisany numer nadania. Kolejne działania odbywają się według zasad opisanych w dokumentacji API. Nie oznacza to jednak, że każda podłączona aplikacja otrzymuje dostęp do całej bazy. Tokeny, klucze API i mechanizmy autoryzacji pozwalają określić, kto może jedynie sprawdzać zapasy, a kto również przekazywać zamówienia lub zmieniać zapisane dane.
Sam interfejs można zbudować na kilka sposobów. Najczęściej spotyka się REST API, które zazwyczaj korzysta z protokołu HTTP i przesyła dane w formacie JSON. SOAP narzuca bardziej formalną strukturę, a komunikaty zapisuje w XML. GraphQL działa jeszcze inaczej: aplikacja wskazuje, jakich pól potrzebuje, dzięki czemu odpowiedź nie zawiera zbędnych danych. Wybór jednego z tych rozwiązań zależy między innymi od używanego oprogramowania, zakresu integracji i wymagań konkretnego projektu.
Zalety wykorzystania API w firmie
Najłatwiej zauważyć brak ręcznego przepisywania. Dane klienta wpisane podczas składania zamówienia mogą trafić do programu magazynowego, systemu księgowego i aplikacji przewoźnika. Nie ma potrzeby kopiować kilka razy tego samego adresu, a to oszczędność czasu i mniejsze ryzyko pomyłek.
Znaczenie ma też tempo wymiany informacji. Jeśli status zamówienia zmienia się w WMS, sklep może pokazać klientowi, że paczka jest już przygotowywana. Po nadaniu przesyłki system pobiera jej numer i przekazuje go dalej.
API ułatwia również rozwijanie używanego oprogramowania. Firma może dodać kolejnego przewoźnika, nowy kanał sprzedaży czy operatora płatności bez pisania całego systemu od początku. Nadal trzeba jednak dopasować zakres danych, obsłużyć błędy i sprawdzić, co stanie się w razie chwilowej niedostępności jednej z usług.
Sam fakt użycia API nie chroni danych. Potrzebne są właściwie ustawione uprawnienia, szyfrowane połączenie, kontrola liczby zapytań i rejestr operacji. Dobrze przygotowana integracja udostępnia tylko te informacje, które są potrzebne do wykonania danego zadania.
Jak API współpracuje z systemem WMS?
System WMS zarządza pracą magazynu, ale nie działa samodzielnie. Zamówienia pobiera ze sklepu internetowego lub systemu OMS, dane o produktach z ERP, a informacje potrzebne do wysyłki wymienia z oprogramowaniem przewoźnika. Za komunikację pomiędzy tymi narzędziami odpowiada właśnie API.
Interfejs nie rezerwuje towaru ani nie organizuje pracy magazynu. Przekazuje tylko informacje tam, gdzie są potrzebne. Po złożeniu zamówienia WMS otrzymuje dane do rozpoczęcia kompletacji. Kiedy paczka jest gotowa, sklep automatycznie zmienia jej status, a przewoźnik otrzymuje dane niezbędne do nadania przesyłki. Po wygenerowaniu etykiety numer nadania zostaje zapisany przy zamówieniu i może zostać udostępniony klientowi.
Tak samo wygląda wymiana informacji o stanach magazynowych. Każde przyjęcie lub wydanie towaru powoduje aktualizację danych, które trafiają do sklepu internetowego, ERP i pozostałych kanałów sprzedaży. Wszystkie systemy korzystają więc z tych samych informacji, bez potrzeby ręcznego wprowadzania zmian.
API łączy systemy
Samo wdrożenie API nie wystarczy, aby wszystko działało bez problemów. Liczy się również sposób przygotowania całej integracji. Trzeba zadbać o odpowiednią konfigurację, zakres uprawnień oraz sposób obsługi błędów i przerw w działaniu poszczególnych systemów. Dopiero wtedy wymiana danych przebiega płynnie i nie powoduje dodatkowych problemów.