> ## Documentation Index
> Fetch the complete documentation index at: https://andcze.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Kody rabatowe

> Twórz kody rabatowe i kontroluj, kto, kiedy i ile może zaoszczędzić.

Kody rabatowe to świetny sposób, żeby zachęcić graczy do zakupów — przy okazji eventu, święta albo akcji promocyjnej na Discordzie. W tym miejscu zarządzasz wszystkimi swoimi kodami, tworzysz nowe i ustalasz dokładnie, jak każdy z nich ma działać.

<Frame caption="Formularz tworzenia kodu rabatowego z podglądem na żywo">
  <img src="https://mintcdn.com/andcze/6Qp9zwUm8VUzRssf/images/panel/discounts.png?fit=max&auto=format&n=6Qp9zwUm8VUzRssf&q=85&s=7076b8f20b626d2d89435da4511e68c0" alt="Panel tworzenia kodu rabatowego" width="1280" height="720" data-path="images/panel/discounts.png" />
</Frame>

## Lista kodów rabatowych

Gdy wejdziesz w **Kody rabatowe**, najpierw zobaczysz listę wszystkich kodów, które już masz. Każdy wiersz to jeden kod, a kolumny pokazują od razu najważniejsze informacje:

<Columns cols={2}>
  <Card title="Kod" icon="ticket">
    Hasło, które gracz wpisuje przy zakupie (np. `LATO2026`).
  </Card>

  <Card title="Rabat" icon="percent">
    Wysokość zniżki — procent (np. `10%`) albo stała kwota w złotych.
  </Card>

  <Card title="Zakres" icon="layers">
    Czego dotyczy kod: **Cały sklep**, **Serwery** albo **Produkty**.
  </Card>

  <Card title="Wykorzystanie" icon="hashtag">
    Ile razy kod został już użyty w stosunku do limitu, np. `12 / 100`.
  </Card>

  <Card title="Wygasa" icon="calendar">
    Data, do której kod jest ważny. Jeśli żadnej nie ma, zobaczysz `—`.
  </Card>

  <Card title="Status" icon="circle-check">
    Plakietka **Aktywny** (zielona) albo **Nieaktywny** (szara).
  </Card>
</Columns>

Po prawej stronie każdego wiersza znajdziesz przyciski:

<Columns cols={2}>
  <Card title="Edytuj" icon="pencil">
    Otwiera formularz z aktualnymi ustawieniami kodu, gdzie możesz wszystko zmienić.
  </Card>

  <Card title="Usuń" icon="trash">
    Kasuje kod. Najpierw pojawi się pytanie z potwierdzeniem — kod „znika" dopiero po kliknięciu **Usuń**. Tej operacji nie da się cofnąć.
  </Card>
</Columns>

<Note>
  Jeśli pracujesz w zespole, przyciski **Edytuj** i **Usuń** zobaczą tylko osoby, którym przydzielono odpowiednie uprawnienia. Współpracownik bez uprawnień zobaczy listę, ale nie zmieni ani nie skasuje kodów.
</Note>

### Gdy nie masz jeszcze żadnego kodu

Jeśli lista jest pusta, zobaczysz komunikat **„Brak kodów rabatowych"** z zachętą do dodania pierwszego kodu. To normalne na początku — wystarczy kliknąć **Dodaj kod** u góry i przejść przez formularz opisany niżej.

## Walidator kodu — sprawdź kod przed graczem

Nad listą znajdziesz wygodne narzędzie: **Walidator kodu**. Pozwala sprawdzić, czy konkretny kod zadziała dla zamówienia o danej wartości — jeszcze zanim zrobi to gracz. To najlepszy sposób, by upewnić się, że promocja na pewno działa tak, jak chcesz.

<Steps>
  <Step title="Wpisz kod">
    W polu **Kod** wpisz hasło, które chcesz sprawdzić (np. `LATO2026`). Wielkość liter nie ma znaczenia — system sam zamieni je na wielkie.
  </Step>

  <Step title="Podaj wartość zamówienia">
    W polu **Wartość zamówienia (PLN)** wpisz przykładową kwotę koszyka, np. `100`.
  </Step>

  <Step title="Sprawdź wynik">
    Pod spodem od razu pojawi się wynik.
  </Step>
</Steps>

Wynik może być dwojaki:

<Columns cols={2}>
  <Card title="Kod jest prawidłowy" icon="circle-check">
    Zobaczysz, **ile wynosi rabat** oraz **jaka będzie cena po rabacie** dla podanej kwoty. To znak, że kod działa.
  </Card>

  <Card title="Kod nieprawidłowy" icon="circle-x">
    Zobaczysz **powód**, dla którego kod nie zadziała — np. wygasł, wyczerpał limit użyć albo zamówienie nie osiągnęło minimalnej wartości.
  </Card>
</Columns>

<Tip>
  Po utworzeniu nowego kodu od razu przetestuj go w walidatorze na kilku różnych kwotach (np. małej i dużej). Dzięki temu sprawdzisz, czy warunki — minimalna wartość zamówienia i maksymalna kwota rabatu — działają tak, jak zaplanowałeś.
</Tip>

## Jak utworzyć kod rabatowy

Aby dodać nowy kod, kliknij przycisk **Dodaj kod** nad listą. Otworzy się osobna strona z formularzem i **podglądem na żywo** u góry. W każdej chwili możesz wrócić do listy przyciskiem **Wróć** (bez zapisywania).

<Steps>
  <Step title="Wpisz kod">
    W polu **Kod** wpisz hasło, które gracze będą wpisywać przy zakupie, np. `LATO2026` albo `DISCORD10`. Dozwolone są **tylko wielkie litery, cyfry oraz znaki `_` i `-`** (maksymalnie 50 znaków). Krótki, prosty kod jest łatwiejszy do zapamiętania.
  </Step>

  <Step title="Dodaj opis (opcjonalnie)">
    W polu **Opis** możesz zapisać krótką notatkę dla siebie i zespołu, np. „Promocja na lato — 10% na wszystko" albo „Kod z filmu na YouTube". To notatka wewnętrzna — gracze jej nie zobaczą. Pole nie jest wymagane.
  </Step>

  <Step title="Wybierz zakres">
    Zdecyduj, czego dotyczy rabat: całego sklepu, wybranych serwerów albo wybranych produktów (patrz sekcja **Zakres rabatu** poniżej).
  </Step>

  <Step title="Ustaw typ i wartość rabatu">
    Wybierz, czy rabat ma być **procentowy** czy **kwotowy**, i podaj jego wysokość (sekcja **Wartość rabatu**).
  </Step>

  <Step title="Ustaw ważność i limit użyć">
    Podaj **datę wygaśnięcia** oraz **limit użyć** — oba pola są wymagane (sekcja **Ważność i limit użyć**).
  </Step>

  <Step title="Dodaj warunki (opcjonalnie)">
    Jeśli chcesz, ustaw minimalną wartość zamówienia i maksymalną kwotę rabatu (sekcja **Warunki zamówienia**).
  </Step>

  <Step title="Zapisz">
    Sprawdź jeszcze raz podgląd na żywo i kliknij **Dodaj kod**. Od tej chwili gracze mogą go używać przy zakupach.
  </Step>
</Steps>

## Podgląd na żywo

U góry formularza widzisz **podgląd na żywo** — krótkie podsumowanie tego, co właśnie ustawiasz. Zmienia się w czasie rzeczywistym, gdy wypełniasz pola, na przykład:

> **Podgląd: −10% na cały sklep · ważny do 2026-12-31 · limit 100 użyć**

Dzięki temu od razu widzisz, jak Twój kod zadziała w praktyce, jeszcze zanim go zapiszesz. To dobry sposób, żeby wyłapać pomyłkę, zanim gracze zaczną z kodu korzystać. Jeśli wybierzesz zakres na serwery lub produkty, podgląd pokaże też **liczbę zaznaczonych pozycji**.

## Zakres rabatu — czego dotyczy kod

W sekcji **Zakres rabatu** decydujesz, na co kod będzie działał. Masz trzy możliwości:

<Columns cols={3}>
  <Card title="Cały sklep">
    Rabat obejmuje wszystkie produkty na wszystkich serwerach. Najprostsza opcja — idealna na ogólne promocje.
  </Card>

  <Card title="Wybrane serwery">
    Rabat zadziała tylko na produktach z wybranych serwerów. Po wybraniu tej opcji pojawi się lista serwerów do zaznaczenia.
  </Card>

  <Card title="Wybrane produkty">
    Rabat dotyczy tylko konkretnych produktów. Pojawi się lista, na której zaznaczasz objęte kodem produkty.
  </Card>
</Columns>

### Jak zaznaczać serwery lub produkty

Gdy wybierzesz **Wybrane serwery** lub **Wybrane produkty**, poniżej pojawi się **lista z polami do zaznaczenia**. Klikasz po prostu w nazwy pozycji, które mają być objęte kodem — przy każdej zaznaczonej pojawi się „ptaszek". Obok nagłówka widzisz **licznik zaznaczonych** pozycji.

<Note>
  Zaznaczasz serwery i produkty **po nazwie** — tej samej, którą widzisz w panelu. Nie musisz pamiętać żadnych numerów ani identyfikatorów.
</Note>

<Warning>
  Jeśli wybierzesz zakres na serwery lub produkty, musisz zaznaczyć **co najmniej jedną pozycję**. Bez tego kodu nie da się zapisać — pojawi się komunikat z prośbą o wskazanie celu.
</Warning>

## Wartość rabatu — typ i wysokość

W sekcji **Wartość rabatu** decydujesz, w jaki sposób kod obniża cenę. Najpierw wybierasz **Typ**, a potem podajesz **Wartość**:

<Columns cols={2}>
  <Card title="Procentowy (%)">
    Rabat to procent od ceny, np. **10%**. Przy droższych zamówieniach gracz oszczędza więcej. Wartość nie może przekraczać **100**.
  </Card>

  <Card title="Kwotowy (PLN)">
    Rabat to stała kwota, np. **5 zł**, odejmowana od ceny zamówienia.
  </Card>
</Columns>

W polu **Wartość** wpisz liczbę — dla rabatu procentowego będzie to liczba procent (np. `10`), a dla kwotowego liczba złotych (np. `20`). Możesz używać groszy. To pole jest **wymagane**.

<Note>
  Etykieta pola zmienia się zależnie od typu: przy rabacie procentowym widzisz **Wartość (%)**, a przy kwotowym **Wartość (PLN)**. Dzięki temu zawsze wiesz, co właśnie wpisujesz.
</Note>

## Ważność i limit użyć

<Columns cols={2}>
  <Card title="Data wygaśnięcia" icon="calendar">
    Określ, do kiedy kod ma być ważny — wybierasz datę z kalendarza. Po tej dacie kod przestanie działać automatycznie, nie musisz o nim pamiętać ani ręcznie go wyłączać. To pole jest **wymagane**.
  </Card>

  <Card title="Limit użyć" icon="hashtag">
    Ustaw, ile razy łącznie kod może zostać wykorzystany, np. **100**. Gdy limit się wyczerpie, kod przestanie działać. To pole jest **wymagane** (minimum 1).
  </Card>
</Columns>

<Tip>
  Te dwa pola to Twoja ochrona przed nadużyciami. Dzięki nim kod nie „żyje" w nieskończoność i nie zostanie wykorzystany więcej razy, niż zaplanowałeś. Na liście kodów widzisz na bieżąco, ile razy kod został już użyty.
</Tip>

## Warunki zamówienia

Sekcja **Warunki zamówienia** zawiera dwa pola opcjonalne, którymi precyzyjnie sterujesz, kiedy rabat się aktywuje i jak duży może być:

<Columns cols={2}>
  <Card title="Min. wartość zamówienia (PLN)">
    Rabat zadziała dopiero wtedy, gdy zamówienie osiągnie określoną kwotę, np. od **20 zł** w górę. Świetne, żeby zachęcić do większych zakupów. Zostaw `0` lub puste, jeśli nie chcesz progu.
  </Card>

  <Card title="Maks. kwota rabatu (PLN)">
    Górny limit oszczędności — nawet przy dużym zamówieniu rabat nie przekroczy ustalonej kwoty. Pole przydatne zwłaszcza przy rabatach procentowych, żeby nie oddać za dużo.
  </Card>
</Columns>

## Edytowanie istniejącego kodu

Aby zmienić kod, kliknij przy nim **Edytuj** na liście. Otworzy się ten sam formularz, ale z kilkoma różnicami:

<Columns cols={2}>
  <Card title="Kod jest zablokowany" icon="lock">
    Samego hasła kodu **nie da się już zmienić** po utworzeniu — pole z kodem nie pojawia się w trybie edycji. Pozostałe ustawienia (zakres, wartość, daty, limity, warunki) zmieniasz dowolnie.
  </Card>

  <Card title="Przełącznik „Aktywny”" icon="toggle-right">
    W trybie edycji dochodzi sekcja **Status** z przełącznikiem **Aktywny**. Wyłącz go, aby tymczasowo wstrzymać kod bez kasowania go.
  </Card>
</Columns>

<Tip>
  Jeśli chcesz na chwilę zatrzymać promocję (np. do kolejnego eventu), nie usuwaj kodu — wystarczy go **edytować i wyłączyć przełącznik „Aktywny"**. Później włączysz go z powrotem, a dotychczasowe wykorzystanie i ustawienia zostaną zachowane. Kod ze statusem **Nieaktywny** nie zadziała przy zakupie.
</Tip>

<Note>
  Chcesz zmienić samo hasło kodu? Nie da się tego zrobić w edycji — utwórz nowy kod z nowym hasłem i (jeśli trzeba) usuń stary.
</Note>

## Najczęstsze pytania

<AccordionGroup>
  <Accordion title="Gracz mówi, że kod nie działa — co sprawdzić?">
    Skorzystaj z **Walidatora kodu** na górze strony: wpisz kod i wartość zamówienia. Wynik wprost powie, czy kod jest prawidłowy, a jeśli nie — poda powód (np. wygasł, wyczerpał limit użyć albo zamówienie nie osiągnęło minimalnej wartości). Sprawdź też na liście, czy kod ma status **Aktywny**.
  </Accordion>

  <Accordion title="Czy mogę zmienić samo hasło kodu?">
    Nie. Po utworzeniu hasło kodu jest stałe — w trybie edycji pole z kodem się nie pojawia. Jeśli potrzebujesz innego hasła, utwórz nowy kod i ewentualnie usuń stary.
  </Accordion>

  <Accordion title="Czym różni się „Nieaktywny&#x22; od usunięcia kodu?">
    Wyłączenie przełącznika **Aktywny** tylko wstrzymuje kod — możesz go w każdej chwili włączyć z powrotem, a ustawienia i licznik wykorzystania zostają. Usunięcie kasuje kod na stałe i tej operacji nie da się cofnąć.
  </Accordion>

  <Accordion title="Co się stanie, gdy kod osiągnie limit użyć albo datę wygaśnięcia?">
    Kod automatycznie przestaje działać — gracze nie zastosują go przy zakupie. Nie musisz nic robić ręcznie. Na liście wciąż go zobaczysz, więc w razie potrzeby możesz podnieść limit lub przesunąć datę w edycji.
  </Accordion>

  <Accordion title="Wybrałem zakres na produkty, ale nie mogę zapisać kodu.">
    Przy zakresie **Wybrane serwery** lub **Wybrane produkty** musisz zaznaczyć co najmniej jedną pozycję z listy. Bez tego kod się nie zapisze — pojawi się prośba o wskazanie celu.
  </Accordion>
</AccordionGroup>

## Dobre praktyki

<Tip>
  **Twórz czytelne kody.** Krótkie hasło z wielkich liter i cyfr (np. `WIOSNA15`) jest łatwiejsze do zapamiętania i wpisania niż przypadkowy ciąg znaków. Gracze rzadziej się pomylą, a Ty łatwiej rozpoznasz kod na liście.
</Tip>

<Warning>
  **Zawsze rozsądnie ustaw limit użyć i datę wygaśnięcia.** Oba pola są wymagane właśnie po to, by kod nie krążył w sieci w nieskończoność. Hojny, ale ograniczony w czasie kod to bezpieczna promocja.
</Warning>

<Tip>
  Przy rabatach procentowych warto dodać **maksymalną kwotę rabatu**. Dzięki temu nawet duże zamówienie nie obniży Twojego przychodu bardziej, niż zakładasz.
</Tip>

<Tip>
  **Testuj każdy nowy kod w walidatorze**, zanim ogłosisz go graczom. Sprawdź małą i dużą kwotę, by upewnić się, że progi i limity działają tak, jak chcesz.
</Tip>

<Tip>
  **Dodawaj opis do kodu.** Krótka notatka („Promocja na Discordzie", „Event halloweenowy") pomaga Tobie i zespołowi szybko rozpoznać, po co dany kod powstał — zwłaszcza gdy masz ich wiele.
</Tip>
