واجهة الرسائل وتجاربها

هذا الدليل مخصص للشركاء الذين ينشئون تجارب للمستخدم النهائي: ما يراه المستخدمون في تطبيق MorisBox، وأي واجهات API / حمولات يجب استخدامها للرسائل الثرية والقوائم والتدفقات متعددة المراحل.

هذا ليس نظام تصميم لموقع الوثائق.


ما يراه المستخدمون

في مساحة الشريك ضمن تطبيق الهاتف / Application Client:

المنطقةالهدف
الرسائلقائمة المركز الخاصة بك: الإشعارات والوسائط والنشرات وبطاقات التدفق (الأحدث أولًا)
النماذجالتدفقات التفاعلية المتاحة
المحادثاتمحادثات الدعم التي يفتحها المستخدم
الروبوتاتروبوتاتك المتاحة في in-app

تظهر عمليات الإرسال الآلية للشركاء في الرسائل. لا تضع محتوى الحملات في محادثات الدعم.


المكونات الأساسية (أنواع المحتوى)

استخدم POST /api/v1/messages مع content_type (وحقول الوسائط / الرابط / HTML). المرجع الكامل: الوسائط وأنواع المحتوى، الرسائل.

نص

إشعار بسيط أو تسمية توضيحية.

{
  "phone": "+228XXXXXXXX",
  "content_type": "text",
  "body": "Votre dossier a été mis à jour.",
  "priority": "notification"
}

واجهة المستخدم: صف في القائمة / فقاعة بسيطة.


صورة

{
  "phone": "+228XXXXXXXX",
  "content_type": "image",
  "body": "Photo de l’agence",
  "media_url": "https://cdn.example.com/agence.jpg",
  "media_filename": "agence.jpg"
}

واجهة المستخدم: معاينة للصورة؛ اضغط لفتحها بالحجم الكامل.


مستند / صوت / فيديو

{
  "content_type": "document",
  "body": "Guide d’affiliation",
  "media_url": "https://cdn.example.com/guide.pdf",
  "media_filename": "guide.pdf"
}
النوعواجهة المستخدم
documentصف ملف (الاسم والنوع والفتح)
audioصف صوتي؛ فتح / تشغيل
videoبطاقة فيديو؛ فتح

رابط CTA

بطاقة ثرية تضم عنوانًا ووصفًا وزرًا وصورة اختيارية.

{
  "content_type": "link",
  "body": "Consultez votre espace assuré.",
  "link_url": "https://morisbox.com",
  "link_title": "Espace assuré SEED",
  "link_description": "Cotisations, demandes et documents.",
  "link_label": "Ouvrir le portail",
  "link_image_url": "https://cdn.example.com/cover.jpg"
}

واجهة المستخدم: بطاقة + زر أساسي؛ يفتح عنوان URL.


نشرة HTML إخبارية

تخطيط ثري (صورة وفيديو وHTML). يفتح في ملء الشاشة عندما يضغط المستخدم صف المركز (من دون عرض معاينة صغيرة أولًا).

{
  "content_type": "html",
  "subject": "SEED Actu · Juillet",
  "html": "<div><h1>Bonjour</h1><img src=\"https://…/photo.jpg\" style=\"max-width:100%\"/><p>…</p></div>"
}

واجهة المستخدم: عنوان القائمة = subject؛ الضغط ← قارئ HTML كامل.
التفاصيل: نشرات HTML الإخبارية.


دعوة إلى تدفق

نموذج تفاعلي متعدد الشاشات (التسجيل وقائمة الانتظار وما إلى ذلك).

POST /api/v1/bots/{bot_code}/flows/{flow_code}/invite
{ "phone": "+228XXXXXXXX" }

واجهة المستخدم: بطاقة تدفق؛ فتح مشغّل النموذج؛ وعند النهاية تتحول البطاقة نفسها إلى ملخص للقراءة فقط.
التفاصيل: التدفقات التفاعلية.


واجهة محادثة الروبوت (القوائم والمراحل)

عندما يشغّل المستخدم جلسة روبوت، يمكن لبيئة التشغيل عرض:

نوع الحدث / المرحلةتجربة المستخدم
message / flow_messageنص في واجهة التدفق/الروبوت
menu (button)قائمة خيارات عمودية
menu (list)قائمة مقسمة إلى أقسام (على نمط قوائم WhatsApp)
flow_screen + formنموذج متعدد الحقول (inputs وselect وphone وemail وغيرها)
flow_screen + input / selectحقل واحد أو خيارات
paymentتأكيد دفع (stub / مستقبلي)
flow_completedالنهاية + ملخص اختياري

أنواع حقول النموذج (شاشات التدفق)

عرّفها في fields_json ضمن مرحلة form:

typeعنصر التحكم
textإدخال نص
phoneهاتف (يُتحقق منه وفق E.164)
emailبريد إلكتروني (يُتحقق منه)
numberرقمي
dateتاريخ YYYY-MM-DD
booleanنعم / لا
selectقائمة خيارات (options: [{id, label}])

تحقق على جانب الخادم: التحقق من الحقول.

مثال على تعريف مرحلة نموذج

[
  {
    "key": "full_name",
    "type": "text",
    "label": "Nom complet",
    "required": true,
    "placeholder": "Ex. Ama Koffi"
  },
  {
    "key": "email",
    "type": "email",
    "label": "E-mail",
    "required": false
  },
  {
    "key": "service",
    "type": "select",
    "label": "Service",
    "required": true,
    "options": [
      { "id": "affiliation", "label": "Affiliation" },
      { "id": "pension", "label": "Pension" }
    ]
  }
]

اختيار المكوّن المناسب

الهدفالاستخدام
تنبيه لمرة واحدةtext أو قالب
عرض صورة / PDFimage / document
توجيه المستخدم إلى بوابتكCTA من نوع link
محتوى شهري ثري شبيه بالبريد الإلكترونينشرة html
تسجيل / قائمة انتظار متعددة المراحلدعوة إلى تدفق + مراحل form
قائمة خدمات موجهةقوائم الروبوت (local أوservice)
دردشة دعم مستمرةمحادثة يبدأها المستخدم (ردود الوكلاء)

الفواصل والبنية في المحتوى الثري

في نشرات HTML الإخبارية، نظّم المحتوى باستخدام:

  • عناوين (h1-h3) للأقسام
  • خطوط أفقية (<hr>) أو كتل متباعدة للفصل المرئي
  • بطاقات (divs ذات حدود) لعناصر CTA
  • قوائم (ul / ol) للنقاط سهلة التصفح

في التدفقات، استخدم مراحل (شاشات) منفصلة بدلًا من نموذج واحد طويل متى أمكن، لتحسين تجربة الهاتف.


أنماط من البداية إلى النهاية

1. حملة: صورة + رابط

  1. إرسال image مع تسمية توضيحية
  2. إرسال CTA من نوع link إلى «إكمال طلبي»

2. قائمة انتظار الانضمام

  1. POST …/flows/waitlist/invite
  2. يملأ المستخدم نماذج الهوية + التفضيلات
  3. تتحول حالة البطاقة إلى completed مع ملخص

3. نشرة إخبارية مع وسائط

  1. إنشاء HTML باستخدام <img> و<video>
  2. content_type=html + subject
  3. يفتح المستخدم القارئ الكامل من المركز

وثائق API المرتبطة

الموضوعالصفحة
إرسال الرسائلالرسائل
أنواع الوسائطالوسائط وأنواع المحتوى
النشرات الإخباريةنشرات HTML الإخبارية
التدفقاتالتدفقات التفاعلية
الروبوتات360Bots
مصادقة الروبوتبيانات اعتماد الروبوتات وخطافات الويب
التحققالتحقق من الحقول