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منذ 30 يومًاتاريخ البداية (الاسم المستعار: 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آخر 7 أيام 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منذ 30 يومًاتاريخ البداية
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 (بحد أقصى 100): وليس sent
معدل الفتحopened / delivered * 100 (بحد أقصى 100)
معدل النقرclicked / delivered * 100 (بحد أقصى 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منذ 30 يومًاتاريخ البداية
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فترة الاسترجاع (1–30)
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 (النطاق الافتراضي)5 دقائق
events/summary (نطاق مخصص)3 دقائق
stats/daily3 دقائق
rates3 دقائق
links/top5 دقائق
volume/hourly3 دقائق

تُدمج نقطة النهاية events/summary الطلبات المتزامنة المتطابقة على مستوى كل خادم: يصل استعلام واحد فقط إلى ClickHouse لكل نسخة من الـ API، ويتلقى جميع المتصلين بتلك النسخة النتيجة ذاتها. أما نقاط النهاية الأخرى في هذه الصفحة فلا تدمج الطلبات؛ كل طلب يقرأ من ذاكرة التخزين المؤقت ثم يستعلم بشكل منفصل.

مصادر البيانات

تستخدم MailLand ClickHouse كمصدر بيانات تحليلية أساسي للتجميع السريع عبر مليارات الأحداث.

فقط events/summary يتراجع إلى PostgreSQL عند عدم توفر ClickHouse أو عدم إرجاعه أي بيانات، وتُوسم تلك الاستجابة بـ is_degraded: true عند حدوث ذلك. جميع نقاط نهاية التحليلات الأخرى في هذه الصفحة تعتمد على ClickHouse حصرًا وليس لها بديل احتياطي.

يشير حقل source في الاستجابات إلى مخزن البيانات الذي خدم النتيجة. يساعد حقل queryTimeMs في مراقبة الأداء.

الاحتفاظ بالبيانات

تتبع بيانات أحداث التحليلات خطة مساحة العمل: تُحفظ السجلات 30 يومًا في خطة Free، و90 يومًا في خطة Pro، و180 يومًا في خطة Max.

الخطوات التالية

في هذه الصفحة