Do czego służy ta instrukcja
Ten artykuł pokazuje, jak zaktualizować stan magazynowy towaru w xSale za pomocą REST API. To rozwiązanie jest przydatne, gdy stan magazynowy jest wyliczany lub przechowywany w systemie zewnętrznym (np. ERP lub WMS) i chcesz synchronizować go do xSale.
Na początku znajdziesz skrótowy opis kroków i wymagań, a dalej część techniczną z endpointami i przykładami (pozostawioną bez zmian).
W tym artykule znajdziesz
- kiedy warto aktualizować stany magazynowe przez API
- wymagania i dane wejściowe
- szybki przepis krok po kroku
- typowe problemy i sposób weryfikacji
Kiedy stosować
To podejście sprawdza się, gdy xSale ma prezentować aktualne stany z Twojego systemu źródłowego. Najczęściej integracja cyklicznie wysyła zmiany stanów lub pełny stan dla wybranych towarów.
Wymagania
- dostęp do REST API xSale (autoryzacja) dla właściwej organizacji
- wartość organizationName
- identyfikacja towaru w xSale (np. ID / kod / EAN — zgodnie z opisem w części technicznej)
- dane magazynu (jeśli aktualizacja dotyczy konkretnego magazynu) oraz wartość stanu
Szybki przepis (krok po kroku)
- Ustal, który towar ma zostać zaktualizowany (jego identyfikator w xSale).
- Przygotuj wartość stanu (oraz magazyn, jeśli dotyczy).
- Wyślij zapytanie API aktualizujące stan zgodnie z przykładem poniżej.
- Zweryfikuj w xSale, czy stan został zaktualizowany (np. na karcie towaru / w widoku magazynu).
Typowe problemy i jak je sprawdzić
- Błąd autoryzacji — sprawdź dane logowania/token oraz uprawnienia do REST API.
- Towar nie został znaleziony — zweryfikuj identyfikator przekazywany w zapytaniu (kod/ID/EAN).
- Stan nie zmienia się w panelu — odśwież widok, sprawdź odpowiedź API i czy aktualizujesz właściwy magazyn.
- Niezgodny format danych — porównaj body zapytania z przykładem w części technicznej.
Szczegóły techniczne
REST API xSale umożliwia wymianę danych o towarach przez zasób Article. Dzięki temu możliwe jest zaprojektowanie synchronizacji stanów magazynowych i innych danych o asortymencie dostępnych w sprzedaży z dedykowanymi systemami ERP lub eCommerce
Pobranie informacji o stanie towaru np. aby przekazać do dedykowanej platformy eCommerce lub dedykowanego sklepu internetowego.
Aby pobrać stany magazynowe towaru, należy przesłać zapytanie na endpoint:
GET /{organizationName}/articles/stocks
W zapytaniu wymagane jest przekazanie organizationName. Zwracane wyniki można zawęzić do towarów o wskazanych ID (articleidin) oraz zaktualizowanych / zsynchronizowanych przed lub po konkretnej dacie. Dane w odpowiedzi mogą być posortowane według ID (rosnąco lub malejąco).
Można również zdefiniować limit elementów w odpowiedzi zwracanej przez xSale (nie większy niż 1000 rekordów dla pojedynczego zapytania).
Zaktualizowanie stan towarów w xSale gdy korzystasz np. z integracji z dedykowanym ERP, WMS lub aby zaktualizować dostępną ilość towaru na podstawie dostępności towaru w hurtowni lub u dostawcy.
Aktualizacja stanów magazynowych jest możliwa poprzez endpoint:
PUT /{organizationName}/articles/{id}/stocks-levels
W zapytaniu należy przesłać ID towaru oraz szczegóły dotyczące dostępnej ilości (pole „Quantity„) wraz z ID magazynu, na którym wykonywana jest aktualizacja stanu magazynowego („WarehouseId„).
Aktualizacja stanu a synchronizacja oferty z kanałami sprzedaży
xSale posiada automatyczne procesy aktualizacji stanu magazynowego w ofertach wystawionych na zintegrowane kanały sprzedaży (np. Allegro, Shoper, AtomStore itp.). Synchronizacja danych jest inicjowana wówczas, gdy zmieni się wartość stanu magazynowego.
Jeśli korzystasz z wirtualnych stanów, możesz chcieć limitować stan magazynowy dostępny w ofertach. Aktualizując stan przez REST API pamiętaj, że przesyłanie ciągle tej samej wartości stanu magazynowego spowoduje problemy z dostępnością oferty w kanałach sprzedaży – stan magazynowy oferty nie będzie poprawnie aktualizowany, a po wyczerpaniu dostępności w kanale sprzedaży oferta może zostać zakończona.