Documentation menu

البدء السريع

تتيح Embed API للواجهة الخلفية الخاصة بك تسجيل مستخدميك النهائيين أنت في دورة أو ندوة عبر الإنترنت في MailInApp، وتضمين تجربة المشاهدة/الانضمام في تطبيقك — دون أن يمسّ ذلك المستخدم النهائي أبدًا حسابًا في لوحة تحكم MailInApp. وهي تتشارك مفتاح API نفسه من نوع bearer المستخدم في Send API للبريد المعاملاتي — فلا بيانات اعتماد جديدة تحتاج إلى إنشائها.

إنشاء مفتاح

المفتاح نفسه المستخدم في كل مكان آخر: ضمن المطوّرون في لوحة التحكم، اضغط إنشاء مفتاح. يُعرض المفتاح الكامل — mia_live_... — مرة واحدة فقط؛ فـ MailInApp لا يحتفظ إلا بقيمة تجزئة له. ويستطيع مفتاح واحد استدعاء كل مسار في حسابك، بما في ذلك المسارات أدناه.

تسجيل حاضر في ندوة عبر الإنترنت

يسجّل مستخدمًا نهائيًا في ندوة بتسجيل عام ويعيد رابط انضمام — دون نموذج من MailInApp، ودون حساب في MailInApp لمستخدمك:

curl -X POST https://mailinapp.com/api/v1/webinars/<liveSessionId>/register \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "name": "Ada Lovelace"
  }'

يعيد الاستدعاء الناجح إما رابط انضمام مؤكَّدًا أو حالة «في قائمة الانتظار»:

{ "status": "confirmed", "joinUrl": "https://mailinapp.com/webinar/.../join?token=..." }

أنشئ الندوة نفسها بالطريقة نفسها — POST /api/v1/webinars — أو أعد استخدام ندوة أنشأتها مسبقًا من البث المباشر في لوحة التحكم؛ وفي الحالتين يجب أن تكون قيمة accessMode: "registration". راجع مرجع API للاطلاع على الأشكال الكاملة للطلب/الاستجابة.

تسجيل مشترك في دورة

يمنح (أو يلغي) الوصول إلى دورة لعنوان بريد إلكتروني — فنظام الفوترة أو الدفع الخاص بك يقرّر من يستحق، وMailInApp يعرض الدورة فحسب:

curl -X POST https://mailinapp.com/api/v1/courses/<courseId>/enroll \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "active": true
  }'
{ "subscriberId": "abc123", "active": true }

تضمين عارض الدورة

بمجرد تسجيل المشترك، أنشئ رمزًا موقّعًا قصير الأمد (5 دقائق) ووجّه إطار iframe أو نافذة تطبيقك إلى الرابط المُعاد:

curl -X POST https://mailinapp.com/api/v1/courses/<courseId>/embed-token \
  -H "Authorization: Bearer mia_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "email": "[email protected]" }'
{ "portalUrl": "https://mailinapp.com/learn/<slug>/courses/<courseId>/embed?token=..." }

فتح portalUrl يسجّل دخول الزائر إلى صفحة تمهيدية تستبدل الرمز وتوصله إلى بوابة الدورة نفسها — الفيديو، والتقدّم، والاختبارات — التي يحصل عليها المشترك المسجّل مباشرة. ويجب أن تكون الدورة بحالة published وأن يكون الحساب قد طالب مسبقًا بمعرّف عضوية (/learn/<slug>) لكي ينجح ذلك.

ما يميّزنا فعلًا: رسائل دورة الحياة التفاعلية

لا تزال رسائل التسجيل والتذكير والالتحاق والإكمال كلها تُرسل — افتراضيًا، بنص التأكيد البسيط الحالي. ومن لوحة إعدادات الدورة أو الندوة نفسها في لوحة التحكم، يتيح لك قسم رسائل دورة الحياة الجديد توجيه أيٍّ من تلك الأحداث إلى مشروع بنيته في الاستوديو بدلًا من ذلك. فتُعرض الرسالة المرسلة عندئذ عبر محرك البدائل الكامل (العناصر الحركية، ووسوم الدمج، والعرض المباشر) بدلًا من نص ثابت في الشيفرة. ولا شيء يتغيّر في حدث تتركه دون ربط.

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

  • الأشكال الكاملة للطلب/الاستجابة، وأحداث ربط دورة الحياة، وحدود المعدّل، ورموز الأخطاء: مرجع API.
  • لا توجد دورة أو ندوة قائمة لتسجيل المستخدمين فيها؟ أنشئ واحدة من الدورات أو البث المباشر في لوحة التحكم أولًا — فـ Embed API تغلّف البيانات الأساسية نفسها، ولا تنشئ كتالوجًا منفصلًا.
  • لا يزال الإرسال المعاملاتي الحر أو المبني على مشروع في الاستوديو يمر عبر Send API — فـ Embed API مخصّصة تحديدًا للتسجيل في الدورات/الندوات وتضمينها.