المراقبة

معرّفان يربطان كل شيء

  • معرّف الاستدعاء — كل ردّ يحمل X-Request-Id، وكل رفض يكرّره في requestId. سجّله مع كل استدعاء؛ فهو ما يحتاجه أنيس للعثور على استدعائك.
  • معرّف العملية — المعرّف الذي اخترته لطلب الشراء. سجّله في كل خطوة، من تخزين نيّة الشراء إلى تخزين الرموز. فهو يتتبّع عملية شراء واحدة عبر نظامك وأنيس.

ما يستدعي التنبيه

الإشارة السبب
طلبات الشراء ذات النتيجة المجهولة — انتهاء المهلة، وانقطاع الاتصال، والردود التي لا يمكن التحقق منها، وحالات الرفض التي قد يكتمل الطلب بعدها رغم ذلك يجب استئناف كلٍّ منها بمعرّف العملية نفسه
الردود التي تعذّر التحقق منها شيء ما بينك وبين أنيس غيّر ردًّا، أو أن إحدى الساعات منحرفة بشدة، أو فاتك تدوير مفتاح لدى أنيس. أما دفعة قصيرة واحدة من ردود 503 غير الموقّعة فتعني أن التوقيع لدى أنيس نفسه غير متاح لفترة وجيزة
invalid_credentials في كل استدعاء أُلغي المفتاح أو استُبدل، أو انحرفت الساعة
rate_limited حركة استدعاءاتك قريبة من حدّ وضعه موظفو أنيس

لا تسجّل أبدًا

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

مع حزمة SDK لـ ‎.NET

تُبلغ حزمة SDK عن كل شيء تحت اسم واحد، Anis.Partners.Sdk، للتتبّعات وللمقاييس، وتكتب سجلاتها عبر نظام التسجيل الخاص بك:

builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => tracing.AddSource("Anis.Partners.Sdk"))
    .WithMetrics(metrics => metrics.AddMeter("Anis.Partners.Sdk"));
المقياس ما يخبرك به
anis.partners.order.outcomes طلبات الشراء حسب النتيجة: completed، processing، replayed — وunknown، وهي التي يجب التنبيه عليها
anis.partners.request.duration كل استدعاء، حسب المسار والحالة أو رمز الرفض
anis.partners.signature.duration الوقت المستغرق في التوقيع — الخزنة (vault) البطيئة يظهر أثرها هنا
anis.partners.response.verification.failures الردود التي جرى التخلّص منها، حسب القاعدة التي فشلت
anis.partners.signing_keys.fetches مرات جلب المفاتيح العامة لأنيس؛ ارتفاع refresh يعني تدوير مفاتيح

يحمل تتبّع كل استدعاء المسارَ ومعرّفَ الاستدعاء، ومعرّفَ العملية في طلبات الشراء. لا تسجّل حزمة SDK أبدًا أيًّا من الأسرار المذكورة أعلاه — إذ تفحص اختباراتها كل سطر سجل وكل تتبّع وكل مقياس بحثًا عنها.

المزيد في صفحة حزمة SDK لـ ‎.NET.