ProHelper Landing Admin API (1.0.0)

Download OpenAPI specification:Download

Спецификация API админ-панели (Landing Admin). Добавляйте пути через $ref в папку paths/.

Auth

Login

Request Body schema: application/json
email
required
string <email>
password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Current admin

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "user@example.com",
  • "role": "string",
  • "is_super": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Refresh token

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Logout

Authorizations:
bearerAuth

Responses

LandingAdmins

List landing admins

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create landing admin

Authorizations:
bearerAuth
Request Body schema: application/json
name
required
string <= 255 characters
email
required
string <email>
password
required
string >= 8 characters
role
string

Роль администратора

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "user@example.com",
  • "password": "stringst",
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "user@example.com",
  • "role": "string",
  • "is_super": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get landing admin

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "user@example.com",
  • "role": "string",
  • "is_super": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update landing admin

Authorizations:
bearerAuth
path Parameters
id
required
integer
Request Body schema: application/json
name
string <= 255 characters
email
string <email>
password
string >= 8 characters
role
string

Роль администратора

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "user@example.com",
  • "password": "stringst",
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "user@example.com",
  • "role": "string",
  • "is_super": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete landing admin

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Blog Dashboard

Обзор блога

Возвращает общую статистику блога: количество статей, комментариев, популярные статьи

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "articles": {
    },
  • "categories": {
    },
  • "tags": {
    },
  • "comments": {
    },
  • "popular_articles": [
    ],
  • "recent_articles": [
    ],
  • "recent_comments": [
    ]
}

Аналитика блога

Детальная аналитика с графиками и статистикой за период

Authorizations:
bearerAuth
query Parameters
period
string
Default: "month"
Enum: "week" "month" "quarter" "year"
start_date
string <date>
end_date
string <date>

Responses

Response samples

Content type
application/json
{
  • "articles_by_date": [
    ],
  • "comments_by_date": [
    ],
  • "views_by_date": [
    ],
  • "categories_stats": [
    ],
  • "tags_stats": [
    ],
  • "authors_stats": [
    ],
  • "top_articles": [
    ]
}

Быстрая статистика

Сравнение показателей сегодня/вчера, этот/прошлый месяц

Authorizations:
bearerAuth

Responses

Blog Articles

Список статей

Получение списка статей с фильтрацией и поиском

Authorizations:
bearerAuth
query Parameters
status
string
Enum: "draft" "published" "scheduled" "archived"
category_id
integer
author_id
integer
search
string
per_page
integer
Default: 15

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": { },
  • "links": { }
}

Создание статьи

Создание новой статьи блога

Authorizations:
bearerAuth
Request Body schema: application/json
title
required
string <= 255 characters

Заголовок статьи

slug
string or null <= 255 characters

URL slug (будет сгенерирован автоматически, если не указан)

category_id
required
integer

ID категории блога

excerpt
string or null <= 500 characters

Краткое описание статьи

content
required
string

Содержимое статьи в HTML

featured_image
string or null

URL главного изображения

gallery_images
Array of strings or null

Массив URL изображений галереи

meta_title
string or null <= 60 characters

Meta title для SEO (до 60 символов)

meta_description
string or null <= 160 characters

Meta description для SEO (до 160 символов)

meta_keywords
Array of strings or null

Ключевые слова для SEO

og_title
string or null <= 60 characters

Open Graph title

og_description
string or null <= 200 characters

Open Graph description

og_image
string or null

Open Graph изображение

status
required
string
Enum: "draft" "published" "scheduled" "archived"

Статус статьи

published_at
string or null <date-time>

Дата публикации (для статуса published)

scheduled_at
string or null <date-time>

Дата запланированной публикации (для статуса scheduled)

is_featured
boolean or null

Рекомендуемая статья

allow_comments
boolean or null

Разрешить комментарии

is_published_in_rss
boolean or null

Включить в RSS-ленту

noindex
boolean or null

Запретить индексацию поисковыми системами

sort_order
integer or null >= 0

Порядок сортировки

tags
Array of strings or null

Массив названий тегов (существующие или новые)

Responses

Request samples

Content type
application/json
{
  • "title": "Как создать SEO-оптимизированный блог",
  • "slug": "kak-sozdat-seo-optimizirovannyj-blog",
  • "category_id": 1,
  • "excerpt": "Краткое описание статьи для превью",
  • "content": "<p>Полное содержимое статьи в HTML формате</p>",
  • "featured_image": "/storage/blog/images/article-1.jpg",
  • "gallery_images": [
    ],
  • "meta_title": "Как создать SEO-оптимизированный блог | ProHelper",
  • "meta_description": "Подробное руководство по созданию блога с учетом SEO требований.",
  • "meta_keywords": [
    ],
  • "og_title": "Как создать SEO-оптимизированный блог",
  • "og_description": "Узнайте, как создать блог, который будет привлекать трафик",
  • "og_image": "/storage/blog/images/og-article-1.jpg",
  • "status": "draft",
  • "published_at": "2025-01-19T15:30:00.000000Z",
  • "scheduled_at": "2025-01-20T10:00:00.000000Z",
  • "is_featured": false,
  • "allow_comments": true,
  • "is_published_in_rss": true,
  • "noindex": false,
  • "sort_order": 0,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Получение статьи

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Обновление статьи

Authorizations:
bearerAuth
path Parameters
id
required
integer
Request Body schema: application/json
title
string <= 255 characters

Заголовок статьи

slug
string or null <= 255 characters

URL slug

category_id
integer

ID категории блога

excerpt
string or null <= 500 characters

Краткое описание статьи

content
string

Содержимое статьи в HTML

featured_image
string or null

URL главного изображения

gallery_images
Array of strings or null

Массив URL изображений галереи

meta_title
string or null <= 60 characters

Meta title для SEO (до 60 символов)

meta_description
string or null <= 160 characters

Meta description для SEO (до 160 символов)

meta_keywords
Array of strings or null

Ключевые слова для SEO

og_title
string or null <= 60 characters

Open Graph title

og_description
string or null <= 200 characters

Open Graph description

og_image
string or null

Open Graph изображение

status
string
Enum: "draft" "published" "scheduled" "archived"

Статус статьи

published_at
string or null <date-time>

Дата публикации

scheduled_at
string or null <date-time>

Дата запланированной публикации

is_featured
boolean or null

Рекомендуемая статья

allow_comments
boolean or null

Разрешить комментарии

is_published_in_rss
boolean or null

Включить в RSS-ленту

noindex
boolean or null

Запретить индексацию поисковыми системами

sort_order
integer or null >= 0

Порядок сортировки

tags
Array of strings or null

Массив названий тегов (существующие или новые)

Responses

Request samples

Content type
application/json
{
  • "title": "Как создать SEO-оптимизированный блог (обновлено)",
  • "slug": "kak-sozdat-seo-optimizirovannyj-blog",
  • "category_id": 2,
  • "excerpt": "Обновленное краткое описание статьи",
  • "content": "<p>Обновленное содержимое статьи в HTML формате</p>",
  • "featured_image": "/storage/blog/images/article-1-updated.jpg",
  • "gallery_images": [
    ],
  • "meta_title": "Как создать SEO-оптимизированный блог | ProHelper",
  • "meta_description": "Обновленное руководство по созданию блога.",
  • "meta_keywords": [
    ],
  • "og_title": "Как создать SEO-оптимизированный блог",
  • "og_description": "Обновленное описание для социальных сетей",
  • "og_image": "/storage/blog/images/og-article-1.jpg",
  • "status": "published",
  • "published_at": "2025-01-19T15:30:00.000000Z",
  • "scheduled_at": "2025-01-20T10:00:00.000000Z",
  • "is_featured": true,
  • "allow_comments": true,
  • "is_published_in_rss": true,
  • "noindex": false,
  • "sort_order": 5,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Удаление статьи

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Публикация статьи

Немедленная публикация статьи или в указанное время

Authorizations:
bearerAuth
path Parameters
id
required
integer
Request Body schema: application/json
publish_at
string <date-time>

Время публикации (опционально)

Responses

Request samples

Content type
application/json
{
  • "publish_at": "2019-08-24T14:15:22Z"
}

Планирование статьи

Запланировать публикацию статьи на определенное время

Authorizations:
bearerAuth
path Parameters
id
required
integer
Request Body schema: application/json
scheduled_at
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "scheduled_at": "2019-08-24T14:15:22Z"
}

Архивирование статьи

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Дублирование статьи

Создает копию статьи в статусе черновика

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "data": {
    }
}

Генерация SEO данных

Автоматическая генерация SEO данных для статьи

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Запланированные статьи

Список статей, запланированных к публикации

Authorizations:
bearerAuth

Responses

Черновики автора

Черновики текущего автора

Authorizations:
bearerAuth

Responses

Blog Categories

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

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Создание категории

Authorizations:
bearerAuth
Request Body schema: application/json
name
required
string <= 255 characters

Название категории

slug
string or null <= 255 characters

URL slug (будет сгенерирован автоматически, если не указан)

description
string or null <= 1000 characters

Описание категории

meta_title
string or null <= 60 characters

Meta title для SEO

meta_description
string or null <= 160 characters

Meta description для SEO

color
string or null^#[0-9a-fA-F]{6}$

Цвет категории в формате #RRGGBB

image
string or null

URL изображения категории

sort_order
integer or null >= 0

Порядок сортировки

is_active
boolean or null

Активность категории

Responses

Request samples

Content type
application/json
{
  • "name": "SEO и Маркетинг",
  • "slug": "seo-i-marketing",
  • "description": "Статьи о поисковой оптимизации и маркетинге",
  • "meta_title": "SEO и Маркетинг | ProHelper Blog",
  • "meta_description": "Советы по SEO-оптимизации и маркетинговые стратегии для бизнеса",
  • "color": "#007bff",
  • "image": "/storage/blog/categories/seo-marketing.jpg",
  • "sort_order": 0,
  • "is_active": true
}

Получение категории

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Обновление категории

Authorizations:
bearerAuth
path Parameters
id
required
integer
Request Body schema: application/json
name
required
string <= 255 characters

Название категории

slug
string or null <= 255 characters

URL slug (будет сгенерирован автоматически, если не указан)

description
string or null <= 1000 characters

Описание категории

meta_title
string or null <= 60 characters

Meta title для SEO

meta_description
string or null <= 160 characters

Meta description для SEO

color
string or null^#[0-9a-fA-F]{6}$

Цвет категории в формате #RRGGBB

image
string or null

URL изображения категории

sort_order
integer or null >= 0

Порядок сортировки

is_active
boolean or null

Активность категории

Responses

Request samples

Content type
application/json
{
  • "name": "SEO и Маркетинг",
  • "slug": "seo-i-marketing",
  • "description": "Статьи о поисковой оптимизации и маркетинге",
  • "meta_title": "SEO и Маркетинг | ProHelper Blog",
  • "meta_description": "Советы по SEO-оптимизации и маркетинговые стратегии для бизнеса",
  • "color": "#007bff",
  • "image": "/storage/blog/categories/seo-marketing.jpg",
  • "sort_order": 0,
  • "is_active": true
}

Удаление категории

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Изменение порядка категорий

Authorizations:
bearerAuth
Request Body schema: application/json
category_ids
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "category_ids": [
    ]
}

Blog Comments

Список комментариев

Authorizations:
bearerAuth
query Parameters
status
string
Enum: "pending" "approved" "rejected" "spam"
article_id
integer
per_page
integer
Default: 20

Responses

Получение комментария

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Удаление комментария

Authorizations:
bearerAuth
path Parameters
id
required
integer

Responses

Изменение статуса комментария

Authorizations:
bearerAuth
path Parameters
id
required
integer
Request Body schema: application/json
status
required
string
Enum: "pending" "approved" "rejected" "spam"

Новый статус комментария

comment_ids
Array of integers

Массив ID комментариев (для массовых операций)

Responses

Request samples

Content type
application/json
{
  • "status": "approved",
  • "comment_ids": [
    ]
}

Массовое изменение статуса

Изменение статуса нескольких комментариев одновременно

Authorizations:
bearerAuth
Request Body schema: application/json
status
required
string
Enum: "approved" "rejected" "spam"
comment_ids
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "status": "approved",
  • "comment_ids": [
    ]
}

Ожидающие комментарии

Authorizations:
bearerAuth

Responses

Последние комментарии

Authorizations:
bearerAuth

Responses

Статистика комментариев

Authorizations:
bearerAuth

Responses

Blog SEO

Получение SEO настроек

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Обновление SEO настроек

Authorizations:
bearerAuth
Request Body schema: application/json
id
integer
site_name
string

Название сайта

site_description
string or null

Описание сайта

site_keywords
Array of strings or null

Ключевые слова сайта

default_og_image
string or null

Изображение по умолчанию для Open Graph

auto_generate_meta_description
boolean

Автоматически генерировать meta description

meta_description_length
integer

Максимальная длина meta description

enable_breadcrumbs
boolean

Включить хлебные крошки

enable_structured_data
boolean

Включить структурированные данные

enable_sitemap
boolean

Включить генерацию sitemap

enable_rss
boolean

Включить RSS-ленту

robots_txt
string or null

Содержимое robots.txt

social_media_links
object or null

Ссылки на социальные сети

google_analytics_id
string or null

Google Analytics ID

yandex_metrica_id
string or null

Yandex Metrica ID

google_search_console_verification
string or null

Код верификации Google Search Console

yandex_webmaster_verification
string or null

Код верификации Yandex Webmaster

created_at
string <date-time>
updated_at
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "site_name": "ProHelper Blog",
  • "site_description": "Блог о технологиях и бизнесе",
  • "site_keywords": [
    ],
  • "default_og_image": "/storage/blog/default-og.jpg",
  • "auto_generate_meta_description": true,
  • "meta_description_length": 160,
  • "enable_breadcrumbs": true,
  • "enable_structured_data": true,
  • "enable_sitemap": true,
  • "enable_rss": true,
  • "robots_txt": "User-agent: *\nAllow: /\nDisallow: /admin/\nSitemap: https://example.com/blog/sitemap.xml\n",
  • "social_media_links": {},
  • "google_analytics_id": "GA-XXXXXXXX-X",
  • "yandex_metrica_id": "12345678",
  • "google_search_console_verification": "verification_code_here",
  • "yandex_webmaster_verification": "verification_code_here",
  • "created_at": "2025-01-15T10:00:00.000000Z",
  • "updated_at": "2025-01-19T14:30:00.000000Z"
}

Генерация sitemap.xml

Генерирует XML sitemap для поисковых систем

Authorizations:
bearerAuth

Responses

Генерация RSS-ленты

Authorizations:
bearerAuth

Responses

Генерация robots.txt

Authorizations:
bearerAuth

Responses

Предпросмотр sitemap

Предпросмотр XML sitemap в JSON формате

Authorizations:
bearerAuth

Responses

Предпросмотр RSS

Authorizations:
bearerAuth

Responses

Предпросмотр robots.txt

Authorizations:
bearerAuth

Responses