HTTP API сайта
Публикация материалов блога и приём заявок. Запись защищена токеном, чтение открыто.
Чтение
GET /api/health — статус. GET /api/blog/list — список материалов (JSON).
Публикация (нужен токен)
Заголовок Authorization: Bearer <токен>, тело JSON.
POST /api/blog/publish
{"title": "Заголовок", "description": "Описание для поиска (до 160 знаков)",
"summary": "Кратко, 1–2 предложения для ИИ и сниппета",
"category": "Автоматизация", "tags": ["n8n", "Telegram"],
"body_md": "Текст в Markdown. Раздел «## Частые вопросы» с «### вопрос» попадёт в FAQ-разметку."}
POST /api/blog/<slug>/delete — удалить материал. Сайт пересобирается автоматически, а ответ содержит адрес страницы.
Заявки
POST /api/lead с полями name, contact, type, budget, msg. Токен не нужен.
Для ИИ и поисковиков
llms.txt, llms-full.txt, ai-catalog.json, search.json, sitemap.xml, RSS. У каждой статьи есть Markdown-версия по адресу /blog/<slug>/index.md.