Produkt pokazywał „In Stock” na stronie produktu mimo że rzeczywiście nie było go na stanie. Klienci składali zamówienia na produkt który nie mógł zostać zrealizowany. Dopiero przy tworzeniu shipmentu pojawiał się błąd. Problem dotyczył produktów konfigurowalnych z MSI. Czas naprawy: 4 godziny.
Sklep z konfiguracją multi-store (5 sklepów, 3 waluty) zaczął pokazywać błędne ceny – cena w euro pojawiała się na sklepie w złotówkach i odwrotnie. Problem pojawił się po dodaniu nowego sklepu i dotyczył tylko produktów z regułami cen. Czas naprawy: 6 godzin.
Konto administratora zostało zablokowane po ataku słownikowym – 10 000 prób logowania w ciągu godziny. Magento po 6 nieudanych próbach blokuje konto na 30 minut. Problem: atakujący ciągle resetował licznik przez zmianę IP, a prawdziwy admin nie mógł się zalogować. Czas naprawy: 1 godzina.
Cron Magento 2 przestał działać – zalegało ponad 50 000 niezrealizowanych jobów w tabeli cron_schedule. Emaile transakcyjne nie wychodziły, indeksery nie aktualizowały się, reguły cenowe nie odświeżały. Sklep działał normalnie dla klientów ale „od środka” był zamrożony. Czas naprawy: 3 godziny.
Sklep działał normalnie, ale konwersja nagle spadła o 40% w ciągu jednego dnia. Google Analytics pokazywał ruch na poziomie normy. Problem był niewidoczny gołym okiem – tylko przy konkretnym rozmiarze ekranu przyciski w checkoucie nachodziły na siebie i były nieaktywalne. Czas diagnozy: 3 godziny, naprawy: 30 minut.
Sklep przestał przyjmować płatności kartą w nocy z soboty na niedzielę. Monitoring nie wykrył problemu bo strona działała – tylko checkout był zepsuty. Klienci dostawali ogólny błąd „Nie można przetworzyć płatności”. Stracono kilkanaście godzin sprzedaży zanim zgłoszenie dotarło w poniedziałek rano. Czas naprawy: 45 minut po zgłoszeniu.
GraphQL w Magento 2 to nie tylko API do odczytu – możesz dodać własne typy, queries i mutations. Custom resolver to klasa PHP która odpowiada za pobranie danych dla danego pola lub query. Pokażę kompletną implementację: schemat GraphQL, resolver z autoryzacją, obsługę błędów i testy integracyjne. Na przykładzie query pobierającego historię zamówień klienta z filtrami.
Nowy frontend React nie mógł komunikować się z Magento REST API. Każde żądanie AJAX kończyło się błędem CORS w konsoli przeglądarki. Backend działał poprawnie gdy testowano przez Postman lub curl. Czas naprawy: 2 godziny.
Integracja ERP ze sklepem przez REST API działała coraz wolniej. Pobieranie listy zamówień przez API trwało 45 sekund. Endpoint zwracał całą historię zamówień zamiast tych z ostatnich 24 godzin. Czas naprawy: 3 godziny.
Po migracji sklepu na nowy serwer zdjęcia produktów nie wyświetlały się – zamiast nich szare zastępniki. W bazie danych były ścieżki do plików, ale pliki nie istniały na dysku. Czas naprawy: 5 godzin.
