MailLandDocs
تحلیل‌ها

نمای کلی تحلیل‌ها

پیگیری عملکرد ایمیل با خلاصه رویدادهای بلادرنگ، آمار روزانه، نرخ‌ها و معیارهای حجم ارسال

MailLand تحلیل‌های بلادرنگ مبتنی بر ClickHouse ارائه می‌دهد که تجمیع با عملکرد بالا در میلیون‌ها رویداد را ممکن می‌سازد. تحویل‌ها، بازشدن‌ها، کلیک‌ها، برگشت‌ها و شکایات را با بازه‌های زمانی انعطاف‌پذیر و فیلتر نوع ایمیل پیگیری کنید.

خلاصه رویدادها

تعداد تجمیعی رویدادها را برای یک دوره دریافت کنید:

GET https://api.mail.land/v1/transactional/analytics/events/summary
Get event summary
curl "https://api.mail.land/v1/transactional/analytics/events/summary?from=2026-01-18&to=2026-02-17" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

پارامترهای پرس‌وجو

پارامترنوعپیش‌فرضتوضیح
fromdatetime۳۰ روز پیشتاریخ شروع (نام مستعار: startDate)
todatetimeاکنونتاریخ پایان (نام مستعار: endDate)
emailTypeint-0 = تراکنشی، 1 = بازاریابی، برای همه حذف کنید
refreshboolfalseدور زدن حافظه پنهان و دریافت داده‌های تازه
Event summary response
{
  "from": "2026-01-18T00:00:00Z",
  "to": "2026-02-17T23:59:59Z",
  "sent": 142500,
  "delivered": 140325,
  "opened": 44878,
  "clicked": 5843,
  "bounced": 1125,
  "complained": 28,
  "source": "clickhouse",
  "data_source": "clickhouse",
  "is_degraded": false,
  "queryTimeMs": 45
}
فیلدتوضیح
sentایمیل‌های پذیرفته‌شده توسط MTA
deliveredتحویل موفق به سرور ایمیل گیرنده
openedپیام‌های یکتایی که دست‌کم یک رویداد بازشدن داشته‌اند: شامل فعالیت ماشینی هم می‌شود (به هشدار زیر نگاه کنید)
clickedپیام‌های یکتایی که دست‌کم یک رویداد کلیک داشته‌اند: شامل فعالیت ماشینی هم می‌شود (به هشدار زیر نگاه کنید)
bouncedخرابی‌های دائمی: برگشت‌های سخت، پیام‌های منقضی‌شده (که تلاش‌های مجدد آن‌ها تمام شده) و برگشت‌های ثبت‌شده توسط ادمین. برگشت‌های خارج‌از‌باند هنوز شمرده نمی‌شوند (نقصی شناخته‌شده که جدا پیگیری می‌شود)
complainedگیرندگانی که شکایت اسپم ثبت کردند
sourceمنبع داده: clickhouse، postgres (پشتیبان) یا cache
data_source, fallback_reason, is_degradedفیلدهایی به شکل snake_case که وضعیت افت‌کیفیت/پشتیبان را توصیف می‌کنند: تنها نقطهٔ پایانی خلاصهٔ رویدادها به PostgreSQL برمی‌گردد و در این حالت پاسخ با is_degraded: true علامت‌گذاری می‌شود؛ سایر نقاط پایانی تحلیل فقط از ClickHouse می‌خوانند
queryTimeMsزمان اجرای پرس‌وجو به میلی‌ثانیه

بازشدن‌ها و کلیک‌ها شامل فعالیت ماشینی هم می‌شوند، پیش‌بارگذاری Apple Mail Privacy Protection و اسکنرهای امنیتی لینک، که MailLand فعلاً آن‌ها را فیلتر نمی‌کند. این عددها را یک سقف بالا برای تعامل انسانی در نظر بگیرید، نه شمارشی دقیق.

پاسخ شامل هدرهای X-Cache: HIT، MISS یا FRESH است که نشان می‌دهد آیا داده‌ها از حافظه پنهان ارائه شده‌اند. از refresh=true برای اجبار به پرس‌وجوی تازه استفاده کنید.

آمار روزانه

تفکیک رویدادها به تفکیک روز را برای رسم نمودار دریافت کنید:

GET https://api.mail.land/v1/transactional/analytics/stats/daily
Get daily stats
curl "https://api.mail.land/v1/transactional/analytics/stats/daily?from=2026-01-18&to=2026-02-17" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیح
fromdatetime۷ روز کامل UTC گذشتهتاریخ شروع
todatetimeاکنونتاریخ پایان
emailTypeint-فیلتر بر اساس نوع ایمیل
Daily stats response
[
  {
    "date": "2026-02-17T00:00:00Z",
    "sent": 4750,
    "delivered": 4680,
    "opened": 1498,
    "clicked": 195,
    "bounced": 38
  },
  {
    "date": "2026-02-16T00:00:00Z",
    "sent": 4320,
    "delivered": 4260,
    "opened": 1380,
    "clicked": 175,
    "bounced": 32
  }
]

نرخ‌ها

نرخ‌های تحویل، بازشدن و کلیک را به صورت درصد دریافت کنید:

GET https://api.mail.land/v1/transactional/analytics/rates
Get rates
curl "https://api.mail.land/v1/transactional/analytics/rates?from=2026-01-18&to=2026-02-17" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیح
fromdatetime۳۰ روز پیشتاریخ شروع
todatetimeاکنونتاریخ پایان
emailTypeint-فیلتر بر اساس نوع ایمیل
Rates response
{
  "from": "2026-01-18T00:00:00Z",
  "to": "2026-02-17T23:59:59Z",
  "deliveryRate": 98.47,
  "openRate": 31.49,
  "clickRate": 13.02
}

محاسبات نرخ:

نرخفرمول
نرخ تحویلdelivered / accepted * 100 (حداکثر ۱۰۰): نه sent
نرخ بازشدنopened / delivered * 100 (حداکثر ۱۰۰)
نرخ کلیکclicked / delivered * 100 (حداکثر ۱۰۰): نه clicked / opened

هر سه پرس‌وجوی نرخ به صورت موازی برای عملکرد بهینه اجرا می‌شوند.

لینک‌های برتر

پرکلیک‌ترین لینک‌ها در ایمیل‌های شما را مشاهده کنید:

GET https://api.mail.land/v1/transactional/analytics/links/top
Get top links
curl "https://api.mail.land/v1/transactional/analytics/links/top?from=2026-01-18&to=2026-02-17&limit=10" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیح
fromdatetime۳۰ روز پیشتاریخ شروع
todatetimeاکنونتاریخ پایان
limitint10حداکثر تعداد لینک‌های بازگشتی
emailTypeint-فیلتر بر اساس نوع ایمیل
Top links response
[
  {
    "url": "https://your-app.com/orders/track",
    "clicks": 2340,
    "uniqueRecipients": 1890
  },
  {
    "url": "https://your-app.com/dashboard",
    "clicks": 1150,
    "uniqueRecipients": 980
  }
]

حجم ساعتی

حجم ارسال را به تفکیک ساعت، با پوشش خط پایه اختیاری برای تشخیص ناهنجاری ردیابی کنید:

GET https://api.mail.land/v1/transactional/analytics/volume/hourly?days=7
Get hourly volume
curl "https://api.mail.land/v1/transactional/analytics/volume/hourly?days=7" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
پارامترنوعپیش‌فرضتوضیح
daysint7دوره بازگشت به گذشته (۱ تا ۳۰)
Hourly volume response
[
  {
    "hour": "2026-02-17T14:00:00Z",
    "sent": 520,
    "baseline": 480.5
  },
  {
    "hour": "2026-02-17T13:00:00Z",
    "sent": 495,
    "baseline": 480.5
  }
]

baseline میانگین تاریخی حجم برای آن ساعت از روز است که توسط VolumeAnomalyWorker محاسبه می‌شود. اگر داده پایه‌ای موجود نباشد، مقدار null خواهد بود.

ذخیره‌سازی موقت

نقاط پایانی تحلیل‌ها برای کاهش بار پرس‌وجو در سمت سرور ذخیره می‌شوند:

نقطه پایانیمدت زمان ذخیره
events/summary (بازه پیش‌فرض)۵ دقیقه
events/summary (بازه سفارشی)۳ دقیقه
stats/daily۳ دقیقه
rates۳ دقیقه
links/top۵ دقیقه
volume/hourly۳ دقیقه

نقطهٔ پایانی events/summary درخواست‌های هم‌زمان یکسان را به ازای هر سرور ادغام می‌کند: تنها یک پرس‌وجو به ازای هر نمونهٔ API به ClickHouse می‌رسد و همهٔ فراخوانی‌های همان نمونه نتیجهٔ یکسانی دریافت می‌کنند. سایر نقاط پایانی این صفحه درخواست‌ها را ادغام نمی‌کنند؛ هر کدام نخست حافظهٔ نهان را می‌خواند و سپس پرس‌وجو می‌زند.

منابع داده

MailLand از ClickHouse به عنوان منبع اصلی داده تحلیلی برای تجمیع سریع در میلیاردها رویداد استفاده می‌کند.

تنها events/summary است که وقتی ClickHouse در دسترس نباشد یا داده‌ای برنگرداند به PostgreSQL برمی‌گردد، و در این حالت پاسخ با is_degraded: true علامت‌گذاری می‌شود. باقی نقاط پایانی تحلیل در این صفحه فقط از ClickHouse می‌خوانند و هیچ پشتیبانی ندارند.

فیلد source در پاسخ‌ها نشان می‌دهد کدام منبع داده نتیجه را ارائه کرده است. فیلد queryTimeMs به نظارت بر عملکرد کمک می‌کند.

نگه‌داری داده

داده‌های رویداد تحلیلی از پلن فضای کاری پیروی می‌کنند: لاگ‌ها در پلن Free تا ۳۰ روز، در پلن Pro تا ۹۰ روز و در پلن Max تا ۱۸۰ روز نگه‌داشته می‌شوند.

مراحل بعدی

در این صفحه