যাচাইকরণ লজিক তৈরি করুন

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

সাধারণত, API রেসপন্স নির্ধারণ করে যে আপনার সিস্টেম কীভাবে কোনও ঠিকানা ম্যানেজ করবে:

  • ঠিক করুন—ঠিকানাটি খারাপ কোয়ালিটির। আরও তথ্যের জন্য আপনার প্রম্পট করা উচিত।
  • কনফার্ম করুন—ঠিকানাটি খুব ভাল কোয়ালিটির, তবে ইনপুট করা ঠিকানার থেকে আলাদা। আপনাকে কনফার্মেশনের জন্য প্রম্পট করা হতে পারে।
  • গ্রহণ করুন—ঠিকানাটি খুব ভালো কোয়ালিটির। আপনি প্রদত্ত ঠিকানা গ্রহণ করতে পারেন।

মূল উদ্দেশ্য

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

if (the API response indicates significant problems in the address)
    FIX - prompt the user to fix the address
else if (the API response indicates less significant problems in the address)
    CONFIRM - confirm with the user that the address is correct
else
    ACCEPT - continue with the address returned by the API.

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

ওয়ার্কফ্লো ওভারভিউ

নিচের সারণীতে আপনার সিস্টেমের জন্য দুটি অ্যাকশনের সারসংক্ষেপ দেওয়া হয়েছে:

  1. সমস্যা সমাধান, কনফার্ম করা, সম্মতি দেওয়া সংক্রান্ত আচরণের উপর ভিত্তি করে ব্যবহার করার জন্য ওয়ার্কফ্লো।
  2. উত্তরে প্রথম যে সিগন্যাল চেক করতে হবে। এখানে বর্ণিত সিগন্যালগুলি verdict প্রপার্টি থেকে আসে এবং এগুলিই চেক করার জন্য একমাত্র সিগন্যাল নয়, তবে ঠিকানার কোয়ালিটি সম্পর্কে প্রাথমিক ইঙ্গিত দেয়। প্রতিটি আচরণের ধরন এই ডকুমেন্টের একটি বিভাগের সাথে সম্পর্কিত যা আরও সিগন্যাল বর্ণনা করে যা আপনাকে তদন্ত করতে হতে পারে।
আপনার সিস্টেমের আচরণ
ঠিকানা ঠিক করুন

verdict-এর দেওয়া উত্তর থেকে বোঝা যায় যে গুরুত্বপূর্ণ তথ্য বাদ গেছে এবং তা প্রদান করা উচিত। API-এর মাধ্যমে পাওয়া ঠিকানা ডেলিভারি করার মতো কোয়ালিটির নাও হতে পারে।

ওয়ার্কফ্লো

  1. প্রয়োজন হলে, ঠিকানা সংক্রান্ত কম্পোনেন্ট খতিয়ে দেখুন।
  2. ঠিকানা সংক্রান্ত সমস্যার সমাধান করার জন্য গ্রাহককে প্রম্পট করুন।
  3. আপডেট করা ঠিকানা যাচাই করার অনুরোধ করুন।
  4. ঠিকানা দিয়ে এগিয়ে যান।

ভার্ডিক্ট সিগন্যাল

নিম্নলিখিতগুলির মধ্যে যেকোনও একটি প্রযোজ্য:

ঠিকানা কনফার্ম করুন

verdict থেকে পাওয়া উত্তর থেকে বোঝা যায় যে ঠিকানাটি ডেলিভারি করার উপযুক্ত, তবে আসল ইনপুটে পরিবর্তন করা হয়েছে: ডেটা থেকে অনুমান করা হয়েছে যে হয় বানান সংশোধন করা হয়েছে অথবা ডেটা কনফার্ম করা যাবে।

ওয়ার্কফ্লো

  1. সংশোধন করতে হবে:
    1. প্রয়োজন হলে, ঠিকানার কম্পোনেন্টগুলি খতিয়ে দেখুন।
    2. আপডেট করা ঠিকানা যাচাই করার অনুরোধ করুন।
    3. ঠিকানা দিয়ে এগিয়ে যান।
  2. কোনও সংশোধন করার প্রয়োজন নেই:
  3. ঠিকানা দিয়ে এগিয়ে যান।

ভার্ডিক্ট সিগন্যাল

নিম্নলিখিত সবকটি প্রযোজ্য:

ঠিকানা গ্রহণ করুন

Address Validation API-এর উত্তর থেকে বোঝা যায় যে ঠিকানাটি খুব ভাল কোয়ালিটির।

ওয়ার্কফ্লো

ফেরত আসা ঠিকানা নিয়ে এগিয়ে যান।

ভার্ডিক্ট সিগন্যাল

নিম্নলিখিত সবকটি প্রযোজ্য:

  • validationGranularity-এ PREMISE বা তার চেয়ে ভাল কোয়ালিটি আছে।
  • addressComplete হল true।
  • কোনও অনুমান করা বা পরিবর্তন করা কম্পোনেন্ট নেই।

প্রয়োগ সংক্রান্ত নির্দেশিকা

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

নির্দেশিকা বিবরণ
ঝুঁকির লেভেল

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

Address Validation API বিভিন্ন ধরনের সিগন্যাল প্রদান করে যা আপনি নিজের যাচাইকরণ প্রসেস অপ্টিমাইজ করার জন্য ঝুঁকির লেভেলের সাথে যোগ করতে পারেন।

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

ঠিকানা গ্রহণ করুন

গ্রাহক প্রম্পটের উত্তর না দিলে, আপনার সিস্টেমকে আসল এন্ট্রি গ্রহণ করার অনুমতি দেওয়া একটি ভালো অভ্যাস।

এইসব ক্ষেত্রে, গ্রাহক এমন কোনও ঠিকানা লিখে থাকতে পারেন যা সিস্টেমে নেই, যেমন নতুন নির্মাণ।

ঠিকানার তথ্য ঠিক করুন

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

সিগন্যাল ঠিক করুন

Address Validation API আপনাকে একাধিক সিগন্যাল প্রদান করে যার মাধ্যমে আপনি জানতে পারেন যে কোনও ঠিকানা ঠিক করতে হবে কিনা।

১. যাচাইকরণের গ্র্যানুলারিটি এবং অনুপস্থিত কম্পোনেন্ট

এই দুটি সিগন্যাল কোনও ঠিকানায় সমস্যা থাকলে তা সবচেয়ে ভালোভাবে ইঙ্গিত করে:

  • যখনই validationGranularity ফিল্ড OTHER হয়, আপনার সিস্টেমের উচিত অ্যাড্রেস কম্পোনেন্ট সিগন্যাল ইনভেস্টিগেট করা যাতে কোথায় সমস্যা হয়েছে এবং কীভাবে তা সমাধান করা যায় সেই সম্পর্কে আরও জানা যায়।
  • পোস্ট-প্রসেস করা address অবজেক্ট যখনই কোনও missingComponentTypes ফিল্ড রিটার্ন করে, আপনার সিস্টেমের সেই কম্পোনেন্ট চেক করা উচিত। কোনও কম্পোনেন্ট না থাকলে, ঠিকানা অসম্পূর্ণ এবং ডেলিভারি করার অনুপযুক্ত হিসেবে বিবেচিত হয়।

২. অন্যান্য সিগন্যাল

Address Validation API নির্দিষ্ট সমস্যা ডায়াগনসিস করতে সাহায্য করার জন্য অন্যান্য সিগন্যালও প্রদান করে:

সন্দেহজনক কম্পোনেন্ট কোনও কম্পোনেন্টের কনফার্মেশন লেভেল enum UNCOMFIRMED_AND_SUSPICIOUS হলে, কম্পোনেন্টটি ভুল হওয়ার সম্ভাবনা থাকে।
সমাধান না হওয়া কম্পোনেন্ট unresolvedToken হল ইনপুটের এমন একটি অংশ যা কোনও ঠিকানার সঠিক অংশ হিসেবে শনাক্ত করা যায়নি।

৩. মার্কিন যুক্তরাষ্ট্রের ঠিকানা সংক্রান্ত সিগন্যাল

মার্কিন যুক্তরাষ্ট্রের ঠিকানার ক্ষেত্রে প্রযোজ্য নির্দিষ্ট কিছু ফিল্ড থেকে বোঝা যায় যে ঠিকানাটি ডেলিভারি করার উপযুক্ত নয় এবং সেটি ঠিক করতে হবে। যে ঠিকানা ঠিক করতে হবে, সেটির জন্য আপনি নিম্নলিখিত তথ্য দেখতে পাবেন:

dpvConfirmation N, D বা খালি।

dpvConfirmation সম্পর্কে আরও জানতে, মার্কিন যুক্তরাষ্ট্রের ঠিকানা ম্যানেজ করা দেখুন।

ঠিকানার উদাহরণ ঠিক করুন

ঠিকানা কনফার্ম করা

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

গ্রাহককে সঠিক প্রম্পট দেখানোর জন্য, আপনার লজিক পরিষেবার মাধ্যমে ফ্ল্যাগ করা কম্পোনেন্ট শনাক্ত করবে, যাতে API কম্পোনেন্টে কোন অ্যাকশন বা ফ্ল্যাগ প্রয়োগ করেছে তা নির্ধারণ করা যায়, যেমন inferred, replaced বা spellCorrected। রেফারেন্সে AddressComponent দেখুন।

সিগন্যাল কনফার্ম করুন

Address Validation API আপনাকে একাধিক সিগন্যাল প্রদান করে যার মাধ্যমে আপনি জানতে পারেন যে কোনও ঠিকানা কনফার্ম করা উচিত কিনা।

১. যাচাইকরণের গ্র্যানুলারিটি

ROUTE বা তার থেকে ভালো validationGranularity গ্রহণযোগ্য, তবে PREMISE বা SUBPREMISE ডেলিভারিযোগ্যতার আরও শক্তিশালী সিগন্যাল প্রদান করে।

২. অন্যান্য সিগন্যাল

গ্রাহকের সাথে ঠিকানা এন্ট্রি কনফার্ম করার সিদ্ধান্ত নেওয়ার সময়, রায়টি নিম্নলিখিতগুলিও প্রদান করে কোন উপাদানগুলি তদন্ত করতে হবে তা নির্ধারণ করতে:

অনুমান করা ডেটা যখন hasInferredComponents ফিল্ডটি true হয়, তখন আপনি বুঝতে পারেন যে API অন্যান্য ঠিকানার কম্পোনেন্ট থেকে পাওয়া তথ্য পূরণ করেছে।
পরিবর্তিত ডেটা hasReplacedComponents ফিল্ড true হলে, API ঠিকানাটি সঠিক করার জন্য, আপনার লেখা ডেটার পরিবর্তে অন্য ডেটা ব্যবহার করে।

৩. মার্কিন যুক্তরাষ্ট্রের ঠিকানা সংক্রান্ত সিগন্যাল

মার্কিন যুক্তরাষ্ট্রের ঠিকানার ক্ষেত্রে প্রযোজ্য কিছু ফিল্ড থেকে বোঝা যায় যে আপনার লজিক গ্রাহকের সাথে বিবরণ কনফার্ম করবে। নিম্নলিখিতগুলির মধ্যে যেকোনও একটি প্রযোজ্য:

dpvConfirmation S

dpvConfirmation সম্পর্কে বিস্তারিত জানতে, মার্কিন যুক্তরাষ্ট্রের ঠিকানা ম্যানেজ করা দেখুন।

ঠিকানা সংক্রান্ত উত্তর এতে missingComponentTypes ফিল্ড আছে যার ভ্যালু হল subpremise।

ঠিকানার উদাহরণ কনফার্ম করুন

ঠিকানা গ্রহণ করুন

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

সিগন্যাল গ্রহণ করুন

Address Validation API আপনাকে একাধিক সিগন্যাল প্রদান করে যার মাধ্যমে আপনি জানতে পারেন যে কোনও ঠিকানা কনফার্ম করা উচিত কিনা।

১. যাচাইকরণের গ্র্যানুলারিটি

PREMISE-এর মধ্যে validationGranularity বা তার বেশি স্কোর গ্রহণযোগ্য, তবে কিছু ক্ষেত্রে, ROUTE স্কোরও ডেলিভারিযোগ্য ঠিকানা নির্দেশ করে।

২. অন্যান্য সিগন্যাল

খুব ভাল কোয়ালিটির ঠিকানা সংক্রান্ত রায়ে নিম্নলিখিত তথ্যও প্রদান করতে হবে:

  • কোনও ডেটা পরিবর্তন করা হয়নি। এই ক্ষেত্রে, hasReplacedComponents: FALSE।
  • কোনও ইনফার্ড কম্পোনেন্ট নেই। এই ক্ষেত্রে, hasInferredComponents: FALSE।

৩. মার্কিন যুক্তরাষ্ট্রের ঠিকানা সংক্রান্ত সিগন্যাল

মার্কিন যুক্তরাষ্ট্রের ঠিকানার ক্ষেত্রে প্রযোজ্য নির্দিষ্ট কিছু ফিল্ড থেকে বোঝা যায় যে ঠিকানাটি খুব ভাল কোয়ালিটির এবং সেখানে ডেলিভারি করা যাবে। মার্কিন যুক্তরাষ্ট্রের গ্রহণযোগ্য ঠিকানার জন্য, আপনাকে নিম্নলিখিত তথ্য দেখতে হবে:

dpvConfirmation Y

dpvConfirmation-এর বিষয়ে বিস্তারিত জানতে, মার্কিন যুক্তরাষ্ট্রের ঠিকানা ম্যানেজ করা দেখুন।

ঠিকানার উদাহরণ গ্রহণ করুন