এই ডকুমেন্টটিতে এমন বেশ কিছু বাস্তব পরিস্থিতি বর্ণনা করা হয়েছে, যেখানে অ্যাড্রেস ভ্যালিডেশন এপিআই এমন সব অ্যাড্রেসের জন্য রেসপন্স সিগন্যাল প্রদান করে, যেগুলোর জন্য আপনার সিস্টেম থেকে একটি কনফার্ম আচরণ প্রয়োজন। এখানে দেওয়া উদাহরণগুলো কেবল দৃষ্টান্তমূলক, কিন্তু সম্পূর্ণ নয়। প্রাসঙ্গিক তথ্যের জন্য 'আপনার ভ্যালিডেশন লজিক তৈরি করুন' -এর 'ওয়ার্কফ্লো ওভারভিউ' অংশটি দেখুন।
সাধারণ উদাহরণ: নিশ্চিত করা
নিম্নলিখিত উদাহরণটি একই রকম রাস্তার নামযুক্ত মহানগর এলাকাগুলির ক্ষেত্রে প্রযোজ্য। ধরুন, একজন ব্যবহারকারী মার্কিন যুক্তরাষ্ট্রের ওয়াশিংটন রাজ্যের কার্কল্যান্ডে অবস্থিত গুগল বিল্ডিং ডি- এর ঠিকানা লিখতে চান। কিন্তু, শহর হিসেবে কার্কল্যান্ডের পরিবর্তে, তিনি ভুলবশত সিয়াটল লিখে ফেলেন।
| ঠিকানা প্রবেশ করানো হয়েছে | অঞ্চল |
|---|---|
| বিল্ডিং ডি, ৪৫১ সেভেন্থ অ্যাভিনিউ সাউথ, সিয়াটল, ওয়াশিংটন ৯৮০৩৩ | মার্কিন যুক্তরাষ্ট্র |
প্রতিস্থাপিত ডেটার জন্য রায়
নিচের উদাহরণটি রায় থেকে প্রাপ্ত গুরুত্বপূর্ণ সংকেতগুলোর ওপর জোর দেয়।
{
"inputGranularity": "SUB_PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete": true,
"hasUnconfirmedComponents": true
"hasReplacedComponents": true
}
PREMISE_PROXIMITY গ্র্যানুলারিটি লেভেলটি একটি বিল্ডিং-স্তরের ঠিকানার প্রক্সিমেশন নির্দেশ করে, কিন্তু এটি SUB_PREMISE মতো বিস্তারিত নয়, যা ইনপুটে প্রদত্ত গ্র্যানুলারিটি। প্রতিক্রিয়াটিতে অনিশ্চিত এবং প্রতিস্থাপিত উভয় উপাদানই রয়েছে, তাই এই সংমিশ্রণটি এটিকে নিশ্চিতকরণ বিভাগে ফেলে দেয়।
ঠিকানার উপাদানগুলো অনুসন্ধান করলে নিম্নলিখিত উদ্বেগজনক বিষয়গুলো প্রকাশ পায়:
{
"componentName": {
"text": "451",
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
...
{
"componentName": {
"text": "98104",
},
"componentType": "postal_code",
"confirmationLevel": "CONFIRMED",
"replaced": true
}
...
{
"componentName": {
"text": "Building D",
"language_code": "en"
},
"componentType": "subpremise",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
.......
"unconfirmedComponentTypes": [
"street_number",
"subpremise"
]
এই ক্ষেত্রে, অ্যাড্রেস ভ্যালিডেশন এপিআই প্রদত্ত ঠিকানার কাছাকাছি একটি সিয়াটল ঠিকানা খুঁজে পায় এবং সিয়াটলের ঠিকানা নিশ্চিত করার জন্য এটি জিপ কোড (যা একটি উচ্চ-স্তরের উপাদান) প্রতিস্থাপন করে। এটি একটি বৈধ প্রতিস্থাপন হতে পারে, কিন্তু উপাদানগুলো যাচাই করা হয়নি—এই তথ্যের সাথে মিলিয়ে এটা নিশ্চিত করা যুক্তিযুক্ত যে ব্যবহারকারী সিয়াটলের ঠিকানাই দিতে চান, কার্কল্যান্ডের মতো অন্য কিছু নয়।
প্রান্তিক-পরিস্থিতির উদাহরণ: নিশ্চিত করুন
নিম্নলিখিত উদাহরণগুলি নিম্নলিখিত প্রান্তিক পরিস্থিতি প্রকারগুলি ব্যাখ্যা করে:
- ছোটখাটো অনুমান যা নিশ্চিত করা হয় । অ্যাড্রেস ভ্যালিডেশন এপিআই হয় দেশ, পোস্টাল কোড, অথবা রাজ্য অনুমান করে, কিন্তু বাকি সবকিছু সরবরাহ করা হয় এবং নিশ্চিত করা হয়। এই সূক্ষ্মতা এবং নিশ্চিতকরণের স্তরের সংমিশ্রণের ফলে একটি ছোটখাটো অনুমানের জন্য অগত্যা নিশ্চিতকরণ পদক্ষেপের প্রয়োজন হয় না।
- অপ্রত্যাশিত অ্যাড্রেস কম্পোনেন্ট নিশ্চিত করা হয়নি । অনিশ্চিত অ্যাড্রেস কম্পোনেন্টগুলো অ্যাড্রেসটির ঝুঁকির মাত্রা বাড়িয়ে দেয়। এটি নিশ্চিত করার প্রয়োজন হতে পারে।
- ঠিকানার একটি অপ্রত্যাশিত অংশ যা নিশ্চিত করা হয়েছে । সঠিক ঠিকানার জন্য এই অংশটি অপরিহার্য নয়, এবং অ্যাড্রেস ভ্যালিডেশন এপিআই (Address Validation API) এটিকে আউটপুট থেকে সরিয়ে দেয়। সাধারণত ফরম্যাটিং সংক্রান্ত সমস্যার জন্য এটি নিশ্চিত করার প্রয়োজন হয় না।
ক্ষুদ্র অনুমান যা নিশ্চিত করা হয়েছে
আরও সূক্ষ্ম স্তরের নিশ্চিত তথ্যের সাথে একত্রিত করা হলে, ইনপুটে নিম্নলিখিত প্রকারগুলির মধ্যে কেবল একটি উপাদান অনুপস্থিত থাকলেও API সঠিক অনুমান করতে পারে:
- শহর
- রাজ্য
- পোস্টাল কোড
- দেশ
উদাহরণস্বরূপ, একজন গ্রাহক ম্যাসাচুসেটসের স্প্রিংফিল্ডে অবস্থিত একটি ম্যাকডোনাল্ডস রেস্তোরাঁর জন্য সঠিক রাস্তার ঠিকানা দেন, কিন্তু শহরের নাম লিখতে ভুলে যান এবং ৪-সংখ্যার এক্সটেনশন ছাড়া জিপ কোড দিয়ে দেন।
| ঠিকানা প্রবেশ করানো হয়েছে | অঞ্চল |
|---|---|
| ১৪০২ অ্যালেন স্ট্রিট, এমএ ০১১১৮ | মার্কিন যুক্তরাষ্ট্র |
নিখোঁজ শহরের রায়
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true
}
যেসব ক্ষেত্রে অ্যাড্রেস ভ্যালিডেশন এপিআই একটি ডেলিভারিযোগ্য ঠিকানা তৈরি করার জন্য উচ্চ-স্তরের উপাদান অনুমান করে, সেখানে আপনি সিস্টেম থেকে প্রাপ্ত ডেটা সঠিক হওয়ার ব্যাপারে আরও বেশি আত্মবিশ্বাসী হতে পারেন। এর কারণ হলো, একটি বিস্তৃত ভৌগোলিক অঞ্চলের প্রতিনিধিত্বকারী অনুমিত উপাদানগুলো আরও সূক্ষ্ম ও নিশ্চিত ঠিকানার উপাদানগুলোর সাথে সহজেই মিলে যায়। এমনকি যেসব দেশে শহরের নাম বারবার ব্যবহৃত হয়, যেমন মার্কিন যুক্তরাষ্ট্রের স্প্রিংফিল্ড, সেখানেও এর সাথে যুক্ত অন্যান্য উপাদানগুলো একটি অনন্য ঠিকানা প্রদান করতে পারে।
আমাদের উপরের উদাহরণটি ব্যবহার করে, ঠিকানার সমস্ত উপাদান স্ক্যান করলে দেখা যায় যে প্রতিটি উপাদানই নিশ্চিত করা হয়েছে, যার অর্থ এটি অ্যাড্রেস ভ্যালিডেশন এপিআই দ্বারা সংরক্ষিত ডেটার সাথে মিলে যায়, এবং পরিষেবাটি আরও দুটি উচ্চ-স্তরের উপাদানও অনুমান করে।
{
"componentName": {
"text": "Springfield",
"languageCode": "en"
},
"componentType": "locality",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "1806"
},
"componentType": "postal_code_suffix",
"confirmationLevel": "CONFIRMED",
"inferred": true
}
অপ্রত্যাশিত ঠিকানা উপাদান নিশ্চিত করা হয়নি
এই পরিস্থিতিটি দেখায় যে, যখন কোনো উপাদান নিশ্চিত করা হয় না , তখন তা যাচাই করা কতটা গুরুত্বপূর্ণ। যদি ঠিকানার কোনো উপাদান অপ্রত্যাশিত হয়, তাহলে অ্যাড্রেস ভ্যালিডেশন এপিআই (Address Validation API) সেটিকে আউটপুট থেকে সরিয়ে দেয়। এইসব ক্ষেত্রে, আপনার ঝুঁকির মাত্রা এবং আস্থার মাত্রার উপর নির্ভর করে, আপনি হয় ঠিকানাটি গ্রহণ করতে পারেন অথবা গ্রাহকের সাথে তা পুনরায় নিশ্চিত করতে পারেন।
উদাহরণস্বরূপ, একটি ঠিকানা এমন কোনো অঞ্চলের হতে পারে যেখানে গ্রাহকরা প্রায়শই নিরীহ তথ্য প্রবেশ করান যা ডাক কর্তৃপক্ষ উপেক্ষা করে, সেক্ষেত্রে আপনি ঠিকানাটি গ্রহণ করবেন। তবে, কিছু ক্ষেত্রে একটি অপ্রমাণিত উপাদান গ্রাহক হয়তো চান না।
| ঠিকানা প্রবেশ করানো হয়েছে | অঞ্চল |
|---|---|
| 1 Rue Grenache, la caritat 2, 34630 Saint-Thibery | ফ্রান্স |
অপ্রত্যাশিত ঠিকানা উপাদানের রায় নিশ্চিত করা হয়নি।
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"unconfirmedComponents": true
}
অনিশ্চিত উপাদানসহ একটি রায়ের পাশাপাশি, অ্যাড্রেস ভ্যালিডেশন এপিআই নিম্নলিখিত ফরম্যাট করা ঠিকানাটি ফেরত দেয়:
"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",
অনিশ্চিত উপাদানগুলির জন্য করা একটি স্ক্যানে দেখা গেছে যে API-টি ফেরত আসা ঠিকানা থেকে la caritat 2 সরিয়ে দিয়েছে:
{
"componentName": {
"text": "la caritat 2",
"languageCode": "fr"
},
"componentType": "sublocality_level_1",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
"unexpected": true
}
অপ্রত্যাশিত ঠিকানা উপাদান যা নিশ্চিত করা হয়েছে
এই উদাহরণটিতে প্রদত্ত ঠিকানায় যুক্তরাজ্যের একটি কাউন্টি অন্তর্ভুক্ত করা দেখানো হয়েছে, যা একটি প্রচলিত অভ্যাস। তবে, এটি যুক্তরাজ্যের ডাক কর্তৃপক্ষের কোনো আবশ্যিক শর্ত নয় এবং মূলত এটি উপেক্ষা করা হয়। আরও জানতে postoffice.co.uk এবং How to address UK and international mail দেখুন।
এর ফলে, যখন কোনো গ্রাহক যুক্তরাজ্যের ঠিকানায় কাউন্টির নাম উল্লেখ করেন, তখন পরিষেবাটি এটিকে একটি অপ্রত্যাশিত ইনপুট হিসেবে বিবেচনা করে।
| ঠিকানা প্রবেশ করানো হয়েছে | অঞ্চল |
|---|---|
| ৩৩ ডুনালি স্ট্রিট, চেলটেনহ্যাম, গ্লুচেস্টারশায়ার, জিএল৫০ ৪এপি | যুক্তরাজ্য |
অপ্রত্যাশিত ঠিকানা উপাদানের জন্য রায় যা নিশ্চিত করা হয়েছে
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE"
}
এখানে, address_complete মান false হয় এবং address অংশটি বিশ্লেষণ করলে একটি অপ্রত্যাশিত ফ্ল্যাগ প্রকাশ পায়।
{
"componentName": {
"text": "Gloucestershire",
"languageCode": "en"
},
"componentType": "administrative_area_level_2",
"confirmationLevel": "CONFIRMED",
"unexpected": true
}
প্রবেশ করানো ঠিকানাটির জন্য গ্লস্টারশায়ার সঠিক কাউন্টি হলেও, ঠিকানাটির বিন্যাস যথাযথ নয়। মনে রাখবেন যে, অ্যাড্রেস ভ্যালিডেশন এপিআই তথ্যের সঠিক বিন্যাসও যাচাই করে।