Sugester V2

API CMS - endpointy i przykłady

Aktualizacja: Wyświetleń: 4

Dokumentacja API do programowego zarządzania stronami CMS.

Autoryzacja

Wszystkie żądania wymagają tokena API:

?api_token=TWOJ_TOKEN

Endpointy

Zasób GET (lista) GET (jeden) POST PUT DELETE
Sites /cms/sites.json /cms/sites/:id.json
Layouts /cms/layouts.json /cms/layouts/:id.json
Pages /cms/pages.json /cms/pages/:id.json
Paragraphs /cms/paragraphs.json /cms/paragraphs/:id.json

Sites (Witryny)

Lista witryn

curl "https://domena.com/cms/sites.json?api_token=TOKEN"

Tworzenie witryny

curl -X POST "https://domena.com/cms/sites.json?api_token=TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "site": {
      "name": "Moja Witryna",
      "description": "Opis witryny",
      "layout_id": 1018
    }
  }'

Layouts (Szablony)

Tworzenie layoutu

curl -X POST "https://domena.com/cms/layouts.json?api_token=TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "layout": {
      "name": "Marketing Layout",
      "kind": "page",
      "content": "<!DOCTYPE html>...{{ paragraphs }}..."
    }
  }'

Aktualizacja layoutu

curl -X PUT "https://domena.com/cms/layouts/1018.json?api_token=TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "layout": {
      "content": "<!DOCTYPE html>..."
    }
  }'

Pages (Strony)

Lista stron witryny

curl "https://domena.com/cms/pages.json?api_token=TOKEN&site_id=1018"

Tworzenie strony

curl -X POST "https://domena.com/cms/pages.json?api_token=TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "page": {
      "name": "Dashboard PL",
      "path": "Dashboard",
      "site_id": 1018,
      "layout_id": 1018,
      "priority": "0.9",
      "fields": {
        "lang": "pl",
        "title": "MojaFirma Dashboard",
        "tagline": "Monitoring mikroklimatu"
      }
    }
  }'

Aktualizacja pól strony

curl -X PUT "https://domena.com/cms/pages/1030.json?api_token=TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "page": {
      "fields": {
        "og_image": "https://example.com/og.jpg",
        "html_description": "Nowy opis"
      }
    }
  }'

Uwaga: PUT nadpisuje cały obiekt fields - podaj wszystkie pola!

Paragraphs (Paragrafy)

Lista paragrafów

curl "https://domena.com/cms/paragraphs.json?api_token=TOKEN&page_id=1030"

Tworzenie paragrafu

curl -X POST "https://domena.com/cms/paragraphs.json?api_token=TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "paragraph": {
      "name": "Hero Section",
      "kind": "text",
      "priority": 100,
      "page_id": 1030,
      "content": "<section class=\"hero\">...</section>"
    }
  }'

Filtrowanie i paginacja

# Paginacja
?page=1&per_page=50

# Filtrowanie po site
?site_id=1018

# Filtrowanie po stronie
?page_id=1030

Odpowiedzi

Sukces (200/201)

{
  "id": 1030,
  "name": "Dashboard PL",
  "path": "Dashboard",
  "fields": {...},
  "created_at": "2025-12-30T10:00:00+01:00"
}

Błąd walidacji (422)

{
  "errors": {
    "path": ["już istnieje"]
  }
}

Przykład: Aktualizacja SEO wielu stron

for page_id in 1028 1029 1030; do
  curl -X PUT "https://domena.com/cms/pages/$page_id.json?api_token=TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"page": {"fields": {"og_image": "https://cdn.example.com/og.jpg"}}}'
done

Czy ten wpis był pomocny?

Customer Reviews

Brak komentarzy

Dodaj komentarz