मुख्य सामग्री पर जाएं
POST
यह इंटर-बैंक खाता धारक सत्यापन सेवा के माध्यम से पुष्ट करता है कि दक्षिण अफ़्रीका का एक बैंक खाता नामित धारक का है। Didit इस सेवा को POST /v3/database-validation/ के जरिए उपलब्ध कराता है, ताकि आप सबमिट किए गए डेटा की प्रामाणिक स्रोत से तुलना कर सकें और सामान्यीकृत मिलान परिणाम प्राप्त कर सकें।

कवरेज

  • कवरेज: —
  • देश: दक्षिण अफ़्रीका
  • सेवा ID: zaf_bank_account_holder
  • डेटा डोमेन: वित्तीय
  • श्रेणी: बैंकिंग

इनपुट

  • आवश्यक इनपुट: national_id, bank_account_number, bank_name
  • वैकल्पिक इनपुट: account_type, first_name, last_name, initials, email, phone_number, vendor_data
  • सहमति: आवश्यक
  • वर्कफ़्लो में उपलब्धता: वर्कफ़्लो में फ़ील्ड मैपिंग के साथ उपलब्ध
  • कवरेज: —
  • कीमत: प्रति सफल क्वेरी $0.40
वर्कफ़्लो में, bank_account_number और bank_name किसी पहचान दस्तावेज़ पर छपे नहीं होते, इसलिए कोई चरण इन्हें अपने आप उत्पन्न नहीं करता। इन्हें किसी प्रश्नावली के उत्तर, Document AI निष्कर्षण फ़ील्ड, या सत्र बनाते समय आपके भेजे गए मान से एकत्र करें, और हर एक को डेटाबेस सत्यापन चरण पर मैप करें। मैप होने तक वर्कफ़्लो एडिटर इस सेवा को अक्षम दिखाता है और गायब इनपुट का नाम बताता है। रन के समय गायब इनपुट का अर्थ है कि जाँच किसी भी क्वेरी से पहले छोड़ दी जाती है, इसलिए जिस डेटाबेस से पूछा ही नहीं जा सका, उसके लिए आपसे कभी शुल्क नहीं लिया जाता।

बॉडी पैरामीटर

string
डिफ़ॉल्ट:"ZAF"
आवश्यक
इस डेटाबेस सेवा के लिए ISO 3166-1 alpha-3 देश कोड।उदाहरण: ZAF
string
डिफ़ॉल्ट:"zaf_bank_account_holder"
आवश्यक
इस सेवा ID वाला ऐरे। सेवा को पिन करने से अनुरोध इसी सटीक डेटाबेस तक सीमित रहता है।उदाहरण: zaf_bank_account_holder
इस सेवा के लिए अंतिम उपयोगकर्ता की स्पष्ट सहमति।उदाहरण: true
string
डिफ़ॉल्ट:"8708150847085"
आवश्यक
इस सेवा के लिए राष्ट्रीय पहचान संख्या।उदाहरण: 8708150847085
string
डिफ़ॉल्ट:"1234567890"
आवश्यक
इस डेटाबेस सेवा के लिए आवश्यक bank_account_number मान।उदाहरण: 1234567890
string
डिफ़ॉल्ट:"ABSA"
आवश्यक
इस डेटाबेस सेवा के लिए आवश्यक bank_name मान।उदाहरण: ABSA
string
डिफ़ॉल्ट:"current"
इस डेटाबेस सेवा के लिए आवश्यक account_type मान।उदाहरण: current
string
सत्यापित किया जाने वाला पहला नाम।उदाहरण: John
string
डिफ़ॉल्ट:"Doe"
सत्यापित किया जाने वाला उपनाम।उदाहरण: Doe
string
डिफ़ॉल्ट:"JD"
इस डेटाबेस सेवा के लिए आवश्यक initials मान।उदाहरण: JD
string
ईमेल पता।उदाहरण: john.doe@example.com
string
इस डेटाबेस सेवा के लिए आवश्यक phone_number मान।उदाहरण: +15550101000
string
डिफ़ॉल्ट:"user-1234"
इस व्यक्ति के लिए आपका स्थायी उपयोगकर्ता संदर्भ, जैसे आपका आंतरिक उपयोगकर्ता ID। Didit इसका उपयोग स्टैंडअलोन जाँचों को उसी अंतिम उपयोगकर्ता से जोड़ने और डुप्लिकेट-पहचान से जुड़े अनावश्यक संकेत कम करने के लिए करता है।उदाहरण: user-1234

इनपुट नियम और सत्यापन नोट्स

  • account_type दक्षिण अफ़्रीकी AVS खाता प्रकारों में से एक होना चाहिए: current, savings, transmission, subscriptionShare, notKnown। मिलान केस-इनसेंसिटिव है। अगर आपको खाता प्रकार पता नहीं है तो यह फ़ील्ड छोड़ दें। तब Didit notKnown भेजता है और खाता-प्रकार की जाँच को अनुरोध विफल करने के बजाय “पुष्ट नहीं” के रूप में दर्ज करता है।

इसे कैसे कॉल करें

लौटाया गया डेटा

source_data में ठीक-ठीक कौन-से फ़ील्ड आते हैं, यह इस पर निर्भर है कि रजिस्ट्री क्या लौटाती है। zaf_bank_account_holder के लिए जनरेट किया गया उदाहरण अभी इस सामान्यीकृत संरचना का दस्तावेज़ीकरण करता है:
  • accepts_credits
  • accepts_debits
  • account_found
  • account_number_length_valid
  • account_open
  • account_type_match
  • id_match
  • identification_number
  • initials_match
  • surname_match

मूल्य निर्धारण और SLA

दक्षिण अफ़्रीका: Bank Account Holder Verification क्वेरी तभी बिल की जाती हैं जब Didit को सत्यापन स्रोत से निर्णायक परिणाम मिलता है।
  • प्रति कॉल मूल्य: $0.40 USD।
  • बिलिंग: प्रति सफल क्वेरी। जब रजिस्ट्री पहुँच से बाहर हो, आवश्यक फ़ील्ड गायब हों, या अनुरोध स्रोत तक पहुँचने से पहले ही अस्वीकार हो जाए, तब आपसे शुल्क नहीं लिया जाता।
  • विलंबता: सामान्यतः p95 2 s से कम।
  • उपलब्धता: Didit की ओर से प्रति तिमाही 99.9%। डाउनस्ट्रीम स्रोत की उपलब्धता देश और डेटासेट के अनुसार अलग होती है।

MATCH क्या पुष्टि करता है

Account Holder Verification (AVS) हाँ/नहीं की जाँचों का एक समूह है, रिकॉर्ड की खोज नहीं। स्रोत कभी नाम, ID नंबर या खाते का बैलेंस नहीं लौटाता। वह आपके भेजे विवरण लेता है, उन्हें उस खाते के लिए बैंक के पास मौजूद जानकारी से मिलाता है, और हर तुलना का उत्तर एक फ़्लैग के रूप में देता है। source_data में वही फ़्लैग होते हैं:
  • account_found: बैंक के पास इस नंबर का खाता है। यह false हो तो बाकी सब अर्थहीन है।
  • account_open: खाता खुला है। खाता मिल सकता है और फिर भी बंद हो सकता है।
  • id_match: खाता उसी राष्ट्रीय ID के नाम पर है जो आपने भेजी। यही वह जाँच है जिसके लिए यह सेवा बनी है।
  • initials_match, surname_match: आपके भेजे initials और last_name बैंक के रिकॉर्ड में दर्ज खाताधारक से मेल खाते हैं।
  • account_type_match: आपका भेजा account_type खाते के वास्तविक प्रकार से मेल खाता है।
  • email_match, phone_match: आपके भेजे email और phone_number बैंक के पास मौजूद संपर्क विवरणों से मेल खाते हैं।
  • accepts_debits, accepts_credits: खाता डेबिट ऑर्डर और क्रेडिट प्राप्त कर सकता है।
  • account_number_length_valid: खाता नंबर उतनी लंबाई का है जितनी बैंक अपेक्षित करता है।
परिणाम कोड इन्हें सारांशित करता है:
  • MATCH: खाता मौजूद है और आपके भेजे हर फ़ील्ड का मिलान हुआ, id_match सहित।
  • PARTIAL_MATCH: खाता आपके द्वारा भेजी गई राष्ट्रीय ID के धारक के नाम पर है, लेकिन आपके भेजे कम से कम एक और फ़ील्ड का मिलान नहीं हुआ (उदाहरण के लिए, बैंक के रिकॉर्ड में अलग वर्तनी वाला उपनाम)। outcome_detail उन फ़ील्ड के नाम बताता है जो मेल नहीं खाए।
  • NO_MATCH: या तो बैंक के पास ऐसा कोई खाता नहीं है, या खाता है पर किसी और का है। दोनों ही व्यक्ति के बारे में निर्णायक उत्तर हैं।
जो जाँच आपने माँगी नहीं, वह न गिनी जाती है और न रिपोर्ट की जाती है। AVS हर उस फ़ील्ड के लिए N उत्तर देता है जो भेजा नहीं गया। इसलिए surname_match, initials_match, email_match, phone_match और account_type_match source_data में केवल तभी आते हैं जब आपने संबंधित इनपुट भेजा हो। इसका अर्थ है कि केवल national_id, bank_account_number और bank_name भेजने पर भी पूरा MATCH ही मिलता है।

स्वीकृत bank_name और account_type मान

bank_name और account_type पूर्वनिर्धारित विकल्पों वाले मान हैं। इनमें से किसी भी सूची से बाहर का मान क्वेरी चलने से पहले अस्वीकार कर दिया जाता है, इसलिए टाइपो की कीमत एक राउंड-ट्रिप होती है, शुल्क नहीं। account_type वैकल्पिक है और केस-इन्सेंसिटिव रूप में ये मान स्वीकार करता है: current · savings · transmission · subscriptionShare · notKnown जब आपको खाते का प्रकार पता न हो, तो इसे छोड़ दें। तब Didit notKnown भेजता है, अनुरोध सफल होता है, और account_type_match false लौटता है, क्योंकि तुलना के लिए कुछ था ही नहीं। कोई और मान, जैसे checking, cheque या bond, 400 के साथ अस्वीकार होता है, और उस उत्तर में स्वीकृत मानों की सूची होती है। bank_name आवश्यक है, और इन मानों के स्वीकृत होने की पुष्टि की गई है (केस-इन्सेंसिटिव): ABSA · Capitec · FNB · Nedbank · Standard Bank · Investec · African Bank · Discovery Bank · Old Mutual · Bank Zero · Tyme · Grindrod इन सभी बैंकों के उपभोक्ता खाते दायरे में हैं, Capitec भी। संक्षिप्त रूप ठीक सूची के अनुसार भेजें: Capitec, Capitec Bank नहीं; Tyme, TymeBank नहीं। अज्ञात बैंक के लिए REGISTRY_ERROR परिणाम लौटता है, और उसका outcome_detail उस फ़ील्ड का नाम बताता है जिसे स्रोत ने अस्वीकार किया।

गायब खाते और अनुपलब्ध स्रोत में अंतर

ये अलग-अलग HTTP परिणाम हैं, इसलिए त्रुटि स्ट्रिंग को पार्स करने की ज़रूरत नहीं:
  • खाता मौजूद नहीं है: 200 OK, match_type: "no_match", outcome_code: "NO_MATCH", source_data.account_found: false। यह बैंक का वास्तविक उत्तर है। बिल होता है, और आपकी नो-मैच कार्रवाई लागू होती है।
  • स्रोत ने उत्तर नहीं दिया: 502 Bad Gateway, जिसमें validation_errors[].code = empty_provider_response और retryable: true है। व्यक्ति के बारे में कुछ भी स्थापित नहीं हुआ, कोई शुल्क नहीं लगता, और अनुरोध दोबारा भेजना सुरक्षित है।
  • स्रोत ने क्वेरी चलाने से इनकार किया: 400 Bad Request, जिसमें validation_errors[].code = provider_rejected_input और retryable: false है। स्रोत ने खोज ही नहीं की, क्योंकि उसने भेजी गई जानकारी को स्वीकार करने से मना कर दिया। डेटा सुधारें; वही मान फिर भेजने से सफलता नहीं मिलेगी। कोई शुल्क नहीं।
  • स्रोत ने उत्तर दिया और आपके इनपुट को अस्वीकार किया: 502 Bad Gateway, जिसमें validation_errors[].code = provider_invalid_input है (उदाहरण के लिए, ऐसा खाता नंबर जो बैंक की अपनी फ़ॉर्मैट जाँच में विफल हो)। इनपुट सुधरने तक दोबारा भेजने का कोई अर्थ नहीं है; कोई शुल्क नहीं।
  • आपका अनुरोध Didit से बाहर नहीं गया: 400 Bad Request, जिसमें सुधारने योग्य फ़ील्ड सूचीबद्ध होते हैं। कोई शुल्क नहीं।
इनमें से केवल पहला व्यक्ति के बारे में उत्तर है। 502 को अस्थायी मानें। AVS किसी रजिस्ट्री को पढ़ने के बजाय खाताधारक के बैंक तक अनुरोध पहुँचाता है, इसलिए यह दक्षिण अफ़्रीकी सेवाओं में सबसे धीमी है। बैकऑफ़ के साथ पुनः प्रयास करें।

आगे पढ़ें

अंतिम संशोधन 7 नवंबर 2026