التوثيق
الدمجWorkbench

Health panel

اكتشف الأنماط في حالات الفشل الأخيرة لحسابك. أخطاء مجمّعة حسب السبب الجذري، مرتّبة حسب التكرار، مع سجل نموذجي لكل مجموعة.

تاب Health بيجمّع كل طلب API فاشل من آخر ساعة أو يوم أو أسبوع، وبيرتّبهم حسب السبب اللي وراهم. بدل ما تفضل تمرّر على ألف صف 4xx في تاب Logs، بتشوف صف واحد لكل مجموعة خطأ مميّزة، مرتّبة بحيث الأعلى تكرارًا يبقى فوق.

استخدمه بعد النشر علشان تمسك التراجعات، أو قبل الإصدار علشان تتأكد إن كل حاجة هادية، أو لما تاجر يقولك "الدنيا كانت غريبة النهارده" وعايز قراءة سريعة لإيه اللي مكسور فعلًا.

لميكانيكية الدرج (الفتح، السحب، الشاشة الكاملة)، شوف مقدمة الـ Workbench.

افتح التاب

اضغط أيقونة نبضة القلب اللي في القائمة أسفل يمين لوحة التحكم. الـ Workbench بيفتح على تاب Health مفلتر مسبقًا على آخر 24 ساعة.

أيقونة القائمة بتبقى برتقالي لما يكون لحسابك أخطاء حديثة، فنظرة على القائمة بتقولك لو يستاهل تفتحها أصلًا ولا لأ.

الفلاتر

فلترين فوق:

الفلتربيعمل إيه
Timeتلات خيارات: Last hour، Last 24 hours، Last 7 days. افتراضيًا آخر 24 ساعة.
API endpointفلتر مسار نصّي حر، بيتطبّق من ناحية العميل بعد ما المجموعات تتحمّل. بيدعم الـ * wildcards. الـ popover بيعرض تلميح: "You can also use wildcards, like /checkout/*".

رابط Reset filters بيظهر جنب صف الفلاتر لما فلتر الـ API endpoint يتظبط. العدد الكلي على اليمين (مثلًا 12 error groups) بيعكس العرض المفلتر.

قراءة قائمة المجموعات

العمود الشمال قائمة بمجموعات الأخطاء، مرتّبة حسب العدد (الأعلى الأول). كل صف بيحمل:

  • معرّف خطأ بخط ثابت العرض باللون الأحمر. ده اللي XPay جمّع الأخطاء على أساسه (شوف إزاي بيشتغل التجميع تحت).
  • شارة عدد على اليمين، بتمثّل عدد الأخطاء في المجموعة دي جوّه النافذة الزمنية.
  • طريقة HTTP والمسار اللي الأخطاء ضربت عليه (لما تكون المجموعة حسب الكود أو حسب البارامتر؛ بتغيب للمجموعات اللي حسب النوع بس).
  • رسالة خطأ نموذجية من آخر حدوث، مقصوصة لسطر واحد.

اضغط على صف علشان تفتح تفاصيل المجموعة.

تفاصيل المجموعة: الملخص + السجلات

لما تختار مجموعة، اللوحة اليمين بتنقسم لاتنين على الديسكتوب، وبتتركّب فوق بعض على الموبايل.

الملخص

لوحة الملخص بتطلّع محتوى الطلب لآخر حدوث (لما يكون موجود) وقسمين فرعيين.

Impact:

الحقليعني إيه
Occurrencesالعدد الكلي زائد لافتة النطاق الزمني المحسوب ("in the last 24 hours"، "in the last hour"، إلخ).
Pathنقطة نهاية الـ API اللي الأخطاء ضربت عليها.
Source"Dashboard" (مع اسم عضو الفريق لو متاح) أو نوع مفتاح الـ API.

Error Details (من آخر حدوث في المجموعة دي):

الحقليعني إيه
Typeالـ errorType بتاع الخطأ، مثلًا invalid_request_error، api_error.
Codeالـ errorCode: المعرّف المحدّد، مثلًا resource_missing، parameter_unknown.
Paramحقل محتوى الطلب اللي سبّب الخطأ، مثلًا lineItems[*][price].
Statusحالة HTTP اللي الرد رجّعها.
IP Addressالـ IP بتاع العميل.
Originقيمة ترويسة Origin.

السجلات

الناحية اليمين بتعرض لحد 10 من أحدث الطلبات الفاشلة في المجموعة دي كصفوف مدمجة. اضغط أي صف علشان تدخل بالتفصيل على عرض التفاصيل الكامل على نمط تاب Logs (الطلب، والرد، والترويسات، والمحتوى، وحقول الخطأ).

إزاي بيشتغل التجميع

طلبين فاشلين بيتحطّوا في نفس المجموعة لما يشتركوا في نفس السبب الجذري، حتى لو كل التفاصيل التانية مختلفة. XPay بيختار مفتاح التجميع بالأولوية دي:

  1. حسب البارامتر. لو الخطأ ليه حقل param (حقل محتوى الطلب اللي فشل)، مفتاح المجموعة بيبقى <param> <method> <path>. فهارس المصفوفات في البارامتر بتتوحّد: lineItems[0][price] وlineItems[5][price] بيتجمّعوا في lineItems[*][price]. ده أكتر تجميع تحديدًا، وبيمسك "الحقل ده غلط في كل مكان".
  2. حسب الكود. غير كده، لو الخطأ ليه code، مفتاح المجموعة بيبقى <code> <method> <path>. بيمسك "نقطة النهاية دي بترجّع نفس كود الخطأ على طول".
  3. حسب النوع. غير كده، مفتاح المجموعة بيبقى الـ errorType بس. ده البديل الاحتياطي للأخطاء اللي مالهاش كود ولا بارامتر. صفوف المجموعات من النوع ده مش بتعرض طريقة ولا مسار.

نتيجتين تستاهل تعرفهم:

  • باگ واحد في كودك بينتج نفس الرفض على مستوى الـ param على كل line item بيظهر كمجموعة واحدة بعدد عالي، مش كذا مجموعة صغيّرة.
  • نقطة نهاية بتفشل لسببين مختلفين (واحد حقل ناقص، وواحد enum غلط) بتظهر كمجموعتين، حتى لو ضربوا نفس المسار.

الاحتفاظ بالبيانات

تاب Health بيقرا نفس بيانات api_request_logs اللي تاب Logs بيستخدمها، فهو محكوم بنفس فترة الاحتفاظ 30 يوم. الأخطاء الأقدم من 30 يوم بتختفي من العرض لإن الصفوف المصدر بتتشال فعليًا.

فلتر Time أقصاه آخر 7 أيام، وده جوّه نافذة الاحتفاظ بمسافة مريحة.

استخدام نموذجي

تلات دورات التاب مبني علشانها:

  1. فحص التراجعات بعد النشر. افتح Health، اظبط الوقت على Last hour، واسرح بعينك على أول القائمة. مجموعة جديدة فوق معناها إن النشر بتاعك بدأ ينتج نوع جديد من الأخطاء.
  2. تنظيف المتأخرات. اظبط الوقت على Last 7 days، الترتيب أصلًا حسب العدد. أول تلات مجموعات بيكونوا عادةً 80% من حجم أخطائك؛ صلّحهم الأول.
  3. مشكلة بلّغ عنها تاجر. فلتر نقطة نهاية الـ API على السطح اللي ذكره (مثلًا /refunds)، واظبط الوقت على Last 24 hours. القائمة بتضيق على الأخطاء في السطح ده بالظبط علشان تشوف حالته وقعت في أنهي مجموعة.

رايح فين بعد كده

في الصفحة دي