IOSOR ידע

מגבלות API מפיילוט לייצור: נסיגה בלי לשרוף prepaid

מגבלות פיילוט וייצור, נסיגה מעריכית, אידמפוטנטיות, מפתחות sandbox מול ייצור, וחלון replay webhook תחום — כדי ש־retry לא ירוקנו את ארנק prepaid.

429 אינו הזמנה להלום ב־API שליחה עד שמשהו עובר. ב־prepaid סערת retry היא אירוע ארנק: OTP כפול, התראות מוערמות, שורות ledger בלי זוג. מגבלות קיימות כדי שמוצר, הנדסה וכספים יחלקו תקרה אחת. מפיילוט לייצור אינו «להסיר את ה־cap» — מגבלות חוזיות, נסיגה שמכבדת אידמפוטנטיות, מפתחות sandbox וייצור נפרדים, וחלון replay webhook שאינו מחייב פעמיים. ראו אידמפוטנטיות, ניסיונות חוזרים וכסף.

IOSOR הוא prepaid בתווית לבנה: קריאות מאומתות, חיובים שניתן לקשר, שגיאות בטוחות ללקוח שלעולם לא שופכות מטען מותג זר. live / in setup בלתי תלוי בכמה חזק אתם retry — מסדרון in setup לא הופך Live כי הלקוח לולא. סביב USD 1,000+ שימוש חודשי, תקציבי retry ו־cutover מפתחות נכנסים לסקירה מסחרית. שמרו מעבר מסנדבוקס לייצור ו־חתימת וובהוק וחלון שידור חוזר באותו runbook.

מגבלות מגנות על prepaid, זה לא באג

מגבלות תוחמות כמה כוונות מקובלות פוגעות בארנק לחלון — לא כמה ניסיונות TCP עשה המאזן. תעדו חלון (לפי מפתח, חשבון, מחלקת יעד), קוד ו־Retry-After. לקוח שקורא 429 כ«נסה חזק יותר» רץ נגד כספים. ייצאו דחיות מגבלה ליד חיובים מוצלחים. קטלוג live עדיין נעצר בתקרה שפורסמה; in setup אינו sandbox בלי גבול.

אות הנדסה ארנק
429 / Retry-After נסיגה, כבדו את החלון אפס חיוב נוסף לאותה כוונה
5xx / timeout Retry בתקציב עם אותו מפתח אידמפוטנטיות חיוב אחד אם הניסיון הראשון נחת
4xx דחיית עסק אל ת־retry בעיוורון בלי חיוב, או שורת דחייה בשם

נסיגה בלי חיוב שני: מגבלות עם אידמפוטנטיות

נסיגה מעריכית בלי מפתח אידמפוטנטיות היא איך רשת רועדת הופכת לשני OTP. המפתח ייחודי לכוונת עסק, לא לניסיון TCP, ומחזיר את אותה תוצאה מקובלת בתוך TTL ברור. שליחה מחדש של משתמש היא פעולת מוצר אחרת עם מגבלה משלה. עצירת יתרה נמוכה חלה: retry לא צריך לנקב ארנק ריק.

מגבלות פיילוט מול ייצור

מפתחות פיילוט צריכים להיות הדוקים יותר: נפח נמוך, נראות מהירה, טעויות זולות. מגבלות ייצור חוזיות למסדרונות שאתם באמת מריצים. להרים תקרה הוא שינוי חשבון עם בעלים. מבחני עומס שייכים למפתחות sandbox; מפתח ייצור ב־soak שורף prepaid. אל תבטיחו QPS ייצור כל עוד מסדרון הקטלוג in setup.

מפתחות ו־replay webhook באותו cutover

מגבלות שליחה לא מצילות אם צרכן webhook מעבד DLR פעמיים. Cutover: הקפיאו תעבורת sandbox, הנפיקו מפתחות ייצור, הפנו webhook לצרכני ייצור, אמתו חתימות, תחמו חלון replay, ואז כוונה אמיתית אחת. callback חוזר ב־02:00 צריך להיות no-op, לא חיוב שני. סודות נפרדים; לעולם אל תדביקו בכרטיס.

דגלים אדומים

  • «Retry עד 200» בלי מפתח אידמפוטנטיות
  • 429 כ־200 רך
  • מפתח ייצור במבחן עומס או URL webhook sandbox בייצור
  • חלון replay נמדד בשבועות, או callback בלי חתימה «לפיילוט»
  • שליחה מחדש של משתמש מעורבבת בתקציב auto-retry
  • שגיאות לקוח ששופכות קוד גולמי ממעלה

התחלה עם IOSOR

כתבו את חלון המגבלה — לפי מפתח, חשבון או מחלקת יעד — ואת Retry-After שתכבדו. כפו 429, נסוגו, ואז נסו שוב את אותה כוונה עם אותו Idempotency-Key. ה-ledger חייב להראות חיוב אחד. החליפו את מפתח ה-sandbox במפתח production לפני שאתם מרימים תקרה.

סיכום IOSOR

עשו: התייחסו ל-429 כהפסקה עם Retry-After, לא כהצלחה רכה. צרפו כל נסיגה למפתח המקורי כדי ש-prepaid יראה כוונה אחת שהתקבלה.

אל: אל תרימו מגבלות production על מפתח עומס, ואל תדפקו עד 200 בלי מפתח עד שהארנק נראה כמו שימוש עודף.

האם המדריך הזה עזר?

מדריכים קשורים