Skip to main content
@karzoun/dashboard-sdk مكتبة خفيفة لتطبيقات لوحة التحكم المضمّنة في البريد الوارد كرزون. تُحمَّل صفحتك داخل iframe معزول؛ يتواصل الـ SDK مع المضيف عبر postMessage. بيانات اعتماد MiniApps المرتبطة لا تصل أبداً إلى الـ iframe.
مرجع الـ API الكامل وملاحظات البروتوكول وأمثلة HTML جاهزة في المستودع العام: KarzounApps/dashboard-sdk.

المتطلبات الأساسية

1

ثبّت MiniApp (اختياري لكن شائع)

في كرزون: الإعدادات ← التطبيقات. اربط بيانات الاعتماد للمنصة المطلوبة (مثل Shopify أو زد أو سلة). يعرّف الـ MiniApp إجراءات مسماة تستدعيها لوحتك.
2

استضف صفحة اللوحة

انشر أي صفحة ثابتة (ملف HTML واحد أو واجهة صغيرة) على رابط عام — Vercel أو Cloudflare Pages أو Netlify أو خادمك، أو localhost أثناء التطوير.
3

أعلن أو أنشئ تطبيق لوحة تحكم

من MiniApp: يمكن للناشر إعلان اللوحات في definition.dashboardApps[] (key، name، iframeUrl، …). بعد تثبيت الـ MiniApp، يفتح المستأجر الإعدادات ← التطبيقات ← ويختار اللوحات التي يريد تثبيتها. لا يُثبَّت شيء تلقائياً.مخصص: أنشئ لوحة يدوياً من المطور ← تطبيقات لوحة التحكم مع رابط iframe وربط MiniApp اختياري وإسناد أعضاء الفريق.
رفع HTML مستضاف على كرزون للوحات مخطَّط لمرحلة لاحقة. المرحلة 1 تستخدم iframeUrl خارجياً فقط.

التثبيت

إذا لم تكن الحزمة متاحة بعد على npm، ثبّت من GitHub:
لملف HTML واحد بدون bundler، استخدم مسار ESM من README الحزمة بعد النشر.

بداية سريعة

ما يعمل اليوم

الـ API الأساسي

دورة الحياة

  • createDashboard(options?) — الخيارات: heartbeatInterval، actionTimeout، debug، onError
  • init({ onReady }) — يرسل app_ready؛ يُستدعى onReady بعد وصول بيانات المحادثة (أو بعد مهلة قصيرة)
  • destroy() — إزالة المستمعين والطلبات المعلّقة

السياق

  • getConversation() / onConversationUpdate(cb)
  • getCustomerContext() / onCustomerContextUpdate(cb)
شكل CustomerContext:

الإجراءات

  • getActions() / getCapabilities()
  • executeAction(actionName, formInput?) — الـ promise يُحل دائماً؛ تحقق من result.success
أكواد الخطأ الشائعة: AUTH_EXPIRED، RATE_LIMITED، ACTION_NOT_FOUND، VALIDATION_ERROR، EXTERNAL_API_ERROR، INTERNAL_ERROR، NOT_INSTALLED، NOT_CONFIGURED.

كيف تتصل القطع

يمكن للمشرف تقييد الإجراءات لكل تطبيق لوحة. يحدّ المضيف معدل استدعاءات الإجراءات (افتراضياً 30/دقيقة لكل جلسة).

لوحة بملف HTML فقط

تطبيق لوحة التحكم لا يحتاج إطار عمل. ملف HTML واحد يستورد الـ SDK (عبر bundler أو ESM) يكفي — استضف الملف وضع رابطه في رابط Iframe. راجع أمثلة Shopify وزد في مستودع dashboard-sdk.

الأمان

  • تبقى بيانات الاعتماد على الخادم؛ يرسل الـ iframe أسماء الإجراءات وقيم النماذج فقط
  • يتحقق المضيف من event.origin مقابل رابط الـ iframe المسجّل
  • يتضمن sandbox الخاص بالـ iframe السكربتات وsame-origin والنماذج والنوافذ المنبثقة (راجع تنفيذ المضيف لسلسلة السمات الدقيقة)

ذات صلة

آخر تعديل في ١٢ أغسطس ٢٠٢٦