Dokumentacja API do programowego zarządzania stronami CMS.
Autoryzacja
Wszystkie żądania wymagają tokena API:
?api_token=TWOJ_TOKEN
Endpointy
| 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