@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 خارجياً فقط.التثبيت
بداية سريعة
ما يعمل اليوم
الـ API الأساسي
دورة الحياة
createDashboard(options?)— الخيارات:heartbeatInterval،actionTimeout،debug،onErrorinit({ 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.
كيف تتصل القطع
لوحة بملف HTML فقط
تطبيق لوحة التحكم لا يحتاج إطار عمل. ملف HTML واحد يستورد الـ SDK (عبر bundler أو ESM) يكفي — استضف الملف وضع رابطه في رابط Iframe. راجع أمثلة Shopify وزد في مستودع dashboard-sdk.الأمان
- تبقى بيانات الاعتماد على الخادم؛ يرسل الـ iframe أسماء الإجراءات وقيم النماذج فقط
- يتحقق المضيف من
event.originمقابل رابط الـ iframe المسجّل - يتضمن sandbox الخاص بالـ iframe السكربتات وsame-origin والنماذج والنوافذ المنبثقة (راجع تنفيذ المضيف لسلسلة السمات الدقيقة)
ذات صلة
- MiniApps — عرّف الإجراءات التي تستدعيها لوحتك
- واجهة GraphQL — بديل من جانب الخادم للوحات الـ iframe
- مركز المساعدة: تطبيقات لوحة التحكم — إعداد المشرف