ما هو
مدقق لمفاتيح عدم التكرار. يعيد تشغيل الطلبات المسجلة وفق القواعد التي تلتزم بها الواجهة البرمجية السليمة، ويقيّد كل طلب على أنه كتابة أولى أو إعادة آمنة أو مشكلة.
تدقيق عدم التكرار لواجهات الدفع والطلبات
يقرأ Idempotency Ledger سجلات طلباتك، ويقيّد كل عملية كتابة تحت مفتاح عدم التكرار الخاص بها، ويُظهر أين تسببت إعادة المحاولة في خصم ثانٍ أو طلب ثانٍ أو دفعة ثانية. لكل مشكلة المبلغ المعرّض للخطر وطريقة إصلاحها.
الخصومات حسب المفتاحNo. 0417
| الوقت | المفتاح | المبلغ |
|---|---|---|
| 10:00:00 | ik_7f3a | 49.99 |
| 10:00:03 | ik_7f3a | 49.99 |
| 10:05:00 | ik_c044 | 89.00 |
| 10:05:00 | ik_c044 | 89.00 |
| 10:12:00 | ik_f611 | 9.99 |
المبلغ الزائد+89.00 EUR
مدقق لمفاتيح عدم التكرار. يعيد تشغيل الطلبات المسجلة وفق القواعد التي تلتزم بها الواجهة البرمجية السليمة، ويقيّد كل طلب على أنه كتابة أولى أو إعادة آمنة أو مشكلة.
لمهندسي الخوادم والمدفوعات وفرق SRE ومسؤولي الدعم الذين يحتاجون إلى معرفة ما إذا كان العميل قد خُصم منه مرتين فعلًا ولماذا.
إعادة المحاولة أمر طبيعي، لكن الإعادة التي تنفذ العمل من جديد تسبب مشكلات مالية حقيقية. تختفي هذه الحالات بين آلاف الأسطر في السجلات، والدفتر يرفعها إلى الأعلى مع المجاميع.
الصق تصدير سجل أو افتح ملفًا. لا يُرفع أي شيء، فالتحليل والفحص يجريان في هذه الصفحة.
طلب واحد في كل سطر، أو مصفوفة JSON، أو ملف CSV بسطر عناوين.
تُعرف الحقول من أسمائها: time أو ts و method و path أو url و status ومفتاح عدم التكرار ومعرّف الكائن المنشأ مثل charge_id أو order_id و amount و currency و customer. يعمل أيضًا مع JSON المتداخل وترويسات Idempotency-Key.
الصق سجلًا واضغط دقّق السجل، أو حمّل المثال لترى كل أنواع النتائج.
يُفحص كل مفتاح متكرر بترتيب الوقت ويُقارن بما كان على الخادم السليم أن يفعله.
المفتاح نفسه والطلب نفسه ومعرّفان مختلفان للكائن المنشأ. نفذ الخادم العمل مرتين، وهذه أغلى الحالات.
وصلت نسختان خلال ثانيتين ونجحت كلتاهما. يحدث كثيرًا مع النقر المزدوج ومحاولات العميل المتسرعة.
جاء مفتاح قديم بمعاملات جديدة. الخادم السليم يرفضه بـ 422، وقبوله يخفي أخطاء العميل.
استجابة 5xx أنشأت كائنًا رغم ذلك، تلتها إعادة أنشأت كائنًا آخر. لا تظهر إلا إذا احتوت السجلات على المعرّفات.
لا يمكن إزالة تكرار عمليات الكتابة بلا مفتاح. تُقيّد عمليتان متطابقتان متقاربتان على أنهما تكرار.
المفتاح الذي يعود بعد المهلة يُعد عملًا جديدًا. اختر المهلة بما يطابق خادمك.
خذ الطلبات الموجهة إلى نقطة نهاية أو خدمة واحدة خلال فترة زمنية من سجلات البوابة أو موازن الأحمال أو التطبيق.
تعمل أسطر JSON ومصفوفة JSON وملفات CSV بعناوين والأسطر العادية التي تحتوي على أزواج key=value.
اختر المدة التي يحتفظ فيها خادمك بالمفاتيح. الواجهات على طريقة Stripe تستخدم 24 ساعة.
تظهر المشكلات أولًا مع المبلغ المعرّض للخطر. افتح مفتاحًا لترى كل سطر وطريقة الإصلاح، ثم انسخ التقرير أو نزّل ملف CSV.
قيمة فريدة يرسلها العميل مع عملية الكتابة. إذا وصل الطلب نفسه مرة أخرى بالمفتاح نفسه يعيد الخادم النتيجة الأولى بدل تنفيذ العمل مرتين.
يعني أن نسخة ثانية وصلت والأولى ما زالت قيد التنفيذ، فرفض الخادم تشغيلهما معًا. يمكن للعميل أن يعيد المحاولة لاحقًا ليحصل على النتيجة المحفوظة.
قبول معاملات جديدة بمفتاح قديم يعني أن لدى العميل خطأ يعيد استخدام المفاتيح. في المرة التالية سينشئ خصمًا خاطئًا يبدو كأنه إعادة.
إنها تجعل التدقيق دقيقًا. سجّل معرّف الكائن الذي أنشأته كل عملية كتابة، مثل charge_id أو order_id.