مستنداتبخش برنامه نویسانمحتوا و مارکتینگ

📝 ویژگی‌های محتوا و مارکتینگ

پلتفرم دارای ابزارهای یکپارچه برای تیم‌های محتوا و بازاریابی است تا انعطاف‌پذیری بالا را بدون افت امنیت و پرفورمنس تجربه کنند.


👁️ پیش‌نمایش زنده CMS (Next.js Draft Mode)

فروشگاه به صورت کامل با سیستم Preview در استرپی و مکانیزم Next.js Draft Mode یکپارچه شده است. این قابلیت به تیم تحریریه اجازه می‌دهد تا محتوای منتشرنشده (Draft) را مستقیماً در قالب واقعی فرانت‌اند مشاهده کنند.

گردش کار (Workflow):

  1. شروع: مدیر محتوا روی دکمه Preview در پنل Strapi کلیک می‌کند.
  2. اعتبارسنجی: استرپی کاربر را به مسیر api/preview/route.ts به همراه یک URL امضا شده حاوی REVALIDATE_SECRET می‌فرستد.
  3. فعال‌سازی Draft Mode: سرور با استفاده از node:crypto هش HMAC را اعتبارسنجی کرده و در صورت صحت، Draft Mode را روشن می‌کند (ارسال کوکی نشست امن).
  4. رندر زنده: کاربر به صفحه مورد نظر ریدایرکت شده و نسخه Draft محتوا را می‌بیند.
یکپارچگی سکرت با REVALIDATE_SECRET
برای سادگی در پیکربندی و امنیت یکپارچه، پیش‌نمایش استرپی و وب‌هوک‌های بازتولید آنی (ISR) هر دو از متغیر واحد REVALIDATE_SECRET در فایل .env استفاده می‌کنند و نیازی به تعریف کلید مجزا برای پیش‌نمایش نیست.

📨 خبرنامه و ضد-اسپم (Anti-Spam Rate Limiting)

سیستم عضویت در خبرنامه (مسیر api/newsletter/route.ts) مستقیماً به CRM قدرتمند SendPulse متصل است.

امنیت از طریق Rate Limiting

برای جلوگیری از سوءاستفاده ربات‌ها (Bot Abuse) و پر شدن دیتابیس خبرنامه یا تمام شدن سقف درخواست‌های API شخص ثالث، این اندپوینت از یک Rate Limiter بومی و مبتنی بر IP استفاده می‌کند.

  • حداکثر درخواست مجاز: ۲ درخواست
  • بازه زمانی (Window): ۱ ساعت (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