Public API v1

Документация API

REST API для получения контента, CRM-данных и embed-форм. Ниже — примеры запросов и типичные JSON-ответы.

Ключи API создаются в админке → API-ключи. Персонализированные примеры с slug вашего проекта — в документации для проекта.

Базовые сведения

Базовый URL
http://localhost:3000/api/v1
Проект в пути
/projects/your-project-slug/…(slug или id)
Авторизация
Authorization: Bearer cms_…— для большинства эндпоинтов. Меню, site и metrika — без ключа.
Заголовки
Accept: application/vnd.cms.v1+json
Content-Type: application/json — для POST/PATCH
Rate limit
GET: 100/минPOST/PATCH: 30/минX-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset

Формат ответа

Все ответы — JSON с полем success. При успехе — data, при ошибке — error и code.

Успех

{
  "success": true,
  "data": {
    "…": "полезная нагрузка"
  }
}

Ошибка 401

{
  "success": false,
  "error": "Unauthorized",
  "code": 401
}

Ошибка 404

{
  "success": false,
  "error": "Меню не найдено",
  "code": 404
}

Ошибка 429

{
  "success": false,
  "error": "Превышен лимит запросов. Повторите позже.",
  "code": 429
}
GET/api/v1/projects/{projectSlug}/postsAPI-ключ (Bearer)

Список постов

Опубликованные посты проекта с пагинацией.

Query-параметры

  • limitРазмер страницы (1–100) (по умолчанию: 20)
  • offsetСмещение (по умолчанию: 0)
  • sortСортировка: asc | desc (по умолчанию: desc)
  • searchПоиск (если поддерживается)
  • categorySlugФильтр по категории
  • tagSlugФильтр по тегу (посты)
GET http://localhost:3000/api/v1/projects/your-project-slug/posts?limit=10&offset=0&sort=desc
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/posts/{postSlug}API-ключ (Bearer)

Пост по slug

Один опубликованный пост.

GET http://localhost:3000/api/v1/projects/your-project-slug/posts/my-post
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/pagesAPI-ключ (Bearer)

Список страниц

Опубликованные страницы.

Query-параметры

  • limitРазмер страницы (1–100) (по умолчанию: 20)
  • offsetСмещение (по умолчанию: 0)
  • sortСортировка: asc | desc (по умолчанию: desc)
  • searchПоиск (если поддерживается)
  • categorySlugФильтр по категории
  • tagSlugФильтр по тегу (посты)
GET http://localhost:3000/api/v1/projects/your-project-slug/pages?limit=10&offset=0&sort=desc
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/pages/{pageSlug}API-ключ (Bearer)

Страница по slug

Одна опубликованная страница.

GET http://localhost:3000/api/v1/projects/your-project-slug/pages/about
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/categoriesAPI-ключ (Bearer)

Категории

Список категорий и дерево.

Query-параметры

  • limitРазмер страницы (1–100) (по умолчанию: 20)
  • offsetСмещение (по умолчанию: 0)
  • sortСортировка: asc | desc (по умолчанию: desc)
  • searchПоиск (если поддерживается)
GET http://localhost:3000/api/v1/projects/your-project-slug/categories?limit=10&offset=0&sort=desc
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/categories/{categorySlug}API-ключ (Bearer)

Категория по slug

Одна категория.

GET http://localhost:3000/api/v1/projects/your-project-slug/categories/news
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/tagsAPI-ключ (Bearer)

Теги

Список тегов проекта.

Query-параметры

  • limitРазмер страницы (1–100) (по умолчанию: 20)
  • offsetСмещение (по умолчанию: 0)
  • sortСортировка: asc | desc (по умолчанию: desc)
  • searchПоиск (если поддерживается)
GET http://localhost:3000/api/v1/projects/your-project-slug/tags?limit=10&offset=0&sort=desc
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/tags/{tagSlug}API-ключ (Bearer)

Тег по slug

Один тег.

GET http://localhost:3000/api/v1/projects/your-project-slug/tags/promo
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/menusAPI-ключ (Bearer)

Список меню

Ключи и метаданные меню.

GET http://localhost:3000/api/v1/projects/your-project-slug/menus
Authorization: Bearer cms_ВАШ_КЛЮЧ
Accept: application/vnd.cms.v1+json
GET/api/v1/projects/{projectSlug}/menus/{menuKey}Без ключа

Дерево меню

Пункты меню для встраивания на сайт. Bearer не обязателен.

Публичный доступ для фронтенда сайта.

GET http://localhost:3000/api/v1/projects/your-project-slug/menus/main
Accept: application/vnd.cms.v1+json