উচ্চ ভলিউমে ঠিকানাগুলি প্রক্রিয়া করতে ঠিকানা যাচাইকরণ API ব্যবহার করুন

উদ্দেশ্য

একজন ডেভেলপার হিসেবে, আপনাকে প্রায়শই গ্রাহকদের ঠিকানা সম্বলিত ডেটাসেট নিয়ে কাজ করতে হয়, যেগুলোর মান ভালো নাও হতে পারে। গ্রাহক আইডি যাচাইকরণ থেকে শুরু করে ডেলিভারি এবং আরও অনেক কিছুর মতো বিভিন্ন ক্ষেত্রে ব্যবহারের জন্য আপনাকে ঠিকানাগুলোর সঠিকতা নিশ্চিত করতে হবে।

অ্যাড্রেস ভ্যালিডেশন এপিআই হলো গুগল ম্যাপস প্ল্যাটফর্মের একটি প্রোডাক্ট যা আপনি একটি ঠিকানা যাচাই করার জন্য ব্যবহার করতে পারেন। তবে, এটি একবারে শুধুমাত্র একটি ঠিকানা প্রসেস করে। এই ডকুমেন্টে, আমরা এপিআই টেস্টিং থেকে শুরু করে এককালীন এবং পুনরাবৃত্তিমূলক ঠিকানা যাচাইকরণ পর্যন্ত বিভিন্ন পরিস্থিতিতে কীভাবে হাই ভলিউম অ্যাড্রেস ভ্যালিডেশন ব্যবহার করতে হয়, তা আলোচনা করব।

ব্যবহারের ক্ষেত্র

এখন আমরা সেই ব্যবহারগুলো বুঝব যেখানে বিপুল সংখ্যক ঠিকানা যাচাইকরণ (High Volume Address Validation) উপযোগী।

পরীক্ষা

আপনি প্রায়শই হাজার হাজার ঠিকানা চালিয়ে অ্যাড্রেস ভ্যালিডেশন এপিআই পরীক্ষা করতে চান। আপনার কাছে ঠিকানাগুলো একটি কমা সেপারেটেড ভ্যালু ফাইলে থাকতে পারে এবং আপনি ঠিকানাগুলোর গুণমান যাচাই করতে চাইতে পারেন।

ঠিকানার এককালীন যাচাইকরণ

অ্যাড্রেস ভ্যালিডেশন এপিআই-তে অনবোর্ডিং করার সময়, আপনি আপনার বিদ্যমান ঠিকানা ডেটাবেসটিকে ব্যবহারকারী ডেটাবেসের সাথে মিলিয়ে যাচাই করতে চাইবেন।

ঠিকানার পুনরাবৃত্তিমূলক যাচাইকরণ

বিভিন্ন পরিস্থিতিতে নিয়মিতভাবে ঠিকানা যাচাই করার প্রয়োজন হয়:

  • দিনের বেলায় সংগৃহীত তথ্য, যেমন—গ্রাহক নিবন্ধন, অর্ডারের বিবরণ, ডেলিভারির সময়সূচী ইত্যাদির জন্য ঠিকানা যাচাই করতে আপনি হয়তো কাজ নির্ধারণ করে রেখেছেন।
  • আপনি বিভিন্ন বিভাগ, যেমন সেলস থেকে মার্কেটিং বিভাগের ঠিকানা সম্বলিত ডেটা ডাম্প পেতে পারেন। ঠিকানাগুলো গ্রহণকারী নতুন বিভাগটি প্রায়শই ব্যবহারের আগে সেগুলো যাচাই করে নিতে চায়।
  • আপনি জরিপ বা বিভিন্ন প্রচারণার সময় ঠিকানা সংগ্রহ করতে পারেন এবং পরে অনলাইন সিস্টেমে তা আপডেট করতে পারেন। সিস্টেমে ঠিকানাগুলো প্রবেশ করানোর সময় আপনি সেগুলো সঠিক কিনা তা যাচাই করে নিতে চাইবেন।

প্রযুক্তিগত গভীর বিশ্লেষণ

এই নথির উদ্দেশ্যে, আমরা ধরে নিচ্ছি যে:

  • আপনি একটি গ্রাহক ডেটাবেস (অর্থাৎ গ্রাহকের বিবরণ সম্বলিত একটি ডেটাবেস) থেকে ঠিকানা দিয়ে ঠিকানা যাচাইকরণ এপিআই (Address Validation API) কল করছেন।
  • আপনি আপনার ডাটাবেসে থাকা প্রতিটি ঠিকানার জন্য বৈধতার ফ্ল্যাগগুলো ক্যাশ করে রাখতে পারেন।
  • যখন কোনো গ্রাহক লগ ইন করেন, তখন অ্যাড্রেস ভ্যালিডেশন এপিআই (Address Validation API) থেকে ভ্যালিডিটি ফ্ল্যাগগুলো সংগ্রহ করা হয়।

উৎপাদন ব্যবহারের জন্য ক্যাশে

অ্যাড্রেস ভ্যালিডেশন এপিআই ব্যবহার করার সময়, আপনি প্রায়শই এপিআই কলের প্রতিক্রিয়ার কিছু অংশ ক্যাশ করতে চান। যদিও আমাদের পরিষেবার শর্তাবলীতে কোন ডেটা ক্যাশ করা যাবে তা সীমিত করা আছে, অ্যাড্রেস ভ্যালিডেশন এপিআই থেকে যে কোনো ডেটা ক্যাশ করা গেলে তা অবশ্যই একটি ব্যবহারকারী অ্যাকাউন্টের সাপেক্ষে ক্যাশ করতে হবে। এর মানে হলো, ডেটাবেসে ঠিকানা বা ঠিকানার মেটাডেটা অবশ্যই একজন ব্যবহারকারীর ইমেল ঠিকানা বা অন্য কোনো প্রাথমিক আইডির সাপেক্ষে ক্যাশ করতে হবে।

অত্যধিক সংখ্যক ব্যবহারকারীর ঠিকানা যাচাইকরণের ক্ষেত্রে, ডেটা ক্যাশিং অবশ্যই ১১.৩ অনুচ্ছেদে বর্ণিত ‘ঠিকানা যাচাইকরণ এপিআই পরিষেবা-সংক্রান্ত নির্দিষ্ট শর্তাবলী ’ অনুসরণ করবে। এই তথ্যের ভিত্তিতে, আপনি নির্ধারণ করতে পারবেন যে কোনো ব্যবহারকারীর ঠিকানা অবৈধ কিনা, এবং যদি অবৈধ হয়, তবে আপনার অ্যাপ্লিকেশনের সাথে পরবর্তী যোগাযোগের সময় আপনি ব্যবহারকারীকে একটি সংশোধিত ঠিকানার জন্য অনুরোধ করবেন।

  • AddressComponent অবজেক্ট থেকে প্রাপ্ত ডেটা
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

আপনি যদি প্রকৃত ঠিকানা সম্পর্কিত কোনো তথ্য ক্যাশ করতে চান, তবে সেই ডেটা অবশ্যই ব্যবহারকারীর সম্মতি সাপেক্ষে ক্যাশ করতে হবে। এর মাধ্যমে নিশ্চিত করা হয় যে, কোনো নির্দিষ্ট পরিষেবা কেন তাদের ঠিকানা সংরক্ষণ করছে সে সম্পর্কে ব্যবহারকারী ভালোভাবে অবগত আছেন এবং ঠিকানা শেয়ার করার শর্তাবলীতে তারা সম্মত আছেন।

ব্যবহারকারীর সম্মতির একটি উদাহরণ হলো চেকআউট পেজে থাকা ই-কমার্স ঠিকানা ফর্মের সাথে সরাসরি মিথস্ক্রিয়া। এক্ষেত্রে এই বোঝাপড়া থাকে যে, আপনি একটি প্যাকেজ পাঠানোর উদ্দেশ্যে ঠিকানাটি ক্যাশ করে রাখবেন এবং প্রসেস করবেন।

ব্যবহারকারীর সম্মতি সাপেক্ষে, আপনি রেসপন্স থেকে formattedAddress এবং অন্যান্য গুরুত্বপূর্ণ উপাদান ক্যাশ করতে পারেন। তবে, একটি হেডলেস পরিস্থিতিতে ব্যবহারকারী সম্মতি দিতে পারেন না, কারণ ঠিকানার যাচাইকরণ ব্যাকএন্ড থেকে সম্পন্ন হয়। তাই, এই হেডলেস পরিস্থিতিতে আপনি খুব সীমিত তথ্য ক্যাশ করতে পারবেন।

প্রতিক্রিয়াটি বুঝুন

যদি অ্যাড্রেস ভ্যালিডেশন এপিআই (Address Validation API) রেসপন্সে নিম্নলিখিত মার্কারগুলো থাকে, তাহলে আপনি নিশ্চিত হতে পারেন যে ইনপুট করা ঠিকানাটি ডেলিভারিযোগ্য মানের:

  • Verdict অবজেক্টের addressComplete মার্কারটি true ,
  • Verdict অবজেক্টের validationGranularity হলো PREMISE অথবা SUB_PREMISE
  • AddressComponent- গুলোর কোনোটিই নিম্নরূপে চিহ্নিত নয়:
    • Inferred (দ্রষ্টব্য : inferred=true addressComplete=true হতে পারে)
    • spellCorrected
    • replaced
    • unexpected , এবং
  • confirmationLevel : AddressComponent- এর কনফার্মেশন লেভেল CONFIRMED অথবা UNCONFIRMED_BUT_PLAUSIBLE এ সেট করা থাকে।

যদি এপিআই (API) রেসপন্সে উপরের মার্কারগুলো না থাকে, তাহলে সম্ভবত ইনপুট করা ঠিকানাটি নিম্নমানের ছিল, এবং তা প্রতিফলিত করার জন্য আপনি আপনার ডাটাবেসে ফ্ল্যাগ ক্যাশ করতে পারেন। ক্যাশ করা ফ্ল্যাগগুলো নির্দেশ করে যে ঠিকানাটি সামগ্রিকভাবে নিম্নমানের, অন্যদিকে 'বানান সংশোধিত' (Spell Corrected)-এর মতো আরও বিস্তারিত ফ্ল্যাগগুলো ঠিকানার মানের নির্দিষ্ট ধরনের সমস্যা নির্দেশ করে। নিম্নমানের হিসেবে ফ্ল্যাগ করা কোনো ঠিকানা নিয়ে পরবর্তী গ্রাহক ইন্টারঅ্যাকশনের সময়, আপনি বিদ্যমান ঠিকানাটি দিয়ে অ্যাড্রেস ভ্যালিডেশন এপিআই (Address Validation API) কল করতে পারেন। অ্যাড্রেস ভ্যালিডেশন এপিআই সংশোধিত ঠিকানাটি ফেরত দেবে, যা আপনি একটি ইউআই (UI) প্রম্পট ব্যবহার করে প্রদর্শন করতে পারেন। গ্রাহক ফরম্যাট করা ঠিকানাটি গ্রহণ করার পর, আপনি রেসপন্স থেকে নিম্নলিখিত বিষয়গুলো ক্যাশ করতে পারেন:

  • formattedAddress
  • postalAddress
  • addressComponent componentNames অথবা
  • UspsData standardizedAddress

হেডলেস অ্যাড্রেস ভ্যালিডেশন বাস্তবায়ন করুন

উপরোক্ত আলোচনার ভিত্তিতে:

  • ব্যবসায়িক কারণে প্রায়শই অ্যাড্রেস ভ্যালিডেশন এপিআই থেকে প্রাপ্ত রেসপন্সের কিছু অংশ ক্যাশ করে রাখার প্রয়োজন হয়।
  • তবে গুগল ম্যাপস প্ল্যাটফর্মের পরিষেবার শর্তাবলীতে কোন ডেটা ক্যাশ করা যাবে তার উপর সীমাবদ্ধতা আরোপ করা হয়েছে।

পরবর্তী অংশে, আমরা পরিষেবার শর্তাবলী মেনে চলার এবং বিপুল সংখ্যক ঠিকানা যাচাইকরণ বাস্তবায়নের একটি দুই-ধাপের প্রক্রিয়া নিয়ে আলোচনা করব।

ধাপ ১:

প্রথম ধাপে আমরা দেখব কিভাবে একটি বিদ্যমান ডেটা পাইপলাইন থেকে বিপুল সংখ্যক অ্যাড্রেস ভ্যালিডেশন স্ক্রিপ্ট প্রয়োগ করা যায়। এই প্রক্রিয়াটি আপনাকে অ্যাড্রেস ভ্যালিডেশন এপিআই রেসপন্স থেকে নির্দিষ্ট ফিল্ডগুলো টার্মস অফ সার্ভিসের নিয়ম মেনে সংরক্ষণ করার সুযোগ দেবে।

চিত্র A: নিম্নলিখিত চিত্রটি দেখায় কিভাবে একটি ডেটা পাইপলাইনকে উচ্চ ভলিউম ঠিকানা যাচাইকরণ লজিক দ্বারা উন্নত করা যেতে পারে।

alt_text

পরিষেবার শর্তাবলী অনুসারে, আপনি addressComponent থেকে নিম্নলিখিত ডেটা ক্যাশ করতে পারেন:

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

সুতরাং বাস্তবায়নের এই ধাপে আমরা ইউজারআইডি-র সাপেক্ষে উপরোক্ত ফিল্ডগুলো ক্যাশ করে রাখব।

আরও তথ্যের জন্য প্রকৃত ডেটা কাঠামোর বিবরণ দেখুন।

ধাপ ২:

প্রথম ধাপে, আমরা এই মতামত পেয়েছি যে ইনপুট ডেটাসেটের কিছু ঠিকানা হয়তো উন্নত মানের নয়। পরবর্তী ধাপে, আমরা এই চিহ্নিত ঠিকানাগুলো ব্যবহারকারীর সামনে উপস্থাপন করব এবং সংরক্ষিত ঠিকানাটি সংশোধন করার জন্য তাঁর সম্মতি নেব।

চিত্র B : এই চিত্রটি দেখায় যে ব্যবহারকারীর সম্মতি প্রবাহের একটি এন্ড-টু-এন্ড ইন্টিগ্রেশন দেখতে কেমন হতে পারে:

alt_text

  1. ব্যবহারকারী লগ ইন করার পর, প্রথমে যাচাই করুন আপনার সিস্টেমে কোনো ভ্যালিডেশন ফ্ল্যাগ ক্যাশ করা আছে কিনা।
  2. যদি কোনো ত্রুটি চিহ্নিত করা থাকে, তবে ব্যবহারকারীকে তার ঠিকানা সংশোধন ও হালনাগাদ করার জন্য একটি ইউজার ইন্টারফেস (UI) দেখানো উচিত।
  3. আপনি আপডেট করা বা ক্যাশ করা ঠিকানা দিয়ে অ্যাড্রেস ভ্যালিডেশন এপিআই-কে আবার কল করতে পারেন এবং নিশ্চিতকরণের জন্য ব্যবহারকারীকে সংশোধিত ঠিকানাটি দেখাতে পারেন।
  4. ঠিকানাটি ভালো মানের হলে, অ্যাড্রেস ভ্যালিডেশন এপিআই একটি formattedAddress ) ফেরত দেয়।
  5. সংশোধন করা থাকলে আপনি সেই ঠিকানাটি ব্যবহারকারীকে দেখাতে পারেন, অথবা কোনো সংশোধন না থাকলে নীরবে তা গ্রহণ করতে পারেন।
  6. ব্যবহারকারী সম্মতি দিলে, আপনি ডেটাবেসে formattedAddress ক্যাশ করে রাখতে পারেন।

উপসংহার

বিপুল সংখ্যক ঠিকানার বৈধতা যাচাই একটি সাধারণ ব্যবহার, যা আপনি অনেক অ্যাপ্লিকেশনেই দেখতে পাবেন। এই ডকুমেন্টটিতে গুগল ম্যাপস প্ল্যাটফর্মের পরিষেবার শর্তাবলী মেনে এই ধরনের একটি সমাধান কীভাবে বাস্তবায়ন করা যায়, তার কিছু পরিস্থিতি এবং একটি ডিজাইন প্যাটার্ন তুলে ধরার চেষ্টা করা হয়েছে।

আমরা হাই ভলিউম অ্যাড্রেস ভ্যালিডেশন-এর একটি রেফারেন্স ইমপ্লিমেন্টেশন গিটহাবে একটি ওপেন সোর্স লাইব্রেরি হিসেবে লিখেছি। হাই ভলিউম অ্যাড্রেস ভ্যালিডেশন ব্যবহার করে দ্রুত বিল্ড শুরু করতে এটি দেখুন। এছাড়াও, বিভিন্ন পরিস্থিতিতে লাইব্রেরিটি কীভাবে ব্যবহার করবেন, তার ডিজাইন প্যাটার্ন সম্পর্কিত আর্টিকেলটি দেখুন।

পরবর্তী পদক্ষেপ

"নির্ভরযোগ্য ঠিকানার মাধ্যমে চেকআউট, ডেলিভারি এবং অপারেশন উন্নত করুন" শীর্ষক হোয়াইটপেপারটি ডাউনলোড করুন এবং "ঠিকানা যাচাইকরণের মাধ্যমে চেকআউট, ডেলিভারি এবং অপারেশন উন্নত করুন" ওয়েবিনারটি দেখুন।

আরও পড়ার জন্য পরামর্শ:

অবদানকারীরা

গুগল এই নিবন্ধটি রক্ষণাবেক্ষণ করে। নিম্নলিখিত অবদানকারীরা মূলত এটি লিখেছেন।
প্রধান লেখকগণ:

হেনরিক ভালভ | সলিউশনস ইঞ্জিনিয়ার
টমাস অ্যাংলারেট | সলিউশনস ইঞ্জিনিয়ার
সার্থক গাঙ্গুলি | সমাধান প্রকৌশলী