Preskočiť na obsah

REST API

REST API v namespace polski/v1/. Spravuj nastavenia, právne checkboxy, právne stránky a vyhľadávanie produktov.

Endpointy, ktoré upravujú údaje (POST, PUT, DELETE), vyžadujú overenie. Endpoint /search je verejný.

Podporované metódy overovania:

  • Application Passwords (WordPress 5.6+) - odporúčané
  • Cookie + nonce - pre požiadavky z admin panela
  • Basic Auth (s pluginom Basic Auth) - len pre vývoj

Vyžadované oprávnenie: manage_woocommerce (predvolene rola Administrátor a Manažér obchodu).

Načíta všetky skupiny nastavení pluginu.

Oprávnenia: manage_woocommerce

Príklad požiadavky:

Okno terminala
curl -u admin:XXXX-XXXX-XXXX-XXXX \
"https://tvojobchod.sk/wp-json/polski/v1/settings"

Príklad odpovede:

{
"groups": [
{
"id": "general",
"label": "Všeobecné nastavenia",
"description": "Základná konfigurácia pluginu"
},
{
"id": "compliance",
"label": "Právne požiadavky",
"description": "Nastavenia právnych požiadaviek EÚ a poľského práva"
},
{
"id": "storefront",
"label": "Moduly obchodu",
"description": "Moduly rozširujúce obchod"
},
{
"id": "checkout",
"label": "Pokladňa a objednávky",
"description": "Nastavenia pokladne a procesu objednávky"
}
]
}

Načíta nastavenia z vybranej skupiny.

Parametre URL:

ParameterTypPopis
groupstringID skupiny nastavení

Oprávnenia: manage_woocommerce

Príklad požiadavky:

Okno terminala
curl -u admin:XXXX-XXXX-XXXX-XXXX \
"https://tvojobchod.sk/wp-json/polski/v1/settings/compliance"

Príklad odpovede:

{
"group": "compliance",
"settings": {
"omnibus_enabled": true,
"omnibus_days": 30,
"gpsr_enabled": true,
"withdrawal_enabled": true,
"withdrawal_days": 14,
"dsa_enabled": true,
"ksef_enabled": false,
"greenwashing_enabled": true
}
}

Aktualizuje nastavenia vo vybranej skupine.

Oprávnenia: manage_woocommerce

Príklad požiadavky:

Okno terminala
curl -X POST \
-u admin:XXXX-XXXX-XXXX-XXXX \
-H "Content-Type: application/json" \
-d '{"omnibus_days": 30, "withdrawal_days": 14}' \
"https://tvojobchod.sk/wp-json/polski/v1/settings/compliance"

Príklad odpovede:

{
"updated": true,
"group": "compliance",
"changes": {
"omnibus_days": 30,
"withdrawal_days": 14
}
}

Načíta zoznam všetkých právnych checkboxov (pokladňa, registrácia, kontakt).

Oprávnenia: manage_woocommerce

Príklad odpovede:

{
"checkboxes": [
{
"id": 1,
"label": "Súhlasím s obchodnými podmienkami",
"required": true,
"location": "checkout",
"enabled": true,
"position": 10,
"legal_page_id": 45
},
{
"id": 2,
"label": "Oboznámil som sa so zásadami ochrany osobných údajov",
"required": true,
"location": "checkout",
"enabled": true,
"position": 20,
"legal_page_id": 47
}
],
"total": 2
}

Načíta štatistiky akceptácie checkboxov.

Oprávnenia: manage_woocommerce

Príklad odpovede:

{
"stats": [
{
"checkbox_id": 1,
"label": "Súhlasím s obchodnými podmienkami",
"total_shown": 1250,
"total_accepted": 1180,
"acceptance_rate": 94.4
}
]
}

Načíta podrobnosti jednotlivého checkboxu.

Parametre URL:

ParameterTypPopis
idintID checkboxu

Oprávnenia: manage_woocommerce

Príklad odpovede:

{
"id": 1,
"label": "Súhlasím s obchodnými podmienkami",
"required": true,
"location": "checkout",
"enabled": true,
"position": 10,
"legal_page_id": 45,
"created_at": "2025-01-15T10:30:00",
"updated_at": "2025-06-01T14:22:00",
"stats": {
"total_shown": 1250,
"total_accepted": 1180,
"acceptance_rate": 94.4
}
}

Aktualizuje checkbox.

Oprávnenia: manage_woocommerce

Príklad požiadavky:

Okno terminala
curl -X PUT \
-u admin:XXXX-XXXX-XXXX-XXXX \
-H "Content-Type: application/json" \
-d '{"label": "Súhlasím s podmienkami", "required": true}' \
"https://tvojobchod.sk/wp-json/polski/v1/checkboxes/1"

Načíta zoznam právnych stránok (obchodné podmienky, zásady ochrany osobných údajov atď.).

Oprávnenia: manage_woocommerce

Príklad odpovede:

{
"pages": [
{
"id": 45,
"type": "terms",
"title": "Obchodné podmienky",
"status": "publish",
"url": "https://tvojobchod.sk/obchodne-podmienky/",
"last_modified": "2025-06-01T14:00:00",
"word_count": 3200
},
{
"id": 47,
"type": "privacy",
"title": "Zásady ochrany osobných údajov",
"status": "publish",
"url": "https://tvojobchod.sk/ochrana-osobnych-udajov/",
"last_modified": "2025-05-15T09:30:00",
"word_count": 2800
}
],
"total": 2
}

Vygeneruje právnu stránku na základe šablóny.

Oprávnenia: manage_woocommerce

Parametre body:

ParameterTypVyžadovanýPopis
typestringÁnoTyp stránky: terms, privacy, withdrawal, dsa_report
company_namestringÁnoNázov firmy
company_addressstringÁnoAdresa firmy
emailstringÁnoKontaktná e-mailová adresa
phonestringNieTelefónne číslo
nipstringNieNIP firmy

Príklad požiadavky:

Okno terminala
curl -X POST \
-u admin:XXXX-XXXX-XXXX-XXXX \
-H "Content-Type: application/json" \
-d '{"type": "terms", "company_name": "Môj Obchod s.r.o.", "company_address": "Príkladová 1, 811 01 Bratislava", "email": "[email protected]"}' \
"https://tvojobchod.sk/wp-json/polski/v1/legal-pages/generate"

Príklad odpovede:

{
"page_id": 120,
"type": "terms",
"title": "Obchodné podmienky",
"url": "https://tvojobchod.sk/obchodne-podmienky/",
"status": "draft"
}

Vyhľadávanie produktov (verejný endpoint).

Parametre query:

ParameterTypVyžadovanýPopis
qstringÁnoVyhľadávacia fráza
limitintNieLimit výsledkov (predvolene 8)
catintNieID kategórie

Oprávnenia: verejný (nevyžaduje overenie)

Príklad požiadavky:

Okno terminala
curl "https://tvojobchod.sk/wp-json/polski/v1/search?q=topanky&limit=5"

Príklad odpovede:

{
"results": [
{
"id": 456,
"title": "Športové topánky Nike",
"url": "https://tvojobchod.sk/produkt/sportove-topanky-nike/",
"image": "https://tvojobchod.sk/wp-content/uploads/topanky-nike.jpg",
"price_html": "<span class=\"amount\">29,90&nbsp;EUR</span>",
"category": "Obuv",
"in_stock": true,
"rating": 4.8
}
],
"total": 1,
"query": "topanky"
}

Označí konfiguračného sprievodcu ako dokončeného.

Oprávnenia: manage_woocommerce

Parametre body:

ParameterTypVyžadovanýPopis
steps_completedarrayÁnoZoznam dokončených krokov

Príklad požiadavky:

Okno terminala
curl -X POST \
-u admin:XXXX-XXXX-XXXX-XXXX \
-H "Content-Type: application/json" \
-d '{"steps_completed": ["company_info", "legal_pages", "checkboxes", "compliance"]}' \
"https://tvojobchod.sk/wp-json/polski/v1/wizard/complete"

Príklad odpovede:

{
"completed": true,
"completed_at": "2025-06-15T12:00:00",
"steps": {
"company_info": true,
"legal_pages": true,
"checkboxes": true,
"compliance": true
}
}
KódPopis
200Úspech
201Zdroj vytvorený (POST)
400Nesprávna požiadavka (chýbajúce parametre)
401Chýba overenie
403Chýbajú oprávnenia
404Zdroj nenájdený
500Chyba servera

Každý endpoint má filter na úpravu odpovede:

add_filter('polski/rest/settings_response', function (array $response, WP_REST_Request $request): array {
// Úprava odpovede
return $response;
}, 10, 2);

Žiadny zabudovaný rate limiting. Použi Cloudflare, Nginx alebo plugin na limitovanie verejných endpointov.

Hlásenie problémov: github.com/wppoland/polski/issues

Táto stránka má výlučne informatívny charakter a nepredstavuje právne poradenstvo. Pred nasadením sa poraďte s právnikom. Polski for WooCommerce je open source softvér (GPLv2) poskytovaný bez záruky.