1. Strona główna
  2. Dokumentacja
  3. API / Techniczne
  4. Przykłady wykorzystania R...
  5. Aktualizacja stanu magazynowego towaru w xSale

Aktualizacja stanu magazynowego towaru w xSale

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)

  1. Ustal, który towar ma zostać zaktualizowany (jego identyfikator w xSale).
  2. Przygotuj wartość stanu (oraz magazyn, jeśli dotyczy).
  3. Wyślij zapytanie API aktualizujące stan zgodnie z przykładem poniżej.
  4. 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 ArticleDzię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.