صمّم دليل تكاملات يتدرج من 3 إلى 30 تكاملًا باستخدام نموذج بيانات بسيط، حالات واضحة، أذونات، وواجهة تقدم إعداد مفهومة.

يفتح الناس دليل التكاملات لسبب واحد: ربط الأدوات وجعلها تعمل دون التفكير فيها يوميًا. إذا جعلت الشاشة المستخدمين يخمنون ما هو متصل، ما الذي تعطل، أو ما الذي يجب الضغط عليه بعد ذلك، ينخفض مستوى الثقة بسرعة.
مع 3 تكاملات، قد يكفي شبكة بسيطة من الشعارات. مع 30، ينكسر هذا النمط: يتوقف الناس عن المسح، تزيد تذاكر الدعم، ويصبح زر "Connect" فخًا لأن كل تكامل قد يكون في حالة مختلفة.
يجب أن تجيب كل بطاقة تكامل (أو صف) عن ثلاثة أسئلة بنظرة سريعة:
أكبر مصادر الالتباس تأتي من الحالات الطرفية التي تحدث دائمًا في الفرق الحقيقية. قد يربط شخص ما Google بحساب شخصي بدلًا من حساب الشركة. تنتهي صلاحية توكن Stripe وتتوقف المزامنة. يتم توصيل مساحة عمل Slack، لكن لم تُمنح صلاحية القناة المطلوبة، فيبدو الإعداد "مكتملًا جزئيًا" رغم أن الواجهة تبدو سليمة.
شاشة جيدة تجعل هذه الحالات واضحة. بدلاً من مجرد "Connected"، اعرض شيئًا مثل "Connected (يحتاج إذن)" أو "Connected إلى: [email protected]"، وضع الخطوة التالية مباشرة على البطاقة. هذا يبعد المستخدمين عن التخمين ويحافظ على قابلية المسح مع نمو القائمة.
أبسط طريقة لتوسيع دليل التكاملات هي التفريق بين:
يبقى هذا قابلاً للقراءة عند 3 تكاملات ويعمل جيدًا عند 30.
التكامل (Integration) هو إدخال الكتالوج. إنه عالمي، غير مرتبط بمساحة عمل محددة.
الـ Install تمثل تمكين هذا التكامل داخل مساحة عمل (مثلاً: "تم تفعيل Slack في Workspace A").
الـ Connection تمثل حسابًا خارجيًا فعليًا أو بيانات اعتماد (مثلاً: "مساحة عمل Slack X عبر OAuth" أو "حساب Stripe Y عبر مفتاح API"). يمكن أن يحتوي Install واحد على عدة Connections.
مجموعة حقلية بسيطة تميل إلى التوسع جيدًا:
خزّن إعدادات مرئية للمستخدم (القناة المختارة، اسم URL الويب هوك، الأحداث المفعلة) على الـ Install أو الـ Connection كبيانات عادية. خزّن الأسرار (رموز تحديث OAuth، مفاتيح API، أسرار التوقيع) فقط في مخزن أسرار أو حقل مشفر مع ضوابط وصول صارمة.
لا تضع الأسرار أو أكواد التفويض الكاملة أو حمولات الويب هوك الخام في السجلات. إذا اضطررت لتسجيل شيء، فسجّل مراجع (connection_id) مع بيانات وصفية آمنة (حالة HTTP، رمز الخطأ).
للبقاء مرنًا عبر OAuth ومفاتيح API والويب هوك، احتفظ بالحقول الخاصة بالمصادقة داخل Connection (بيانات ميتا للتوكن مقابل بصمة المفتاح مقابل حالة تحقق الويب هوك). احتفظ بحالة الواجهة (مفعّل وتقدم الإعداد) على Install.
يفتح الناس دليل التكاملات ليجيبوا عن ثلاثة أمور بسرعة: هل يعمل، إلى أي مدى وصل الإعداد، وماذا أفعل بعد ذلك. إذا كانت كلمات الحالة غامضة، ترتفع تذاكر الدعم وتنخفض الثقة.
ابدأ بمجموعة صغيرة من الحالات يمكنك الحفاظ عليها لسنوات:
فضّل الحالة المشتقة على الحالة المخزنة. التسميات المخزنة تنحرف: يصلح شخص ما خطأً لكن الشارة تبقى حمراء. تُحسب الحالة المشتقة من حقائق تتابعها بالفعل، مثل صلاحية التوكنات، إكمال خطوات الإعداد المطلوبة، وما إذا أوقف مسؤول التكامل. إذا خزّنت شيئًا، خزّن الحقائق الأساسية (آخر مزامنة ناجحة، آخر رمز خطأ)، وليس التسمية النهائية.
يعمل تقدم الإعداد بشكل أفضل كقائمة تحقق قصيرة، مع فصل واضح بين المطلوب والاختياري. صممه كتعريفات خطوات ثابتة (لكل تكامل) بالإضافة إلى نتائج الخطوات (لكل Install).
مثال: قد يتطلب Slack "تفويض مساحة العمل" و"اختيار القنوات"، مع خطوة اختيارية مثل "تمكين معاينات الرسائل". يمكن للواجهة أن تعرض "2 من 3 خطوات مطلوبة مكتملة" مع إبقاء العناصر الاختيارية قابلة للاكتشاف دون حجب الاكتمال.
قد تؤدي الاتصالات المتعددة تحت تكامل واحد إلى فوضى إذا لم تخطط لها. احتفظ ببطاقة واحدة لكل تكامل، اعرض عدد الاتصالات، واجمع الحالة بصراحة. إذا كانت أي اتصال معطلة، أظهر "Needs attention" مع تلميح مثل "1 من 4 مساحات عمل يحتاج إعادة مصادقة". تظل النظرة العامة نظيفة لكنها ما زالت تعكس الواقع.
تتعقد أذونات التكاملات عندما يُعامل كل شيء كمفتاح واحد. أوضح أن تفصل بين:
ابدأ بفحص دور خفيف ينطبق في كل مكان. بالنسبة للعديد من التطبيقات، ثلاثة أدوار تكفي: Admin، Manager، وMember. Admins يمكنهم كل شيء. Managers يمكنهم إعداد معظم التكاملات لفريقهم. Members يمكنهم استخدام التكاملات المفعلة، لكن لا يمكنهم تغيير الإعدادات.
ثم أضف أعلام أذونات لكل تكامل فقط حيث تهم. معظم التكاملات (التقويم، الدردشة) يمكن أن تتبع قواعد الأدوار الافتراضية. التكاملات الحساسة (المدفوعات، الرواتب، التصدير) يجب أن تتطلب فحصًا إضافيًا مثل "Payments admin" أو "Billing manager". احتفظ بهذا كقيمة منطقية بسيطة على Install، لا كنظام أدوار كامل.
رسم خرائط بسيطة تبقى قابلة للقراءة:
لا تحتاج المراجعة لأن تكون ثقيلة، لكنها يجب أن توجد. تتبّع ما يكفي للإجابة على أسئلة الدعم والأمان بسرعة: من وصّل التكامل، متى تغيّرت بيانات الاعتماد، ومن عطّلها. عادة ما تكفي لوحة "Activity" في صفحة التفاصيل مع 5 إلى 20 حدثًا حديثًا.
مثال: قد يكون Stripe مرئيًا للجميع، لكن فقط Admins (أو المستخدمون الموسومون "Billing manager") يمكنهم توصيله أو تدوير المفاتيح أو تعطيل المدفوعات. قد يسمح Slack للManagers بالاتصال، بينما يمكن للأعضاء استقبال إشعارات Slack بمجرد تمكينه.
مع 3 تكاملات، يمكنك عرض كل شيء. مع 30، يجب أن يجيب الدليل بسرعة عن سؤال واحد: "أَيّها تعمل، وماذا يجب أن أفعل بعد؟" أنظف نهج هو فصل المسح عن التنفيذ.
اجعل عرض الدليل مركزًا على القرارات السريعة. ادفع عناصر التحكم الأثقل إلى صفحة تفاصيل خلف زر "Manage" واحد.
في القائمة، اعرض فقط ما يدعم النقر التالي:
تركيب البطاقة مهم لأنه يبني ذاكرة استخدام. يجب أن يعني الإجراء الأساسي دائمًا "الخطوة التالية": Connect للجديد، Continue setup للنصف مكتمل، Reconnect عند انتهاء المصادقة، وManage عندما يكون كل شيء سليم. تجنّب وجود زرين متساويين في كل بطاقة؛ هذا يجعل الصفحة صاخبة.
أمثلة:
حالات الفراغ يجب أن توجه دون إغراق المستخدم بدليل:
هذا يحافظ على هدوء الصفحة عند 30 تكاملًا لأن كل بطاقة تجيب: ما هي، هل تعمل، وماذا أفعل الآن؟
قائمة الدليل تقود الأشخاص إلى التكامل الصحيح. صفحة التفاصيل هي مكان القرار: إعداده، إصلاحه، أو إيقافه. اجعل بنية الصفحة متسقة عبر كل التكاملات، حتى لو اختلفت الأعمال الخلفية.
ابدأ بنظرة عامة مدمجة: اسم التكامل، وصف من سطر واحد، وملصقات حالة واضحة (Connected، Needs attention، Disabled). أضف سطرًا صغيرًا لتقدّم الإعداد حتى يعرف المستخدم إن كان على بعد خطوة من الاكتمال أو في البداية.
معالج بسيط يعمل جيدًا: 3 إلى 6 خطوات، شاشة واحدة لكل خطوة، مع زر "Back" متاح دائمًا. سَمّ الخطوات بلغة بسيطة (Connect account، Choose workspace، Pick data to sync، Confirm). إذا كانت هناك خيارات اختيارية، وسمها بأنها اختيارية بدلًا من إخفائها.
إذا أمكن إيقاف الإعداد مؤقتًا، قل ذلك بوضوح: "يمكنك الإنتهاء لاحقًا. سنبقي اختياراتك." هذا يقلل الخوف من الإغلاق المفاجئ.
اعرض Connections كجدول صغير: اسم الحساب، متصل بواسطة (المستخدم)، تاريخ الإنشاء، وآخر مزامنة.
لـ "المزامنة التالية"، تجنب وعودًا لا يمكنك الوفاء بها (مثل أوقات دقيقة). استخدم عبارات يمكنك الالتزام بها مثل "Next sync: scheduled soon" أو "Next sync: within the next hour" استنادًا إلى ما يضمنه نظامك فعليًا.
ضع الإجراءات الخطرة بعيدًا عن المسار الرئيسي. ضع الإجراءات الأساسية في الأعلى (Continue setup، Reconnect). ضع Disable وDisconnect في قسم "منطقة الخطر" في الأسفل مع شرح قصير للتأثير. إذا دعمت الأدوار، اذكر ذلك في جملة واحدة (مثلاً: "فقط المسؤولون يمكنهم فصل الاتصال").
أضف سجل نشاط صغير: أحداث حديثة (connected، token refreshed، sync failed)، طوابع زمنية، ورسائل خطأ قصيرة يمكن للمستخدم نسخها في تذكرة الدعم.
إضافة تكامل أسهل عندما تتعامل معه كمنتج صغير. يحتاج إلى إدراج، طريقة اتصال، مكان لحفظ الاتصال، ونتائج واضحة للنجاح أو الفشل.
أضف التكامل إلى كتالوجك لكي يظهر في الدليل حتى قبل أن يربطه أحد. ضمن اسمًا واضحًا، وصفًا قصيرًا، أيقونة، وفئة أو اثنتين (Messaging، Payments). اكتُب توقعات الإعداد بلغة بسيطة مثل "ربط حساب" و"اختيار مساحة العمل". هنا تحدد أيضًا ما سيحتاجه التكامل لاحقًا (نطاقات OAuth، الحقول المطلوبة، الميزات المدعومة).
اختر أبسط طريقة اتصال تناسب المزود:
عند إكمال المستخدم للتدفق، أنشئ سجل Connection مرتبطًا بمساحة العمل أو الحساب، وليس بالمستخدم فقط. خزّن بيانات الاعتماد بأمان (تشفير عند السكون وتجنب إظهار السر الكامل مرة أخرى). احفظ الأساسيات التي ستحتاجها للدعم: معرف حساب المزود، وقت الإنشاء، من قام بالاتصال، وما الصلاحيات الممنوحة.
شغّل اختبارًا بسيطًا فورًا (لـ Stripe: جلب تفاصيل الحساب). إذا نجح، اعرض Connected وضع التقدم جاهزًا. إذا نجح جزئيًا (متصل لكن صلاحية مفقودة)، ضع Needs attention ووجّه المستخدم للإصلاح المحدد.
اعرض رسالة واضحة واحدة، وإجراء موصى به واحد، وخيار آمن للرجوع. مثال: "لم نستطع الوصول إلى Stripe. تحقق من مفتاح API أو حاول مجددًا." اجعل الدليل قابلًا للاستخدام حتى لو تعطل تكامل واحد.
إذا كنت تبني على Koder.ai (koder.ai)، يمكنك مسودة الكتالوج، تدفق الإعداد، وقواعد الحالة في وضع التخطيط أولًا، ثم توليد الواجهة والخلفية من تلك الخطة.
تفشل التكاملات لأسباب روتينية. إذا لم يستطع دليلك تفسير هذه الأسباب بوضوح، يلوم المستخدمون تطبيقك ولا يجد الدعم ما يكفيه للعمل.
جمّع الإخفاقات في فئات تتطابق مع الإصلاحات الواقعية: انتهاء تسجيل الدخول، صلاحية مفقودة، انقطاع المزود، أو حد المعدل. احتفظ بأكواد خطأ داخلية مفصلة، لكن اعرض للمستخدم تسمية قصيرة يمكن فهمها.
عندما يتعطل شيء، يجب أن تجيب الرسالة عن ثلاث نقاط: ما الذي حدث، ماذا يجب على المستخدم فعله، وماذا سيفعل نظامك بعد ذلك. مثال: "انتهت صلاحية اتصال Slack. أعد الاتصال للاستمرار في المزامنة. سنحاول تلقائيًا بعد إعادة الاتصال." هذا أهدأ وأكثر قابلية للتنفيذ من خطأ API خام.
أعد المحاولة تلقائيًا فقط عندما لا يستطيع المستخدم إصلاح المشكلة بنفسه. قاعدة قواعد بسيطة تكفي:
الحالات تصبح قديمة ما لم تحدثها. أضف مهمة صحة خفيفة تتحقق دوريًا من صلاحية التوكنات، وأن آخر مزامنة قد جرت، وأن شارة الدليل تطابق الواقع.
احتفظ بتاريخ أحداث صغير لكل Install. لست بحاجة لسجلات كاملة، فقط ما يكفي من breadcrumbs: طابع زمني، حدث ("token refreshed"، "sync failed"), سبب قصير، ومن أطلقه (مستخدم أو نظام). أضف حقل ملاحظات داخلي حتى يسجل الدعم ما غيّره ولماذا.
تصبح القائمة فوضوية بسرعة بعد عدد قليل من التطبيقات. الهدف بسيط: ساعد الناس على إيجاد ما يحتاجونه في ثوانٍ، وساعدهم على اكتشاف المشاكل دون فتح كل بطاقة.
ابدأ ببحث أساسي عبر اسم التكامل والفئة. معظم المستخدمين يكتبون ما يعرفونه بالفعل ("Slack"، "Stripe")، لذا مطابقة الاسم أهم من ترتيب متقدم. يساعد البحث بالفئة عندما يعرفون الوظيفة فقط (payments، messaging).
يجب أن تعكس الفلاتر النية الحقيقية. هذه الثلاثة تغطي معظم الحالات:
لترتيب القائمة، اختر تجميعًا أساسيًا واحدًا والتزم به. التجميع حسب الفئة يعمل جيدًا عند عدد كبير (CRM، Payments، Messaging). يمكن أن يكون الاستخدام الشائع مفيدًا أيضًا، لكن فقط إذا عكس قاعدة المستخدمين لديك، لا التسويق. افتراضي عملي: أظهر الأكثر استخدامًا أولًا، ثم جَمّع الباقي حسب الفئة.
خطّة نظيفة لعرض "ليس الكل يرى كل شيء" مهمة. إذا كان التكامل خلف ميزة مخفية أو خطة، إما اخفِه لمعظم المستخدمين أو أظهره معطلًا وسبب قصير مثل "Business plan". تجنّب عرض صفحة مليئة ببطاقات رمادية؛ هذا يجعل الشاشة تبدو معطلة.
حافظ على الأداء سريعًا بفصل تحميل القائمة عن التفاصيل. قسّم الصفحات أو استخدم التمثيل الظاهري حتى لا تعيد رسم 30 بطاقة ثقيلة دفعة واحدة، وحمل التفاصيل عند فتح التكامل فقط. يمكن للقائمة أن تعرض حقول ملخصة (Slack: Connected، Google: Needs attention، Stripe: Not set up) بينما تجلب صفحة التفاصيل سجل الاتصال الكامل.
تخيّل تطبيق مساحة عمل اسمه Pinework. لديه دوران: Admin وMember. يستطيع Admins ربط الأدوات وتغيير الإعدادات. يمكن للأعضاء استخدام الأدوات المتصلة لكن لا يمكنهم إضافتها أو إزالتها.
في دليل Pinework، تُظهر كل بطاقة تسمية واضحة (Connected، Needs setup، Error)، وسطرًا قصيرًا يوضح الغرض، وتقدم إعداد مثل "2 من 3 خطوات". يمكن للناس معرفة ما يعمل وما ينتظر دون النقر كثيرًا.
يُستخدم Slack للإشعارات. يفتح Admin Slack فيرى: الحالة: Connected، التقدم: "3 من 3 خطوات". يرى الأعضاء Slack أيضًا، لكن الإجراء الرئيسي معطّل ويقرأ "اطلب من مسؤول إدارة". إذا انفصل Slack، يمكن للأعضاء رؤية ما تعطل لكن ليس لديهم أزرار إعادة الاتصال.
يُستخدم Google للتقاويم. يتيح Pinework اتصالات متعددة. تُظهر بطاقة Google: الحالة: Connected (2 حسابات). أسفلها سطر قصير يذكر "Marketing Calendar" و"Support Calendar". قد يبقى الإعداد مكتملًا، وتعرض صفحة التفاصيل اتصالين منفصلين حتى يتمكن Admin من إلغاء واحد فقط.
يُستخدم Stripe للفوترة. إعداد شائع جزئيًا: الحساب متصل لكن الويب هوكس غير مكتملة. تعرض البطاقة: الحالة: Needs setup، التقدم: "2 من 3 خطوات"، مع تحذير مثل "قد لا تتزامن المدفوعات". تعرض صفحة التفاصيل الخطوة المتبقية صراحة:
هذا يتجنب حالة "يبدو متصلاً لكن لا شيء يعمل".
عادةً ينهار دليل التكاملات عندما يكبر التطبيق من بضعة تكاملات إلى عشرات. المشكلات نادرًا ما تكون تقنية ضخمة. هي أخطاء صغيرة في التسمية والنمذجة التي تشتت المستخدمين يوميًا.
مشكلة شائعة هي الخلط بين "مثبت" و"متصل". عادةً تعني "مثبت" أن التكامل متاح في مساحتك. تعني "متصل" أن بيانات اعتماد حقيقية موجودة وتستطيع البيانات أن تتدفق. عندما يختلط الأمر، ينقر المستخدم على تكامل يبدو جاهزًا ويصل إلى طريق مسدود.
خطأ آخر هو اختراع حالات حالة كثيرة جدًا. تبدأ الفرق بشارة بسيطة، ثم تضيف حالات حافة: pending، verifying، partial، paused، degraded، blocked، expiring، والمزيد. مع الوقت تنحرف هذه التسميات لأن لا أحد يحافظ عليها. احتفظ بمجموعة صغيرة مرتبطة بفحوصات يمكنك تشغيلها فعليًا.
تسبب الأذونات المخفية أيضًا مشاكل. يربط شخص ما حسابًا، ثم يكتشف لاحقًا أن التكامل كان له صلاحيات أوسع من المتوقعة. اجعل النطاق واضحًا قبل خطوة "Connect" الأخيرة، وعرّضها مرة أخرى في صفحة التفاصيل حتى يتمكن المسؤولون من مراجعتها.
تحتاج العديد من التطبيقات إلى اتصالات متعددة: اثنان من مساحات عمل Slack، عدة حسابات Stripe، أو حساب Google مشترك بالإضافة إلى حسابات شخصية. إذا قيدت نفسك "تكامل واحد = اتصال واحد"، ستواجه حلولًا قبيحة لاحقًا.
خطط لـ:
حافظ على عرض القائمة خفيفًا. عندما تملؤه بالسجلات، وتعييرات الحقول، والأوصاف الطويلة، يتباطأ المسح. استخدم القائمة للاسم، الغرض القصير، وتقدم الإعداد. ضع السجل والإعدادات المتقدمة في صفحة التفاصيل.
دليل التكاملات القابل للتوسع يعود إلى نموذج بسيط وواجهة صادقة. إذا استطاع المستخدمون الإجابة عن ثلاثة أسئلة بسرعة، يصبح النظام متوقعًا: ما المتصل، ما المعطل، وماذا أفعل بعد ذلك؟
قائمة التحقق قبل الإطلاق:
التالي، اختر ثلاثة تكاملات تعرفها جيدًا ونمذجها من البداية للنهاية: أداة دردشة (OAuth)، اتصال على طريقة Google (OAuth مع نطاقات)، وأداة مدفوعات (مفتاح API مع webhooks). إذا استطاع نموذجك أن يعبر عن الثلاثة دون حالات خاصة كثيرة، فعادةً سيكفي للتوسع إلى 30.
اعتبر الشاشة لوحة تحكم لا صفحة تسويقية. يجب أن تُظهر كل بطاقة بسرعة ما الغرض من التكامل، ما إذا كان يعمل الآن، والإجراء الواحد التالي الذي ينبغي على المستخدم اتخاذه. إذا احتاج المستخدم للضغط لمجرد معرفة «هل هذا متصل؟»، سيشعر أن الدليل غير موثوق كلما نما.
قاعدة بسيطة: يجب أن تجيب البطاقة عن «ما هو»، «هل هو سليم»، و«ماذا الآن». عمليًا يعني ذلك: اسم مع سطر واحد للغرض، حالة مع طابع زمني قريب (آخر مزامنة أو فحص)، وزر أساسي يتغير حسب الحالة. ضع كل شيء آخر خلف "Manage" للحفاظ على سرعة المسح.
لتفصل بين ما تعرضه كخدمة وما هو مفعل فعليًا وما هي بيانات الاعتماد المستخدمة. استخدم تكامل كإدخال في الكتالوج، Install كتمكين داخل مساحتك، وConnection كحساب خارجي فعلي أو مفتاح API أو نقطة ويب هوك. هذا يمنع الخلط الشائع بين "مثبت" و"متصل" ويجعل الحالة واقعية.
الأفرقة الحقيقية تحتاج غالبًا إلى أكثر من حساب خارجي واحد لنفس الموفر. اجعل بإمكانك إنشاء عدة Connections تحت نفس Install—مثلاً تقاويم "التسويق" و"الدعم" في Google—حتى تبقى بطاقة الدليل نظيفة بينما يمكن للمدراء إدارة كل حساب على حدة في صفحة التفاصيل.
استخدم مجموعة صغيرة من التسميات التي يمكنك الحفاظ عليها، مثل: Not set up، In progress، Connected، Needs attention، Disabled. استخرج هذه التسميات من حقائق يمكن فحصها (صلاحية التوكن، اكتمال خطوات الإعداد، آخر مزامنة ناجحة) حتى لا تبقى الشارة قديمة بعد الإصلاح.
اجعل تقدم الإعداد قائمة تحقق قصيرة من خطوات مطلوبة، بالإضافة إلى خطوات اختيارية لا تمنع الاكتمال. خزّن تعريفات الخطوات لكل تكامل ونتائج الخطوات لكل Install، حتى يعرض الواجهة مثلاً «2 من 3 خطوات مطلوبة مكتملة». يجب أن يرى المستخدم دائمًا الخطوة المطلوبة التالية دون البحث.
ابدأ بقاعدة أدوار بسيطة تنطبق في كل مكان، ثم أضف فحوصًا إضافية فقط للتكاملات الحساسة. في كثير من المنتجات: Admins يمكنهم التهيئة، Managers يمكنهم تهيئة معظم الأدوات، Members يمكنهم استخدام الأدوات المفعلة لكن لا يستطيعون الاتصال أو التعديل. للتكاملات الحساسة أضف علمًا واحدًا مثل "Billing manager" بدلًا من اختراع نظام أدوار جديد.
خزّن إعدادات المرئي للمستخدم كبيانات عادية، وخزّن الأسرار مثل رموز التحديث ومفاتيح API في مخزن أسرار أو حقول مشفّرة مع قيود وصول صارمة. لا تسجل الأسرار الخام أو رموز التفويض أو حمولات الويب هوك؛ سجّل مراجع آمنة مثل connection_id وبيانات وصفية آمنة (كود الخطأ، حالة HTTP).
اعرض رسالة تشرح ما حدث، ما الذي يتوجب على المستخدم فعله، وما الذي سيفعله النظام تلقائيًا. جرّب إعادة المحاولة بصمت للحالات التي لا يمكن للمستخدم إصلاحها (تعطل موفر، خطأ شبكي)، وأوقف المحاولات للحالات التي يحتاج فيها المستخدم لإعادة المصادقة أو منح صلاحية مفقودة. اجعل "Reconnect" أو "Fix permissions" الإجراء الأساسي عند الحاجة.
اجعل البحث بسيطًا ومركّزًا على كيفية تفكير المستخدم: اسم الموفر أولًا، ثم الفئة. أضف فلاتر تعكس النوايا مثل Connected، Needs attention، وNot set up ليتمكن المستخدمون من العثور على المشاكل بسرعة. صمم الحقلية في Koder.ai أولًا إن أمكن لتوحيد الحقول وقواعد الحالة وخطوات الإعداد قبل توليد الواجهة والخلفية.