Zapis stanu
Rozszerzenia do rezerwacji, przedsprzedaży i synchronizacji z hurtownią potrafią nadpisywać stan po każdym zapisie produktu.
Sam protokół jest prosty: REST API i webhooki. Problem zaczyna się wtedy, gdy plugin do rezerwacji, drugi do cen hurtowych i trzeci do synchronizacji z hurtownią zapisują stan w tym samym momencie co BaseLinker. Zanim podłączymy transport, ustalamy, kto ma prawo pisać.
W praktyce używamy wszystkich trzech, ale do różnych rzeczy. Wybór wynika z tego, czy dane zmieniają się punktowo, czy masowo — i jak szybko muszą być widoczne.
| Mechanizm | Dobre do | Opóźnienie | Obciążenie sklepu | Ryzyko |
|---|---|---|---|---|
| Webhook | nowe zamówienie, zmiana statusu | sekundy | niskie | zgubione zdarzenie przy awarii odbiornika |
| REST — pojedynczy zapis | korekta jednego produktu | sekundy | średnie | przy tysiącach rekordów zabija hosting |
| REST — endpoint zbiorczy | masowa aktualizacja stanów i cen | minuty | niskie na rekord | trzeba dobrać rozmiar paczki do limitów serwera |
| Odpytywanie cykliczne | systemy bez webhooków | tyle, ile interwał | wysokie | puste przebiegi obciążają bazę |
| Plik CSV/XML | dobowy feed od hurtowni | godziny | niskie | brak reakcji na zdarzenia w ciągu dnia |
To najczęstsza przyczyna „integracja działa, ale dane wracają". Poniższe obszary przeglądamy zawsze — niezależnie od tego, ile wtyczek jest zainstalowanych.
Rozszerzenia do rezerwacji, przedsprzedaży i synchronizacji z hurtownią potrafią nadpisywać stan po każdym zapisie produktu.
Wtyczki cen hurtowych i reguł rabatowych dokładają własne pola meta. Trzeba wiedzieć, które z nich czyta koszyk.
Część rozszerzeń generuje SKU automatycznie. Jeżeli zmieni je po imporcie, integracja traci klucz dopasowania.
Modyfikacje checkoutu zmieniają strukturę danych zamówienia, które później eksportujemy dalej.
Niektóre wtyczki rozszerzają lub filtrują odpowiedzi REST. Trzeba sprawdzić, czy nie zmieniają pól, na których opiera się integracja.
WP-Cron uruchamiany ruchem użytkownika potrafi kumulować zadania. Przy integracji lepszy jest systemowy harmonogram.
Każdy zapis produktu w WooCommerce pociąga za sobą akcje innych rozszerzeń i czyszczenie cache. Przy dziesiątkach tysięcy rekordów to się sumuje.
Na tej podstawie ocenimy ryzyko konfliktów, dobierzemy transport i powiemy, co trzeba uporządkować przed podłączeniem BaseLinkera.