Wstęp
Wyobraź sobie sklep internetowy, który działał idealnie przez miesiące. Nagle – spadek konwersji, wydłużony czas ładowania koszyka, klienci narzekają na błędy. Zespół IT szuka winy w frontendzie, ale problem leży głębiej – w API. To właśnie punkty styku między systemami są cichymi zabójcami sprzedaży. W tym artykule pokażę trzy realne przypadki z mojej praktyki, gdzie źle zaprojektowane API kosztowało firmy tysiące złotych.
1. Zbyt rozbudowane odpowiedzi – performance killer
Problem
Standardowe REST API często zwracają dużo więcej danych, niż potrzeba. W e-commerce oznacza to, że przy każdym wywołaniu koszyka lub listy produktów serwer wysyła zbędne informacje (np. opisy w kilku językach, pełną historię cen, dane logistyczne). To zwiększa objętość odpowiedzi i czas transferu.
Przykład z życia
Klient – sklep z odzieżą – miał średni czas odpowiedzi API dla endpointu /cart wynoszący 1.2 sekundy. Po audycie okazało się, że zwracane było łącznie 150 KB danych na żądanie, podczas gdy frontend potrzebował tylko 15 KB. Przy 100 000 żądań dziennie, dodatkowe 13.5 GB transferu każdego dnia. Wdrożenie GraphQL z precyzyjnym zapytaniem (query tylko o potrzebne pola) skróciło czas odpowiedzi do 200 ms i obniżyło koszty chmury o 30%.
Co robić?
- Używaj GraphQL lub dedykowanych DTO (Data Transfer Object) dla endpointów frontendowych.
- Unikaj jednego endpointu „produkt” zwracającego wszystko. Podziel na mikroserwisy: ceny, stany magazynowe, opisy.
- Stosuj paginację i filtry po stronie backendu, nie filtruj po pobraniu wszystkich danych.
2. Złe zarządzanie błędami – cicha utrata transakcji
Problem
Niejednokrotnie API zwraca błędy, które nie są odpowiednio komunikowane frontendowi. Zamiast czytelnego komunikatu (np. „Brak wystarczającej ilości towaru”), aplikacja dostaje 500 Internal Server Error lub niejasny 400 Bad Request. Użytkownik widzi „Coś poszło nie tak” i porzuca koszyk.
Przykład z życia
Platforma e-commerce z integracją z ERP co kilka godzin zwracała błąd przy próbie złożenia zamówienia, gdy system zewnętrzny był przeciążony. Problem nie był logowany jako krytyczny, więc nikt nie wiedział, że około 2% zamówień jest odrzucanych. Po wdrożeniu dedykowanych kodów błędów (np. 409 Conflict dla braku stanu magazynowego, 503 dla chwilowej niedostępności) i odpowiedniej obsłudze po stronie frontendu (np. informacja o ponowieniu próby), utrata zamówień spadła o 40%.
Co robić?
- Zdefiniuj spójną strukturę błędów: pole „code”, „message”, „details”.
- Unikaj zwracania błędów 500 dla sytuacji, które da się przewidzieć (np. brak towaru to nie błąd serwera, tylko logika biznesowa).
- Używaj retry z backoffem dla przejściowych błędów.
- Monitoruj częstotliwość konkretnych typów błędów.
3. Brak strategii wersjonowania – developerski chaos
Problem
Wiele firm traktuje API jako „czarną skrzynkę” i zmienia endpointy bez zachowania kompatybilności wstecznej. Prowadzi to do tego, że starsze wersje frontendu (szczególnie w aplikacjach mobilnych) przestają działać po aktualizacji backendu. Zespół musi utrzymywać wiele wersji aplikacji, co generuje koszty i błędy.
Przykład z życia
Startup SaaS zmienił strukturę odpowiedzi endpointu /users, usuwając pole „email” i zastępując je zagnieżdżonym „contact.email”. Nie wprowadzono nowej wersji API. Aplikacja mobilna na iOS, która nie została zaktualizowana od pół roku, przestała wyświetlać emaile użytkowników. Zgłoszenia od klientów lawinowo wzrosły. Dodanie wersjonowania (np. /v1/users, /v2/users) i utrzymanie starej wersji przez okres przejściowy rozwiązało problem, ale kosztowało 2 tygodnie pracy deweloperów.
Co robić?
- Używaj wersjonowania w URL lub nagłówków (np. Accept-version).
- Ustal politykę deprecacji – minimum 6 miesięcy wsparcia dla starych wersji.
- Komunikuj zmiany z wyprzedzeniem (changelog, maile do partnerów integracyjnych).
- Unikaj breaking changes – rozszerzaj API (nowe pola, nowe endpointy), nie modyfikuj istniejących.
Podsumowanie
API w e-commerce to nie tylko techniczny detal – to kluczowy element decydujący o doświadczeniu klienta i efektywności zespołu. Zbyt rozbudowane odpowiedzi spowalniają sklep, słaba obsługa błędów zniechęca do zakupów, a brak wersjonowania generuje chaos. W JurskiTech regularnie spotykamy się z tymi problemami u naszych klientów. Warto przeprowadzić audyt swojego API zanim ciche błędy zaczną wpływać na wyniki finansowe.
Jeśli rozpoznajesz u siebie któreś z tych wyzwań – skontaktuj się z nami. Pomogliśmy już wielu sklepom odzyskać utraconą sprzedaż poprzez prostą optymalizację interfejsów API.


