एपीआई एकीकरण जांच सूची
0) त्वरित समीक्षा (जो करता है)
- एकीकरण मालिक सौंपा गया
- ऑन-कॉल संपर्क (24 × 7/कार्य घंटे) निर्धारित हैं
- सहमत SLO/SLA और रिलीज सपोर्ट विंडो
- स्थिति पृष्ठ और घटना चैनल (ईमेल/स्लैक/वेबहुक)
1) एक्सेस, वातावरण, संस्करण
- सैंडबॉक्स/मंचन/उत्पादन एक्सेस किया गया
- एपीआई संस्करण की पुष्टि: '/v1 '/हेडर 'एक्स-एपीआई-वर्शन'
- आईपी और नेटवर्क नियमों को कॉन्फ़िगर करने दें
- घड़ी और TZ: UTC, NTP तुल्यकालन में हर समय
- SemVer SDK/क्लाइंट संगतता और संस्करण मैट्रिक्स सत्यापित
2) प्रमाणीकरण और टोकन
- तंत्र सहमत - क्लाइंट क्रेडेंशियल्स/ऑथ कोड + PKCE/API कुंजी/mTLS
- टोकन लाइफटाइम और रिफ्रेश टोकन रोटेशन कॉन्फ़िगर किया गया
- एपीआई कुंजी के लिए: गुप्त को एक बार दिखाया गया है, गुप्त प्रबंधक में संग्रहीत किया गया है
- JWKS/JTI/' बच्चे 'की जाँच की गई, the 5 मिनट पर घड़ी तिरछी
- 'प्राधिकरण' हेडर लॉग नहीं किया गया (संशोधन)
bash curl -sS -H "Authorization: Bearer $TOKEN" https://api. example. com/v1/ping
3) सुरक्षा और गोपनीयता
- टीएलएस 1। 2 +/एचएसटीएस, वैकल्पिक एमटीएलएस
- पीआईआई कम से कम: हम केवल वही भेजते हैं जो हमें चाहिए, लॉग में मास्क
- प्रतिधारण और विवाद नीति (GDPR/DSAR) प्रलेखित
- गुप्त रोटेशन: सक्रिय/अगली कुंजी, रोलओवर योजना
- एंटी-एब्यूज: कैप्चा/कीइंग स्पीड/पंजीकरण प्रतिबंध
4) सीमाएं, कोटा और बैकऑफ
- घोषित 'एक्स-रेटलिमिट- '/' एक्स-कोटा-' शीर्षक
- ग्राहक का सम्मान 429 और 'पुनरावृत्ति-बाद'
- केवल 5xx/408/429 के लिए पुनर्विचार, घातीय बैकऑफ + जिटर
- पुनरावृत्ति/समय सीमा निर्धारित (उदाहरण के लिए ≤ 5 पुनरावृत्ति, ≤ 60c कुल)
5) अज्ञानता और संघर्ष
- सभी लेखन संचालन 'Idempotency-Key' (TTL ≥ 24-72 h) के साथ भेजे जाते हैं
- डुप्लिकेट संघर्ष → 409 IDEMP_REPLAY संभाला
- ETag/' इफ-मैच 'प्रतिस्पर्धी अद्यतन के लिए सक्षम (यदि उपलब्ध हो)
bash curl -X POST /v1/payments \
-H "Idempotency-Key: pay-<uuid>" \
-d '{"amount":"12. 34","currency":"EUR"}'
6) पैगिनेशन और वृद्धिशील डेल्टा
- कर्सर/कीसेट पैगिनेशन का उपयोग किया जाता है ('next _ cursor', 'he _ more')
- स्थिर सॉर्ट '(updated_at, id)' प्रलेखित
- इंक्रीमेंटल अपलोड: वॉटरमार्क या टोकन बदलें
- ओवरलैप्स (ओवरलैप 1-2 मिनट) और डीडप द्वारा '(आईडी, संस्करण/सेक)'
7) त्रुटि प्रारूप और निदान
- वर्दी प्रारूप 'एप्लिकेशन/समस्या + json' (RFC 7807)
- क्षेत्र समर्थन: 'त्रुटि _ कोड', 'trace _ id', 'प्रतिशोधी', 'विवरण'
- त्रुटि मानचित्र और क्लाइंट क्रियाएँ वर्णित (रनबुक)
json
{
"type":"https://docs. example. com/errors/validation_failed",
"title":"Validation failed",
"status":422,
"error_code":"VAL_001",
"trace_id":"a1b2c3",
"retriable":false
}
8) वेबहूक: स्वीकृति और रिप्ले
- सफलता की पुष्टि - कोई 2xx; पूछताछ के बाद तेज एसीके
- Подпись HMAC ('X-Signation: sha256 =...'), 'X-Webhook-Id', 'X-Retry'
- रिट्रे पॉलिसी: बैकऑफ + जिटर, 24-72 घंटे तक
- DLQ + रिप्ले: उपलब्ध और मान्य
- रिसीवर, TTL ≥ रिट्रे विंडो पर डेडअप भंडारण
9) अवलोकन और अनुरेखण
- OpenTelemetry हुक क्लाइंट/SDK में सक्षम
- चेन-वाइड ट्रेस _ आईडी/एक्स-रिक्वेस्ट-आईडी सहसंबंध
- : 'अनुरोध _ कुल', 'त्रुटियां _ कुल {स्थिति}', 'विलंबता _ p95', 'retry _ count', '429 _ rate'
- अलार्म: 5xx/429 स्पाइक, p95 वृद्धि, सफलता दर ड्रॉप, वेबहुक लैग
promql rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m])
10) प्रदर्शन और स्थिरता
- कनेक्शन पूल, जीवित रखें, - जहां संभव हो
- बैकप्रेशर, ग्राहक कतार "फुलाया" नहीं है
- सर्किट-ब्रेकर/टाइमआउट/फॉलबैक पॉलिसी कॉन्फ़िगर की गई
- लोड परीक्षण: फट 10 ×, लंबे कनेक्शन, ठंड शुरू
11) डेटा, मुद्राएँ, समय
- प्रारूप: ISO-8601 UTC, पैसा - दशमलव तार/छोटी इकाइयाँ, स्थान पर्यावरण पर निर्भर नहीं करते हैं
- एन्कोडिंग/भाषाएं सुसंगत हैं (उदा। संदेश के लिए 'भाषा स्वीकारें' लेकिन मशीन के लिए 'त्रुटि _ कोड')
- राउंडिंग/कमीशन नीति प्रलेखित
12) सुलह
- चेकसम के साथ दैनिक/घंटे का सामंजस्य
- परीक्षण किए गए सामंजस्य के लिए API/अपलोड (CSV/JSON, प्रकट/हैश)
- विसंगतियाँ - 'ट्रेस _ आईडी' के संदर्भ में टिकटों में
13) अनुपालन और कानूनी पहलू
- एपीआई शर्तें स्वीकृत (उचित उपयोग/निर्यात नियंत्रण)
- पीआईआई/डेटा होल्डर्स - भूमिकाएं और भंडारण क्षेत्र परिभाषित
- लीगल होल्ड/ऑडिट लॉग एक्शन घटनाओं के लिए सक्षम
14) प्रलेखन और डेवलपर पोर्टल
- OpenAPI/AsyncAPI प्रासंगिक हैं, "कॉपी-पेस्ट" के उदाहरण हैं
- SDK (TS/Py/Java/Go/.NET) - संस्करण सुसंगत हैं, कुकबुक उपलब्ध है
- यह खेल का मैदान काम करता है, रेत की चाबियाँ सक्रिय हैं
- पोर्टल में Changelog/dequment/roadmap दिखाई दे रहे हैं
15) परीक्षण: कार्यात्मक, नकारात्मक, अराजकता
कार्यात्मक
- CRUD/प्रमुख परिदृश्य पारित (खुश पथ)
- पैगिनेशन/कर्सर/वृद्धिशील डेल्टास
नकारात्मक
- 401/403/404/409/422/429/5xx और 'रेट्री-आफ्टर' प्रसंस्करण
- गलत वेबहुक हस्ताक्षर, समाप्त टोकन, बड़े निकाय
अराजकता
- 10-30% घटनाओं को छोड़ दें, पुनर्क्रम करें, 1-10 मिनट की देरी
- निर्भरता अक्षम करें (PSP/KYC) → सही फॉलबैक/त्रुटियाँ
16) स्वीकृति और लॉन्च (गो-लाइव)
- अंतिम PRR (उत्पादन तत्परता समीक्षा) पारित
- कैनरी समावेश: 10% → 25% → 50% → 100%
- SLO सिग्नल पर ऑटो-रोलबैक (त्रुटियां/विलंबता/429)
- हादसा संपर्क मैट्रिक्स और एस्केलेशन पथ प्रकाशित
- पायलट उत्पन्न होने के बाद CAPA बैकलॉग
17) संचालन और समर्थन
- रनबुक/प्लेबुक: "5xx स्पाइक", "429 तूफान", "वेबहुक बैकलॉग", "टाइमआउट"
- नियमित SLO/त्रुटि बजट रिपोर्ट
- एक अनुसूची पर रहस्य और चाबियाँ घुमाना
- संस्करण अवसाद/प्रवासन योजना सहमत (सूर्यास्त तिथि)
18) कलाकृतियाँ पैटर्न
एनवी- कॉन्फिग टेम्पलेट
yaml api:
base_url: https://api. example. com/v1 timeout_ms: 10000 retries: { max: 5, strategy: expo-jitter }
auth:
kind: oauth2 token_url: https://auth. example. com/oauth2/token scopes: [wallet:read, wallet:write]
webhooks:
secret_ref: secret/webhook-hmac parallelism: 10 max_body_kb: 256
रिट्रे पॉलिसी (छद्म)
json
{"initial":1,"max":60,"factor":2. 0,"jitter":0. 2,"retriable":["5xx","408","429"]}
19) अंतिम चेकलिस्ट "हस्ताक्षर के लिए"
- वातावरण/संस्करण/कुंजी/मिश्र धातु तैयार
- Auth/JWT/keys/mTLS ने कॉन्फ़िगर और परीक्षण किया
- सीमाएं/कोटा/रिट्रेज ़/पहचान कार्यान्वित
- पैगिनेशन/कर्सर/डेल्टास डेटा पर काम करते हैं
- वेबहूक: हस्ताक्षर, रिप्ले, डीएलक्यू/रिप्ले सत्यापित
- त्रुटियों की समस्या + json ',' trace _ id 'sticks सभी लॉग में
- डैशबोर्ड/अलर्ट एकत्र, ओटेल सक्षम
- लोड/नकारात्मक/अराजकता परीक्षण पारित
- सुलह और रिपोर्ट अभिसरण, रनबुक को औपचारिक रूप दिया जाता है
- PRR/कैनरी/रोलबैक-प्लान तैयार, ऑन-कॉल संपर्क संकेत
कुल
यह चेकलिस्ट एपीआई एकीकरण के तकनीकी, परिचालन और अनुपालन पहलुओं को कवर करती है। ऊपर से नीचे तक की वस्तुओं के माध्यम से जाएं, स्वचालित जाँच सीमा, पहचान और वेबहूक, सक्षम अवलोकन और रोलबैक योजना - और आपका लॉन्च उत्पादन में "आश्चर्य" के बिना, अनुमानित होगा।