Быстрый старт
Опишите контент типом — 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 } }"}'
Что дальше
- Типы контента и поля — все типы полей, локализация, наследование.
- GraphQL-запросы — singular и plural, переменные, выбор локали.
- Фильтрация и сортировка — Where, операторы, OrderBy.