Reguły koszyka i kody rabatowe
ps_manage_cart_rules
Tworzy kody rabatowe, także serie kodów jednorazowych, i włącza albo wyłącza je. Nowe kody startują jako wyłączone.
TellMyShop Free: Nie. To narzędzie jest tylko w TellMyShop Pro. TellMyShop Free ma tylko gotowe raporty, które czytają sklep.
Zapytaj Claude
„Utwórz kod WITAJ10: 10% na zamówienia powyżej 200 zł, ważny do końca roku, raz na klienta.”
Przykładowy podgląd
Nowa reguła „Powitalny 10%”, kod WITAJ10, 10%, min. 200 zł brutto, 2026-10-05 do 2026-12-31, 1 na klienta, 1000 użyć. Powstanie jako NIEAKTYWNA: włącz ją przez set_active po sprawdzeniu.
Szczegóły techniczne
Kody rabatowe (reguły koszyka). action=list (z liczbą użyć) i action=get (szczegóły z ograniczeniami). action=create tworzy jeden kod: rabat procentowy, kwotowy albo darmowa dostawa, minimalna wartość koszyka, daty, łączny limit użyć i limit na klienta, opcjonalne ograniczenia do kategorii, produktów albo producentów, grupy klientów, wyłączność (exclusive, nie łączy się z innymi kodami), exclude_discounted, a dla rabatu procentowego apply_to (całe zamówienie, wybrane produkty albo najtańszy produkt). action=generate tworzy serię unikalnych kodów JEDNORAZOWYCH z prefiksem (np. 200 kodów do newslettera, count do 500) z tymi samymi warunkami. action=update zmienia kod, daty, limity, wartość albo nazwę. action=set_active włącza albo wyłącza kod. action=delete usuwa kod NIGDY nieużyty w zamówieniu (użyty kod można tylko wyłączyć). Nowe kody powstają NIEAKTYWNE, chyba że activate=true. Reguła bez kodu nalicza się automatycznie każdemu klientowi i wymaga auto_apply=true.
Parametry
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
| action | enum: list | get | create | update | set_active | generate | delete | tak | list | get | create | update | set_active | generate | delete. |
| shop_id | integer | nie | ID sklepu (multistore). Domyślnie sklep z adresu konektora; lista w ps_get_shop_info. |
| cart_rule_id | integer | warunkowo | get/update/set_active/delete: ID z action=list. |
| name | string | nie | create/generate/update: nazwa widoczna w koszyku klienta (np. „Jesienna wyprzedaż −10%”). Maks. 254 znaków. |
| code | string | nie | create/update: kod do wpisania w koszyku (litery, cyfry, - i _). |
| auto_apply | boolean | nie | create: true = reguła BEZ kodu, naliczana automatycznie każdemu spełniającemu warunki. Domyślnie false. |
| reduction_percent | number | nie | rabat w % (create/generate/update). Maks. 100. |
| reduction_amount | number | nie | rabat kwotowy w walucie sklepu (create/generate/update). Maks. 1 000 000. |
| amount_tax_included | boolean | nie | create/generate: rabat kwotowy brutto (domyślnie). |
| free_shipping | boolean | nie | darmowa dostawa (create/generate/update). |
| minimum_amount | number | nie | minimalna wartość koszyka brutto, 0 = bez minimum (create/generate/update). |
| date_from | string (YYYY-MM-DD) | nie | początek ważności (create/generate: domyślnie dziś), RRRR-MM-DD. |
| date_to | string (YYYY-MM-DD) | warunkowo | koniec ważności (create/generate: wymagany), RRRR-MM-DD. |
| quantity | integer | warunkowo | create: łączny limit użyć (wymagany); update: pozostała liczba użyć. Zakres 0 do 1 000 000. |
| quantity_per_user | integer | nie | limit użyć na klienta (domyślnie 1). Zakres 1 do 1000. |
| category_ids | array of integer | nie | create/generate: kod działa tylko, gdy w koszyku jest produkt z tych kategorii (ID z ps_get_category_tree). Maks. 50 elementów. |
| products | array of string | nie | create/generate: kod działa tylko z tymi produktami. Maks. 100 elementów. |
| manufacturer_ids | array of integer | nie | create/generate: kod działa tylko z produktami tych producentów. Maks. 50 elementów. |
| min_products | integer | nie | create/generate: ile takich produktów musi być w koszyku. Zakres 1 do 1000. Domyślnie 1. |
| apply_to | enum: order | selected_products | cheapest | nie | create/generate (tylko rabat %): order = cały koszyk, selected_products = tylko produkty z ograniczeń, cheapest = najtańszy produkt. Domyślnie order. |
| exclude_discounted | boolean | nie | create/generate/update: rabat nie obejmuje produktów już przecenionych. |
| customer_group_ids | array of integer | nie | create/generate: tylko dla tych grup klientów. Maks. 20 elementów. |
| exclusive | boolean | nie | create/generate: nie łączy się z innymi kodami rabatowymi. Domyślnie false. |
| highlight | boolean | nie | create/update: podpowiadaj kod w koszyku, gdy klient spełnia warunki. |
| partial_use | boolean | nie | create/update (rabat kwotowy): niewykorzystana część kwoty zostaje jako nowy kod dla klienta. |
| description | string | nie | create/generate/update: opis wewnętrzny (widoczny tylko w panelu). Maks. 254 znaków. |
| activate | boolean | nie | create/generate: od razu aktywny (domyślnie nie – włączysz po sprawdzeniu). |
| count | integer | warunkowo | generate: ile kodów (każdy jednorazowy). Zakres 1 do 500. |
| prefix | string | warunkowo | generate: prefiks kodów (np. NEWS10 → NEWS10-7KQ3XW9P). |
| code_length | integer | nie | generate: długość losowej części kodu. Zakres 6 do 16. Domyślnie 8. |
| active | boolean | warunkowo | set_active: true = włącz, false = wyłącz. |
| only_active | boolean | nie | list: tylko aktywne. Domyślnie false. |
| search | string | nie | list: fragment nazwy lub kodu. Maks. 100 znaków. |
| limit | integer | nie | Maks. liczba wierszy (domyślnie 50, maks. 200). |
| offset | integer | nie | Pominięte wiersze (stronicowanie), domyślnie 0. |
| confirm | boolean | nie | false (domyślnie) = tylko podgląd, nic nie zapisuje. true = wykonaj – wyłącznie po wyraźnej zgodzie użytkownika na pokazany podgląd, razem z change_token. |
| change_token | string | warunkowo | Token z podglądu (wymagany przy confirm=true). Wiąże wykonanie z pokazanym podglądem i stanem danych; ważny 30 minut, jednorazowy. |
Ograniczenia
Nowe kody startują nieaktywne, chyba że activate=true. generate: do 500 kodów jednorazowych na wywołanie. delete tylko dla kodów nigdy nieużytych w zamówieniu. Reguła bez kodu wymaga auto_apply. Lista maks. 200 wierszy (domyślnie 50). To narzędzie zapisujące, więc bez aktywnej licencji jest ukryte, razem z listą; zmiany wymagają przełącznika Handel. Uprawnienia sprawdzane per akcja (AdminCartRules). Cofanie przez ps_revert_change.
Co widzisz przed zapisem
Claude najpierw wywołuje narzędzie bez potwierdzenia. Moduł zwraca podgląd (obecne i nowe wartości) oraz jednorazowy token ważny 30 minut. Claude pokazuje ci podgląd i zapisuje zmianę dopiero po twojej zgodzie.
Powiązane narzędzia
- Promocje na kategorie i producentów (reguły cen katalogowych) ps_manage_catalog_price_rules
- Ceny promocyjne (ceny specyficzne) ps_manage_specific_prices
- Cofnięcie zmiany ps_revert_change
Zastosowania z tym narzędziem
- Kod rabatowy do newslettera
- Jednorazowy kod przeprosinowy dla klienta
- Przegląd aktywnych kodów rabatowych i promocji
- Przygotowanie kampanii Black Friday w całym sklepie
- Próg darmowej dostawy a średnie zamówienie
- Wyłączenie wygasłych i wykorzystanych kodów rabatowych
- Darmowa dostawa od wybranej kwoty
- Przygotowanie całego sklepu na Black Friday
- Sprzątanie po promocji
Aktualizacja: 2026-10-11