Добавление страницы

POST /core/pages/items/add

Описание

Этот эндпоинт позволяет создать новую страницу с заданными параметрами, включая SEO-настройки и пользовательские поля. Ответ содержит данные созданной страницы.

Параметры запроса

Обязательные параметры:

  • name — название страницы
  • url — URL страницы
  • fields — массив пользовательских полей
  • seo — массив SEO-настроек

Пример:
POST
/core/pages/items/add

Отправляемы данные FormData:

1{
2  "name": "contacts",
3  "url": "contacts-page",
4  "title": "Contact Us",
5  "seo": [
6    {
7      "name": "title",
8      "type": "text",
9      "value": "Contact Us Page"
10    },
11    {
12      "name": "description",
13      "type": "text",
14      "value": "This is the contact us page description."
15    }
16  ],
17  "fields": [
18    {
19      "name": "background",
20      "type": "color",
21      "value": "#f0f0f0"
22    },
23    {
24      "name": "layout",
25      "type": "text",
26      "value": "default"
27    }
28  ],
29  "active": true
30}

Ответ

Возвращается в формате JSON и содержит следующие ключевые поля:

  • id — Уникальный идентификатор страницы (генерируется автоматически).
  • name — Название страницы.
  • url — URL страницы.
  • title — Заголовок страницы.
  • seo — Массив SEO-настроек страницы.
  • fields — Массив пользовательских полей страницы.
  • active — Статус активности страницы (true / false).
  • hits — Количество обращений к странице.
  • sort — Порядок сортировки страницы.
POST
/core/pages/items/add

При успешном запросе, ответ будет выглядеть так:

1{
2  "status": "success",
3  "payload": {
4    "id": 452,
5    "name": "about",
6    "url": "about-us",
7    "title": "About Us",
8    "seo": [
9      {
10        "name": "title",
11        "type": "text",
12        "value": "About Us Page"
13      },
14      {
15        "name": "description",
16        "type": "text",
17        "value": "Description of the about us page."
18      }
19    ],
20    "fields": [
21      {
22        "name": "layout",
23        "type": "text",
24        "value": "single-column"
25      },
26      {
27        "name": "backgroundColor",
28        "type": "color",
29        "value": "#ffffff"
30      }
31    ],
32    "active": true,
33    "hits": 10,
34    "sort": 50,
35    "createdAt": "2024-11-24T17:45:00.000Z",
36    "updatedAt": "2024-11-24T17:45:00.000Z"
37  }
38}

Интерфейс

1interface IPages {
2  id: number | null;
3  name: string;
4  url: string;
5  title: string;
6  seo: any[];
7  fields: Fields;
8  active: boolean;
9  hits: number;
10  sort: number;
11}
12
13interface Fields {
14  [key: string]: {
15    type: string;
16    value: any;
17  };
18}