REST API
REST API v namespace polski/v1/. Spravujte nastavenia, právne checkboxy, právne stránky a vyhľadávanie produktov.
Autentifikácia
Section titled “Autentifikácia”API vyžaduje autentifikáciu pre endpointy upravujúce údaje (POST, PUT, DELETE). Endpoint vyhľadávania (/search) je dostupný verejne.
Podporované metódy autentifikácie:
- Application Passwords (WordPress 5.6+) - odporúčané
- Cookie + nonce - pre požiadavky z admin panelu
- Basic Auth (s pluginom Basic Auth) - len pre vývoj
Vyžadované oprávnenie: manage_woocommerce (štandardne role Administrator a Manažér obchodu).
Endpointy
Section titled “Endpointy”GET /polski/v1/settings
Section titled “GET /polski/v1/settings”Získa všetky skupiny nastavení pluginu.
Oprávnenia: manage_woocommerce
Príklad požiadavky:
curl -u admin:XXXX-XXXX-XXXX-XXXX \ "https://tvoj-obchod.pl/wp-json/polski/v1/settings"Príklad odpovede:
{ "groups": [ { "id": "general", "label": "Ustawienia ogólne", "description": "Podstawowa konfiguracja wtyczki" }, { "id": "compliance", "label": "Wymogi prawne", "description": "Ustawienia wymogów prawa UE i polskiego" }, { "id": "storefront", "label": "Moduły sklepowe", "description": "Moduły rozszerzające sklep" }, { "id": "checkout", "label": "Kasa i zamówienia", "description": "Ustawienia kasy i procesu zamówienia" } ]}GET /polski/v1/settings/{group}
Section titled “GET /polski/v1/settings/{group}”Získa nastavenia z vybranej skupiny.
Parametre URL:
| Parameter | Typ | Popis |
|---|---|---|
group | string | ID skupiny nastavení |
Oprávnenia: manage_woocommerce
POST /polski/v1/settings/{group}
Section titled “POST /polski/v1/settings/{group}”Aktualizuje nastavenia vo vybranej skupine.
Oprávnenia: manage_woocommerce
Príklad požiadavky:
curl -X POST \ -u admin:XXXX-XXXX-XXXX-XXXX \ -H "Content-Type: application/json" \ -d '{"omnibus_days": 30, "withdrawal_days": 14}' \ "https://tvoj-obchod.pl/wp-json/polski/v1/settings/compliance"GET /polski/v1/checkboxes
Section titled “GET /polski/v1/checkboxes”Získa zoznam všetkých právnych checkboxov (pokladňa, registrácia, kontakt).
Oprávnenia: manage_woocommerce
GET /polski/v1/checkboxes/stats
Section titled “GET /polski/v1/checkboxes/stats”Získa štatistiky akceptácie checkboxov.
Oprávnenia: manage_woocommerce
GET /polski/v1/checkboxes/{id}
Section titled “GET /polski/v1/checkboxes/{id}”Získa podrobnosti jednotlivého checkboxu.
PUT /polski/v1/checkboxes/{id}
Section titled “PUT /polski/v1/checkboxes/{id}”Aktualizuje checkbox.
GET /polski/v1/legal-pages
Section titled “GET /polski/v1/legal-pages”Získa zoznam právnych stránok (obchodné podmienky, zásady ochrany osobných údajov atď.).
POST /polski/v1/legal-pages/generate
Section titled “POST /polski/v1/legal-pages/generate”Generuje právnu stránku na základe šablóny.
Oprávnenia: manage_woocommerce
Parametre body:
| Parameter | Typ | Povinný | Popis |
|---|---|---|---|
type | string | Áno | Typ stránky: terms, privacy, withdrawal, dsa_report |
company_name | string | Áno | Názov firmy |
company_address | string | Áno | Adresa firmy |
email | string | Áno | Kontaktná e-mailová adresa |
phone | string | Nie | Telefónne číslo |
nip | string | Nie | NIP firmy |
GET /polski/v1/search
Section titled “GET /polski/v1/search”Vyhľadávanie produktov (verejný endpoint).
Parametre query:
| Parameter | Typ | Povinný | Popis |
|---|---|---|---|
q | string | Áno | Vyhľadávacia fráza |
limit | int | Nie | Limit výsledkov (štandardne 8) |
cat | int | Nie | ID kategórie |
Oprávnenia: verejný (nevyžaduje autentifikáciu)
POST /polski/v1/wizard/complete
Section titled “POST /polski/v1/wizard/complete”Označí sprievodcu konfiguráciou ako dokončený.
Oprávnenia: manage_woocommerce
HTTP kódy odpovedí
Section titled “HTTP kódy odpovedí”| Kód | Popis |
|---|---|
| 200 | Úspech |
| 201 | Zdroj vytvorený (POST) |
| 400 | Nesprávna požiadavka (chýbajúce parametre) |
| 401 | Chýba autentifikácia |
| 403 | Chýbajú oprávnenia |
| 404 | Zdroj nebol nájdený |
| 500 | Chyba servera |
Filtrovanie odpovedí
Section titled “Filtrovanie odpovedí”Každý endpoint podporuje WordPress filter umožňujúci upravovať odpoveď:
add_filter('polski/rest/settings_response', function (array $response, WP_REST_Request $request): array { // Úprava odpovede return $response;}, 10, 2);Rate limiting
Section titled “Rate limiting”API neimplementuje vlastný rate limiting. Odporúča sa použitie pluginu alebo konfigurácie servera (napr. Cloudflare, Nginx rate limiting) pre verejné endpointy.
Nahlasovanie problémov: github.com/wppoland/polski/issues