ДокументацияРуководство РазработчикаИнструменты Контент-Маркетинга и Блога

📝 Инструменты контента и маркетинга

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


👁️ Предварительный просмотр CMS в реальном времени (Next.js Draft Mode)

Витрина полностью интегрирована с механизмом Preview в Strapi и режимом Draft Mode в Next.js. Это позволяет редакторам видеть черновики материалов прямо на реальном шаблоне сайта до публикации.

Рабочий процесс предварительного просмотра:

  1. Запуск: Редактор нажимает кнопку Preview в панели Strapi.
  2. Валидация: Strapi перенаправляет на эндпоинт api/preview/route.ts с подписанным URL, содержащим REVALIDATE_SECRET.
  3. Активация Draft Mode: Сервер проверяет HMAC-хэш с помощью node:crypto и активирует режим черновика, устанавливая защищенную сессионную cookie.
  4. Отображение вживую: Пользователь перенаправляется на целевую страницу и видит предварительную версию контента.
Единый ключ с REVALIDATE_SECRET
Для упрощения конфигурации предпросмотр Strapi и вебхуки ISR используют одну и ту же переменную окружения REVALIDATE_SECRET в корневом файле .env, избавляя от необходимости задавать лишние ключи.

📨 Подписка на рассылку и защита от спама (Rate Limiting)

Форма подписки на рассылку (роут api/newsletter/route.ts) напрямую подключена к CRM SendPulse.

Безопасность через ограничение частоты запросов

Для предотвращения спам-атак ботов и исчерпания лимитов внешнего API эндпоинт использует встроенный Rate Limiter по IP-адресу.

  • Максимум запросов: 2 попытки
  • Временное окно: 1 час (60 * 60 * 1000 мс)
  • Отслеживание: IP-адрес извлекается из заголовка x-forwarded-for и отслеживается в кэше памяти сервера.
  • При превышении лимита сервер возвращает ошибку 429 Too Many Requests.
.env (Переменные SendPulse)
bash
SENDPULSE_API_ID=your_api_id
SENDPULSE_API_SECRET=your_api_secret
SENDPULSE_BOOK_ID=your_target_mailing_list_id