# Pobieranie produktów Jak Ritevo pobiera produkty, ceny i stany z hurtowni, jak często, co dzieje się z usuniętymi produktami, kilka magazynów i reguły cen. Produkty trafiają do Ritevo z integracji z kategorii **Magazyny i hurtownie**: z hurtowni pobieramy je automatycznie, a do własnego magazynu dodajesz je sam. Wszystkie widzisz w jednym miejscu, z ceną i stanem. > **Wymagana integracja:** Potrzebujesz integracji z kategorii **Magazyny i hurtownie** - na przykład [Hurtowni Karm](https://ritevo.com/pl/docs/integrations/hurtownia-karm) albo [Własnego magazynu](https://ritevo.com/pl/docs/integrations/own-warehouse). ## Gdzie są produkty Wszystkie produkty są w menu **Produkty**. Lista pokazuje nazwę, producenta, cenę, stan, SKU i integrację, z której pochodzi produkt. Stan to suma wszystkich stanów produktu. Filtrujesz po integracji, nazwie, SKU, EAN, producencie, kategorii, cenie, stanie i po tym, czy produkt jest usunięty. ## Skąd biorą się produkty - **Hurtownia** - produkty, ceny i stany pobieramy z oferty hurtowni według ustawionego interwału. - **Własny magazyn** - produkty dodajesz sam przyciskiem **Dodaj produkt**, a cenę i stan wpisujesz w produkcie. ## Jak często pobieramy produkty Dla każdej hurtowni sam wybierasz w polu **Interwał synchronizacji** na stronie integracji, jak często pobieramy jej ofertę: - **Nigdy** (API: "Nigdy" = `NEVER`; wartość w `syncInterval`) - oferta pobiera się tylko raz, zaraz po dodaniu integracji. Domyślnie. - **LIVE** (API: "LIVE" = `LIVE`; wartość w `syncInterval`) - co godzinę. - **Co 2 godziny** (API: "Co 2 godziny" = `EVERY_2H`; wartość w `syncInterval`) - co dwie godziny. - **Co 6 godzin** (API: "Co 6 godzin" = `EVERY_6H`; wartość w `syncInterval`) - co sześć godzin. > **Warto wiedzieć:** Przy każdym pobraniu najpierw aktualizujemy produkty, a zaraz po nich ceny i stany. Własny magazyn niczego nie pobiera - zmienia się tylko wtedy, gdy sam coś zmienisz. ## Co jest w produkcie - **Dane podstawowe** - nazwa, SKU, EAN i dodatkowe EAN-y, opis, zdjęcia, producent, kategoria, waga i wymiary. - **Cena** - kwota netto, stawka VAT i waluta. Każdy produkt ma jedną cenę. - **Stan** - ilość w danym magazynie. Produkt może mieć kilka stanów, na przykład stan z hurtowni i Twój własny. - **Status** - przełączniki **Aktywny** i **Usunięty**. > **Warto wiedzieć:** Ceny produktów w magazynach są netto. Reguły cenowe też działają na cenę netto. Wszystkie pozostałe ceny w Ritevo, na przykład w zamówieniach, fakturach i paragonach, są brutto. ## Kilka magazynów i hurtowni Możesz mieć wiele integracji magazynowych naraz, także kilka własnych magazynów. Każdy produkt należy do jednej integracji - ten sam SKU albo EAN w dwóch magazynach to dwa osobne produkty, które nie są łączone. Z której integracji jest produkt, widzisz w kolumnie **Integracja** i w filtrze **Integracja**. ## Kiedy produkt jest usunięty - **Produkt zniknął z hurtowni** - przy najbliższym pobraniu oznaczamy go jako usunięty, a jego stan z hurtowni spada do 0. Jeśli wróci do oferty, przy kolejnym pobraniu znów będzie aktywny. - **Usuwasz produkt z hurtowni sam** - przełącznik **Usunięty** zadziała tylko do najbliższego pobrania, bo wtedy hurtownia znów nadpisze produkt. - **Usuwasz produkt z własnego magazynu** - włącz **Usunięty** w produkcie. Przywracasz go, wyłączając przełącznik. - **Na liście** - usunięte produkty nadal widać na liście **Produkty**. Ukryjesz je filtrem **Produkt usunięty**. ## Zmiany w produktach z hurtowni Produkt z hurtowni możesz edytować, ale przy najbliższym pobraniu hurtownia nadpisze nazwę, opis, cenę, EAN, wymiary i inne pola. Zostają tylko stany, które dodałeś sam przyciskiem **Dodaj stan**. Stany z hurtowni za każdym razem wracają do wartości od dostawcy. > **Warto wiedzieć:** W produkcie z hurtowni zobaczysz ostrzeżenie **Produkt pochodzi od zewnętrznego dostawcy**. Stałą zmianę ceny albo stanu dla całej hurtowni ustawisz regułami transformacji - opis niżej. ## Reguły cen i stanów Na stronie każdej integracji magazynowej są **Reguły transformacji**: osobno **Reguły cenowe** i **Reguły stanu**. Działają na każdą cenę i każdy stan tej integracji - pobrane z hurtowni i wpisane przez Ciebie. Każda reguła ma zakres **Wartość od** i **Wartość do**, **Operację** i **Operand**. Operacje: - **Mnożnik** (API: "Mnożnik" = `MULTIPLY`; wartość w `operation`) - mnoży wartość przez operand, na przykład 1.3 doliczy 30% marży. - **Dodaj** (API: "Dodaj" = `ADD`; wartość w `operation`) - dodaje operand do wartości. - **Odejmij** (API: "Odejmij" = `SUBTRACT`; wartość w `operation`) - odejmuje operand od wartości. - **Ustaw na** (API: "Ustaw na" = `SET_TO`; wartość w `operation`) - zastępuje wartość operandem, na przykład stan ustawia na 0. Reguły są sprawdzane po kolei od góry - zastosowana zostaje pierwsza, której zakres pasuje do wartości. Każda lista mieści maksymalnie 20 reguł, a dodajesz je przyciskiem **Dodaj regułę**. > **Warto wiedzieć:** Przykład: reguła cenowa od 0 do 100 z operacją **Mnożnik** i operandem 1.5 podnosi ceny tanich produktów o połowę, a następna, od 100 do 100000 z operandem 1.2, droższe o 20%. ## Produkty a zamówienia - **Powiązanie** - pozycji zamówienia nie łączymy z produktem automatycznie. W szczegółach zamówienia kliknij **Powiąż ofertę z produktem** i wybierz produkt. Powiązanie zostaje dla tej oferty także w kolejnych zamówieniach z tej samej integracji. - **Asystent pakowania** - korzysta z powiązanych produktów i porównuje skanowany kod z ich EAN-em. Pozycja bez powiązania ma oznaczenie **Brak powiązania z magazynem**. - **Stany** - sprzedaż nie zmienia stanów w Ritevo: nic nie jest zdejmowane ani rezerwowane. ## Usunięcie integracji magazynowej Usunięcie integracji zatrzymuje pobieranie, ale jej produkty, ceny i stany zostają na liście **Produkty**. Po przywróceniu integracji pobieranie rusza przy najbliższym terminie. ## Czego jeszcze nie ma - Nie łączy tych samych produktów z różnych magazynów w jeden. - Nie importuje produktów z pliku - produkty do własnego magazynu dodajesz w aplikacji albo przez API. - Nie zdejmuje ani nie rezerwuje stanów po sprzedaży. - Nie wysyła produktów do kanałów sprzedaży. ## Produkty przez API Lista: `GET /integrations/warehouses/products` (strona do 5000 pozycji), jeden produkt: `GET /integrations/warehouses/products/{id}`. Zapis jest asynchroniczny (202) i przyjmuje do 1000 pozycji w zapytaniu: `PUT /integrations/warehouses/{integrationId}/products` (pola `externalId`, `sku`, `name`, `description`, `ean`, `additionalEans`, `images`, `manufacturer`, `category`, `weight`, `width`, `height`, `length`, `active`, `deleted`, `price`), `PUT .../products/prices` (`productId`, `amount`, `currency`, `vatRate`) i `PUT .../products/stocks` (`productId`, `externalId`, `warehouse`, `quantity`, `deleted`). Produkt z tym samym `externalId` w danej integracji jest aktualizowany zamiast tworzony. W odpowiedzi `original` = `true` oznacza dane od dostawcy, `false` - zmienione ręcznie. Powiązania ofert z produktami: `GET` i `DELETE /integrations/warehouses/external-offer-assignments`, a powiązanie tworzysz przez `POST /orders/{orderId}/line-items/{lineItemId}/warehouse-link`. Aktualne ścieżki, pola, typy i kody odpowiedzi są zawsze w Swaggerze: https://api.ritevo.com/api/v1/api-docs. Integracja hurtowni ma `syncInterval` = `NEVER`, `LIVE` (co godzinę), `EVERY_2H` albo `EVERY_6H`. `transformationRules` to `priceRules` i `stockRules` - listy do 20 obiektów `valueFrom`, `valueTo`, `operation` (`MULTIPLY`, `ADD`, `SUBTRACT`, `SET_TO`) i `operand`. Pierwsza reguła, której zakres pasuje, wygrywa. --- Cała pomoc w jednym pliku: https://ritevo.com/llms-full.txt. Mapa pomocy z linkami do wszystkich stron: https://ritevo.com/llms.txt.