Integracja Shopify z fakturownią, magazynem i kurierem nie jest jednym połączeniem. To kilka zależnych przepływów, które reagują na płatność, zmianę zamówienia, stan produktu oraz przygotowanie przesyłki. Najwięcej problemów powstaje wtedy, gdy każdy z tych elementów wdraża się osobno.
Ustal źródło prawdy dla danych
Jeden system powinien być nadrzędny dla każdego rodzaju danych. ERP może odpowiadać za ceny i stany, Shopify za koszyk i dane zamówienia, a fakturownia za numerację dokumentów. Dwa systemy nie powinny jednocześnie nadpisywać tej samej wartości bez jasnej reguły rozstrzygającej konflikt.
Warto przygotować prostą tabelę: pole, system źródłowy, kierunek synchronizacji i częstotliwość. Taki dokument szybko ujawnia luki, na przykład brak decyzji o tym, gdzie operator poprawia adres lub kod produktu.
Webhook zamiast ciągłego odpytywania
Shopify może informować integrację o zdarzeniach przez webhooki. Dzięki temu faktura lub wysyłka powstaje po określonej zmianie, bez ciągłego sprawdzania wszystkich zamówień. Oficjalna dokumentacja webhooków Shopify opisuje model subskrypcji i obsługę zdarzeń.
Webhook nie jest jeszcze gotowym procesem. Odbiornik powinien szybko potwierdzić przyjęcie zdarzenia, sprawdzić jego autentyczność, zapisać identyfikator i przekazać dalszą pracę do kolejki. Ponowne wysłanie tego samego zdarzenia nie może utworzyć drugiej faktury ani etykiety.
Kiedy wystawić fakturę
Moment wystawienia dokumentu zależy od procesu księgowego. Może nim być opłacenie zamówienia, jego realizacja albo decyzja operatora. Integracja musi też obsłużyć korekty, anulowanie, różne waluty i dane firmowe uzupełnione po zakupie.
Programy do faktur udostępniają API do automatyzacji dokumentów. Przykładowo API Fakturowni obejmuje faktury, klientów, produkty, płatności i dokumenty magazynowe. Przed wdrożeniem trzeba sprawdzić dokładnie te operacje, których wymaga firma, zamiast zakładać, że każdy dokument zachowuje się tak samo.
Synchronizacja stanów magazynowych
Stan dostępny w sklepie powinien uwzględniać rezerwacje i opóźnienie synchronizacji. Przy większej liczbie kanałów sprzedaży magazyn lub ERP zwykle staje się systemem nadrzędnym, a Shopify otrzymuje wynikową ilość możliwą do sprzedaży.
Najważniejszy jest mechanizm uzgadniania. Oprócz bieżących zmian potrzebna jest okresowa kontrola pełnego stanu, która wykryje zdarzenie pominięte podczas awarii.
Integracja z kurierem
Połączenie z przewoźnikiem obejmuje więcej niż pobranie etykiety. Trzeba przekazać właściwą usługę, gabaryt, pobranie, punkt odbioru i dane kontaktowe, a następnie zapisać numer przesyłki w Shopify. InPost Shipping API pozwala tworzyć przesyłki i pobierać etykiety, ale integracja nadal musi dopasować pola sklepu do wymagań usługi.
Minimalny zakres techniczny
Dobra integracja Shopify powinna mieć kolejkę zadań, identyfikatory zabezpieczające przed duplikacją, dziennik operacji oraz panel lub raport błędów. Do tego dochodzą alerty, testy na środowisku bez prawdziwych dokumentów i procedura ponownego przetwarzania.
Shopify udostępnia GraphQL Admin API do pracy z zamówieniami, produktami i zapasami. Sam dostęp do API nie rozwiązuje jednak decyzji biznesowych. Najpierw trzeba opisać zdarzenia i odpowiedzialność systemów, a dopiero potem pisać konektor.