ज़्यादा तेज़ी से पते प्रोसेस करने के लिए, पते की पुष्टि करने वाले एपीआई का इस्तेमाल करें

कैंपेन का मकसद

डेवलपर के तौर पर, आप अक्सर ऐसे डेटासेट के साथ काम करते हैं जिनमें ग्राहक के पते होते हैं. ऐसा हो सकता है कि उन डेटासेट की क्वालिटी अच्छी न हो. आपको यह पक्का करना होगा कि ग्राहक आईडी की पुष्टि, डिलीवरी, कई तरह के इस्तेमाल के लिए पते सही हों.

पते की पुष्टि करने वाला एपीआई, Google Maps Platform का एक प्रॉडक्ट है. इसका इस्तेमाल करके, किसी पते की पुष्टि की जा सकती है. हालांकि, यह एक बार में सिर्फ़ एक ही पता प्रोसेस करता है. इस दस्तावेज़ में, हम अलग-अलग स्थितियों में, एपीआई टेस्टिंग से लेकर एक बार और बार-बार पते की पुष्टि करने तक, 'हाई वॉल्यूम अड्रेस पुष्टि' सुविधा को इस्तेमाल करने का तरीका जानेंगे.

इस्तेमाल के उदाहरण

अब हम उन इस्तेमाल के मामलों को समझेंगे जहां हाई वॉल्यूम पते की पुष्टि करना काम का होता है.

टेस्ट करना

आप हज़ारों पते चलाकर, अक्सर Address वैलिडेशन एपीआई की जांच करना चाहते हैं. हो सकता है कि आपके पास कॉमा सेपरेटेड वैल्यू वाली फ़ाइल में पते हों और आप पतों की क्वालिटी की पुष्टि करना चाहें.

पतों की पुष्टि एक बार की जाए

पते की पुष्टि करने वाले एपीआई में शामिल होने के दौरान, आपको उपयोगकर्ता डेटाबेस के मुकाबले अपने मौजूदा पते के डेटाबेस की पुष्टि करनी होती है.

पतों का बार-बार पुष्टि करना

पतों की पुष्टि करने के लिए, कई स्थितियों में बार-बार कॉल करना पड़ता है:

  • यह मुमकिन है कि आपने दिन के दौरान कैप्चर की गई जानकारी की पुष्टि करने के लिए जॉब शेड्यूल किए. उदाहरण के लिए, ग्राहक के साइन अप, ऑर्डर की जानकारी, और डिलीवरी के शेड्यूल से जुड़ी जानकारी.
  • आपको ऐसे डेटा डंप मिल सकते हैं जिसमें अलग-अलग डिपार्टमेंट के पते हों, जैसे कि बिक्री से लेकर मार्केटिंग तक. पते पाने वाला नया डिपार्टमेंट, आम तौर पर पतों की पुष्टि करना चाहता है.
  • ऐसा हो सकता है कि सर्वे या अलग-अलग प्रमोशन के दौरान और बाद में ऑनलाइन सिस्टम में अपडेट के दौरान पते इकट्ठा किए गए हों. सिस्टम में पते डालते समय, आपको इस बात की पुष्टि करनी होगी कि पते सही हैं.

तकनीकी चीज़ों के बारे में पूरी जानकारी

इस दस्तावेज़ के लिए, हम मानते हैं कि:

  • आपने ऐसे पते की पुष्टि करने वाले एपीआई को कॉल किया है जिसमें ग्राहक के डेटाबेस (जैसे कि ग्राहक की जानकारी वाला डेटाबेस) के पते शामिल होते हैं
  • अपने डेटाबेस में अलग-अलग पतों के लिए, मान्य होने वाले फ़्लैग को कैश मेमोरी में सेव किया जा सकता है.
  • जब कोई ग्राहक लॉग इन करता है, तो पते की पुष्टि करने वाले एपीआई से मान्य होने वाले फ़्लैग मिलते हैं.

प्रोडक्शन में इस्तेमाल के लिए कैश मेमोरी

पते की पुष्टि करने वाले एपीआई का इस्तेमाल करते समय, आपको अक्सर एपीआई कॉल के रिस्पॉन्स के कुछ हिस्से को कैश मेमोरी में सेव करना होता है. हमारी सेवा की शर्तों से यह तय होता है कि किस तरह का डेटा कैश मेमोरी में सेव किया जा सकता है. हालांकि, जिस डेटा को पते की पुष्टि करने वाले एपीआई से कैश मेमोरी में सेव किया जा सकता है उसे उपयोगकर्ता खाते की कैश मेमोरी में सेव करना ज़रूरी है. इसका मतलब है कि डेटाबेस में, पते या पते के मेटाडेटा को उपयोगकर्ता के ईमेल पते या अन्य मुख्य आईडी में कैश मेमोरी में सेव किया जाना चाहिए.

ज़्यादा वॉल्यूम वाले पते की पुष्टि के इस्तेमाल के उदाहरण के लिए, डेटा कैश मेमोरी में पते की पुष्टि करने वाले एपीआई की सेवा की खास शर्तों का पालन करना ज़रूरी है. इन शर्तों के बारे में सेक्शन 11.3 में बताया गया है. इस जानकारी के आधार पर, आपके पास यह तय करने का विकल्प होगा कि उपयोगकर्ता का पता अमान्य है या नहीं. इस स्थिति में, आपके ऐप्लिकेशन के साथ अगले इंटरैक्शन के दौरान, उपयोगकर्ता को सही पते का अनुरोध करना होगा.

  • AddressComponent ऑब्जेक्ट से मिलने वाला डेटा
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

अगर आपको असल पते की किसी जानकारी को कैश मेमोरी में सेव करना है, तो उस डेटा को सिर्फ़ उपयोगकर्ता की सहमति से कैश मेमोरी में सेव किया जाना चाहिए. इससे उपयोगकर्ता को यह पता चलता है कि किसी खास सेवा में उसका पता क्यों सेव किया जा रहा है. साथ ही, उसे पता शेयर करने की शर्तों से कोई परेशानी नहीं है.

उपयोगकर्ता की सहमति का एक उदाहरण, चेकआउट पेज पर ई-कॉमर्स पते के फ़ॉर्म के साथ सीधे तौर पर इंटरैक्शन करना होगा. हम समझते हैं कि पैकेज की शिपिंग के लिए, आपके पते को कैश मेमोरी में सेव और प्रोसेस किया जाएगा.

उपयोगकर्ता की सहमति से, रिस्पॉन्स से formattedAddress और दूसरे मुख्य कॉम्पोनेंट को कैश मेमोरी में सेव किया जा सकता है. हालांकि, बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले ऐप्लिकेशन में, उपयोगकर्ता सहमति नहीं दे सकता, क्योंकि पते की पुष्टि बैकएंड से हो रही है. इसलिए, बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले इस मामले में, बहुत सीमित जानकारी को कैश मेमोरी में सेव किया जा सकता है.

जवाब को समझना

अगर पते की पुष्टि करने वाले एपीआई के रिस्पॉन्स में नीचे दिए गए मार्कर मौजूद हैं, तो आपको यह भरोसा हो सकता है कि इनपुट पते की क्वालिटी डिलीवर की जा सकती है:

  • फ़ैक्ट्री ऑब्जेक्ट में addressComplete मार्कर true है,
  • फ़ैक्ट्री ऑब्जेक्ट का validationGranularity, PREMISE या SUB_PREMISE है
  • किसी भी AddressComponent को इस तरह से मार्क नहीं किया जाता:
    • Inferred(ध्यान दें: inferred=trueऐसा तब हो सकता है, जब addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected और
  • confirmationLevel: AddressComponent में पुष्टि का लेवलCONFIRMEDयाUNCONFIRMED_BUT_PLAUSIBLE पर सेट है

अगर एपीआई रिस्पॉन्स में ऊपर दिए गए मार्कर शामिल नहीं हैं, तो हो सकता है कि इनपुट पते की क्वालिटी खराब हो. इसे दिखाने के लिए, आपके पास अपने डेटाबेस में फ़्लैग कैश मेमोरी में सेव करने का विकल्प होता है. कैश मेमोरी में सेव किए गए फ़्लैग से पता चलता है कि पूरे पते की क्वालिटी खराब है. वहीं, स्पेल सुधार जैसे ज़्यादा जानकारी वाले फ़्लैग से पते की क्वालिटी से जुड़ी खास तरह की समस्या के बारे में पता चलता है. किसी पते के साथ खराब क्वालिटी के तौर पर फ़्लैग किए गए अगले ग्राहक के इंटरैक्शन पर, मौजूदा पते के साथ Address की पुष्टि वाले एपीआई को कॉल किया जा सकता है. पते की पुष्टि करने वाला एपीआई सही पता देगा, जिसे यूज़र इंटरफ़ेस (यूआई) प्रॉम्प्ट का इस्तेमाल करके दिखाया जा सकता है. ग्राहक के फ़ॉर्मैट किए गए पते को स्वीकार करने के बाद, इन्हें रिस्पॉन्स से कैश मेमोरी में सेव किया जा सकता है:

  • formattedAddress
  • postalAddress
  • addressComponent componentNamesया
  • UspsData standardizedAddress

बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले पते की पुष्टि करने की सुविधा लागू करना

ऊपर दी गई चर्चा के आधार पर:

  • कारोबारी वजहों से, Address Verification API से मिले रिस्पॉन्स के कुछ हिस्से को कैश मेमोरी में सेव करना अक्सर ज़रूरी होता है.
  • हालांकि, Google Maps Platform की सेवा की शर्तों में यह तय किया गया है कि किस डेटा को कैश मेमोरी में सेव किया जा सकता है.

नीचे दिए गए सेक्शन में, हम सेवा की शर्तों का पालन करने और हाई वॉल्यूम पते की पुष्टि करने के तरीकों पर दो चरणों वाली प्रोसेस पर चर्चा करेंगे.

पहला चरण:

पहले चरण में, हम पता लगाएंगे कि किसी मौजूदा डेटा पाइपलाइन से, पते की पुष्टि करने वाली ज़्यादा वॉल्यूम वाली स्क्रिप्ट को कैसे लागू किया जाता है. इस प्रोसेस की मदद से, पते की पुष्टि करने वाले एपीआई के रिस्पॉन्स से मिले खास फ़ील्ड को, सेवा की शर्तों के मुताबिक सेव किया जा सकेगा.

डायग्राम A: नीचे दिया गया डायग्राम दिखाता है कि 'हाई वॉल्यूम अड्रेस' की पुष्टि करने वाले लॉजिक से, डेटा पाइपलाइन को कैसे बेहतर बनाया जा सकता है.

alt_text

सेवा की शर्तों के मुताबिक, addressComponent से यह डेटा कैश मेमोरी में सेव किया जा सकता है:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

इसलिए, लागू करने के दौरान हम ऊपर बताए गए फ़ील्ड को UserID के लिए कैश मेमोरी में सेव करेंगे.

ज़्यादा जानकारी के लिए, असल डेटा स्ट्रक्चर पर जानकारी देखें.

दूसरा चरण:

पहले चरण में, हमने सुझाव इकट्ठा किए हैं कि इनपुट डेटासेट में मौजूद कुछ पते शायद अच्छी क्वालिटी वाले न हों. अगले चरण में, हम फ़्लैग किए गए इन पतों को लेकर, इन्हें उपयोगकर्ता के सामने पेश करेंगे और सेव किए गए पते को ठीक करने के लिए उनकी सहमति लेंगे.

डायग्राम B: इस डायग्राम में दिखाया गया है कि उपयोगकर्ता की सहमति वाले फ़्लो का एंड-टू-एंड इंटिग्रेशन कुछ इस तरह दिख सकता है:

alt_text

  1. जब उपयोगकर्ता लॉग इन करता है, तो सबसे पहले देखें कि आपने अपने सिस्टम में मौजूद, किसी पुष्टि वाले फ़्लैग को कैश मेमोरी में सेव किया है या नहीं.
  2. अगर फ़्लैग हैं, तो आपको उपयोगकर्ता को यूज़र इंटरफ़ेस (यूआई) दिखाना चाहिए, ताकि वह उसका पता ठीक कर सके और उसे अपडेट कर सके.
  3. अपडेट किए गए या कैश मेमोरी में सेव किए गए पते का इस्तेमाल करके, पते की पुष्टि करने वाले एपीआई को फिर से कॉल किया जा सकता है. इसके बाद, सही किया गया पता उपयोगकर्ता को दिखाकर, इसकी पुष्टि की जा सकती है.
  4. अगर पते की क्वालिटी अच्छी है, तो पते की पुष्टि करने वाला एपीआई, formattedAddress दिखाता है.
  5. अगर सुधार किए गए हैं, तो आप उपयोगकर्ता को अपना पता बता सकते हैं या कोई सुधार न होने पर उसे स्वीकार कर सकते हैं.
  6. जब उपयोगकर्ता न्योता स्वीकार कर लेता है, तब आपके पास डेटाबेस में formattedAddress को कैश मेमोरी में सेव करने का विकल्प होता है.

नतीजा

ज़्यादा संख्या में पते की पुष्टि करने की सुविधा का इस्तेमाल कई ऐप्लिकेशन में किया जा सकता है. इस दस्तावेज़ में कुछ स्थितियों और डिज़ाइन पैटर्न को दिखाने की कोशिश की गई है. इसमें बताया गया है कि Google Maps Platform की सेवा की शर्तों का पालन करते हुए इस तरह के समाधान को कैसे लागू किया जाता है.

इसके अलावा, हमने GitHub पर एक ओपन सोर्स लाइब्रेरी के तौर पर, हाई वॉल्यूम अड्रेस पुष्टि करने की प्रोसेस का रेफ़रंस लागू किया है. इसके लिए, 'हाई वॉल्यूम अड्रेस वैलिडेशन' की सुविधा को तुरंत देखना शुरू करें. साथ ही, अलग-अलग स्थितियों में लाइब्रेरी का इस्तेमाल करने के तरीकों के डिज़ाइन पैटर्न से जुड़े लेख पर जाएं.

अगले चरण

भरोसेमंद पतों की मदद से चेकआउट, डिलीवरी, और कार्रवाइयों को बेहतर बनाएं व्हाइटपेपर डाउनलोड करें और पते की पुष्टि करने की सुविधा की मदद से, चेकआउट, डिलीवरी, और कार्रवाइयों को बेहतर बनाना वेबिनार देखें.

आगे पढ़ने का सुझाव:

योगदानकर्ता

Google इस लेख को सेव रखता है. मूल रूप से इन योगदान देने वालों ने इसे लिखा है.
मुख्य लेखक:

हेनरिक वाल्व | सलूशन इंजीनियर
थॉमस एंग्लारेट | सलूशन इंजीनियर
सरथक गांगुली | सलूशन इंजीनियर