Быстрый старт

Опишите контент типом — DynapiCMS сгенерирует для него GraphQL API: запросы, мутации, фильтры, сортировку. Этот гайд проходит путь от регистрации до первого рабочего запроса.

1. Создайте аккаунт и проект

Зарегистрируйтесь на dynapi.ru. Пароль — от 8 символов, с буквой и цифрой. После регистрации вы попадаете в личный кабинет; проектов там пока нет.

Нажмите Создать проект и введите название. DynapiCMS подготовит отдельное рабочее пространство со своей схемой и базой контента — и перенаправит вас в админку.

2. Добавьте тип контента

Тип контента — это ваша схема. Вы задаёте поля, а GraphQL API строится по ним. В боковом меню откройте Типы контента. Вы увидите набор встроенных типов — Media, Page, Navigation, Author и около тридцати блоков для сборки лендингов (Hero, Text, Gallery, CTA и т. д.). Они нужны для сайта и медиабиблиотеки; сейчас добавим свой.

Нажмите Создать тип контента. Заполните имя и slug:

Поле Значение
Name Blog Post
Slug blog-post

Slug задаёт имена в GraphQL: blogPost для одной записи, blogPosts для списка, createBlogPost для мутации. Кебаб-кейс, латиница.

В блоке Добавить поле добавьте три поля:

Field name Type Required
title String да
body Text
published Boolean

Тип Text — это markdown-редактор с панелью инструментов и предпросмотром.

Нажмите Создать. Схема пересобирается в рантайме — поля blogPost и blogPosts появятся в GraphQL через секунду, без рестарта и без миграций. Появится сообщение «Тип контента создан», и вы попадёте в список элементов типа.

3. Добавьте запись

В списке элементов нажмите Создать элемент. Заполните title, body (markdown) и переключите published. Нажмите Сохранить — запись сразу доступна через API, отдельного шага публикации нет.

4. Запросите данные

Откройте GraphQL Playground в боковом меню. Playground работает под вашей авторизацией — токен подставляется автоматически. Выполните:

query {
  blogPosts(limit: 50) {
    id
    title
    body
    published
    created_at
  }
}

limit нужен, чтобы увидеть весь список — по умолчанию возвращается 10 записей.

Тот же API доступен извне через JWT или API-ключ. Ключ создаётся в разделе API ключи (API Keys):

curl -s https://dynapi.ru/cms/graphql \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $KEY" \
  -d '{"query":"{ blogPosts(limit: 50) { id title } }"}'

Что дальше