IOSOR دانش

وب‌هوک تکراری نباید بدهی دوم ایجاد کند

مسیر خطا: تلاش مجدد و بازپخش روی پول پیش‌پرداخت و صندوق پیام بدون تغییر باقی می‌مانند — یک شناسه رویداد، یک ردیف بدهی، یک خط صندوق.

تحویل حداقل یک‌باره تلاش مجدد خواهد کرد. یک وب‌هوک تکراری که بدهی دوم یا خط صندوق دوم ارسال می‌کند، یک حادثه مالی و عملیاتی است، نه یک «تایید بی‌خطر». این صفحه مسیر خطا است: تلاش‌های مجدد و بازپخش‌ها روی پول پیش‌پرداخت و صندوق پیام ثابت می‌مانند — نه مقاله ارسال-شناسایی API و نه راهنمای تلاش مجدد پیامک ورودی.

مرتبط: دروازه امضا و پنجره بازپخش، قرارداد وب‌هوک پیش از نخستین ارسال، ردیف debit در برابر وضعیت تحویل روی یک ledger.

سیستم IOSOR پیش‌پرداخت با برچسب سفید است. مبلغ USD 20 تست دودی رویداد تکراری را روی یک مصرف‌کننده تامین می‌کند؛ بررسی نرم نزدیک به USD 1,000/month قیمت‌گذاری می‌کند «تلاش مجدد = شارژ جدید» به عنوان بدهی تطبیق. مشتریان فقط شناسه رویدادهای برچسب سفید را می‌بینند.

پایداری یک مسیر خطا است نه شعار

مسیر موفقیت: یک رویداد امضا شده، یک پذیرش، یک بدهی. مسیر خطا اعتماد را می‌سوزاند — زمان‌پایانی، 5xx، بازپخش ارائه‌دهنده، فشار مجدد اپراتور. کلید پایداری را از قرارداد وب‌هوک پیش از نخستین ارسال پیش از اثرات جانبی ذخیره کنید: لجر، صندوق، CRM. نرم USD 1,000/month «تایید و سپس اختراع کلید جدید» را به عنوان بدهی حجم در نظر می‌گیرد؛ USD 20 ثابت می‌کند بازپخش اجباری هرگز پول را دو برابر نمی‌کند.

چه چیزی به عنوان تکراری شناخته می‌شود

سیگنال در نظر گرفتن به عنوان تکراری هنگامی که نتیجه امن
شناسه رویداد همان شناسه قبلاً در پنجره پذیرفته شده تایید؛ بدون بدهی دوم
شناسه پیام همان پیام قبلاً به لجر متصل شده استفاده مجدد از ردیف؛ بدون شارژ جدید
کلید صندوق همان MO/MT قبلاً ثبت شده بدون خط صندوق دوم
خارج از پنجره بازپخش تلاش مجدد کهنه پس از رد دروازه رد؛ بدون نوشتن پول/وضعیت
نوع ناشناس در لیست رویداد قرارداد نیست رها کردن؛ عدم موفقیت اختراعی

دروازه امضا و پنجره بازپخش اصالت و تازگی را تعیین می‌کند. این صفحه مالک آن چیزی است که پس از یک تکرار معتبر رخ می‌دهد: یک حالت نهایی، یک خط پول، یک خط صندوق.

پول نباید دو بار جابجا شود

بدهی دوم برای همان شناسه رویداد یک اشکال است حتی اگر محصول «همچنان تحویل داده شده را نشان دهد». مالی بر اساس شناسه رویداد یا پیام فیلتر می‌کند و یک ردیف پیش‌پرداخت برای آن پنجره UTC می‌بیند. اثرات جانبی جزئی پس از تایید — اول CRM، بعد لجر — حقیقت دوگانه ایجاد می‌کنند. اگر پردازش پس از ماندگاری شکست خورد، کارگر را روی همان کلید دوباره تلاش کنید؛ بدنه HTTP را به عنوان شارژ جدید دوباره نپذیرید. زبان حجم نرم تا زمانی که دود تکراری یک خط لجر را نشان دهد مسدود می‌ماند.

صندوق پیام نیز نباید دو برابر شود

پایداری فقط مربوط به پول نیست. یک رویداد ورودی یا تحویل بازپخش شده که دومین رشته صندوق پیام را باز می‌کند، پشتیبانی را آموزش می‌دهد تا به دنبال ارواح بدود و می‌تواند حلقه‌های پاسخ خودکار را فعال کند. کلید صندوق پیام را با همان شناسه رویداد استفاده شده برای بدهی ذخیره کنید. محصول و مالی رد/تکرار را به اشتراک می‌گذارند.

چک‌لیست خریدار برای وب‌هوک‌های امن در برابر تکرار

مطمین شوید که کلید پایداری پیش از هرگونه اقدام بعدی CRM یا پایگاه داده ذخیره می‌شود. تایید کنید که پاسخ HTTP 200 برای یک تکرار شناخته شده بدون فعال کردن بدهی اضافی لجر ارسال می‌شود. اطمینان حاصل کنید که پنجره بازپخش در دروازه امضا پیش از اجرای هرگونه منطق تجاری اعمال می‌شود. سیستم خود را به طور مرتب با تزریق بار تکراری آزمایش کنید.

با IOSOR شروع کنید

یک بازپخش امضاشده را داخل پنجره روی کریدوری که قبلاً کسر شده وادار کنید. شناسه رویداد را کنار شناسه دفتر بیرون دهید و یک ردیف کسر و یک ردیف صندوق ورودی ثابت کنید. اگر کسر دوم آمد آن مصرف‌کننده را بایستانید و ردیف اضافه را برگردانید — با ترافیک بعدی تهاتر نکنید. این دروازه پول بازپخش است، نه بررسی E.164 و نه متن ارسال کالا.

جمع‌بندی IOSOR

بازپخش ارسال تازه نیست. یک شناسه رویداد یک کسر می‌نویسد.

بکنید: امضا و پنجره بازپخش را روشن نگه دارید، سپس یک کسر پس از POST داخل پنجره ثابت کنید. نکنید: هر POST را کسر کردن، یا تلاش دوباره شبکه را فاکتور دوم دانستن.

آیا این راهنما مفید بود؟

راهنماهای مرتبط