আপনার বৈধতা যুক্তি তৈরি করুন

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

সাধারণভাবে, API প্রতিক্রিয়া আপনার সিস্টেমের ঠিকানা পরিচালনা করার নিম্নলিখিত উপায়গুলি নির্ধারণ করে:

  • ঠিক করুন — ঠিকানাটিতে উল্লেখযোগ্য সমস্যা থাকতে পারে।
    আরও তথ্যের জন্য আপনার গ্রাহককে অনুরোধ করার কথা বিবেচনা করুন।
  • উপ-প্রাঙ্গণ যোগ করুন — ঠিকানাটিতে একটি উপ-প্রাঙ্গণ অনুপস্থিত থাকতে পারে।
    আপনার গ্রাহককে একটি ইউনিট নম্বর যোগ করার জন্য অনুরোধ করার কথা বিবেচনা করুন।
  • নিশ্চিত করুন — ঠিকানাটিতে ছোটখাটো সমস্যা থাকতে পারে।
    আপনার গ্রাহককে ঠিকানাটি সঠিক কিনা তা নিশ্চিত করার জন্য অনুরোধ করার কথা বিবেচনা করুন।
  • Accept — ঠিকানাটিতে সমস্যা নাও থাকতে পারে।
    আর কোনও অনুরোধ ছাড়াই ঠিকানাটি ব্যবহার করার কথা বিবেচনা করুন, আপনার নিজের ঝুঁকিতে।

মূল উদ্দেশ্য

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

if (verdict.possibleNextAction == FIX)
    Prompt the user to fix the address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
    Prompt the user to add a unit number.
else if (verdict.possibleNextAction == CONFIRM)
    Confirm with the user that the address is correct.
else
    Continue with the address returned by the API.

সঠিক যুক্তি আপনার পরিস্থিতির উপর নির্ভর করে - আরও বিস্তারিত জানার জন্য আপনার বৈধতা যুক্তি কাস্টমাইজ করুন দেখুন।

উদাহরণ কর্মপ্রবাহ

নীচের সারণীতে API প্রতিক্রিয়ার উপর ভিত্তি করে আপনার গ্রাহককে প্রম্পট করার জন্য আপনি যে কর্মপ্রবাহগুলি প্রয়োগ করতে পারেন তার উদাহরণের সারসংক্ষেপ দেওয়া হয়েছে।

আপনার সিস্টেমের আচরণ
ঠিকানা ঠিক করো

verdict প্রতিক্রিয়া থেকে বোঝা যাচ্ছে যে ঠিকানাটিতে উল্লেখযোগ্য সমস্যা থাকতে পারে। উদাহরণস্বরূপ, verdict.possibleNextAction হল FIX । আরও তথ্যের জন্য আপনার গ্রাহককে অনুরোধ করার কথা বিবেচনা করুন।

কর্মপ্রবাহ

  1. প্রয়োজনে ঠিকানার উপাদানগুলি পরীক্ষা করুন।
  2. গ্রাহককে ঠিকানা সংক্রান্ত সমস্যা সমাধানের জন্য অনুরোধ করুন।
  3. আপডেট করা ঠিকানার বৈধতার জন্য অনুরোধ করুন।
  4. (ঐচ্ছিক) API-এর জন্য প্রতিক্রিয়ার শেষ বিন্দুতে একটি অনুরোধ পাঠান। আপডেট করা ঠিকানাগুলি পরিচালনা করুন দেখুন।
  5. ঠিকানা দিয়ে এগিয়ে যান।
উপ-প্রাঙ্গণ যোগ করুন

verdict উত্তর থেকে বোঝা যাচ্ছে যে ঠিকানাটিতে একটি উপ-প্রাঙ্গণ অনুপস্থিত থাকতে পারে। উদাহরণস্বরূপ, verdict.possibleNextAction হল CONFIRM_ADD_SUBPREMISES । আপনার গ্রাহককে একটি ইউনিট নম্বর যোগ করার জন্য অনুরোধ করার কথা বিবেচনা করুন।

কর্মপ্রবাহ

  1. গ্রাহককে একটি ইউনিট নম্বর যোগ করতে বলুন।
  2. আপডেট করা ঠিকানার বৈধতার জন্য অনুরোধ করুন।
  3. (ঐচ্ছিক) API-এর জন্য প্রতিক্রিয়ার শেষ বিন্দুতে একটি অনুরোধ পাঠান। আপডেট করা ঠিকানাগুলি পরিচালনা করুন দেখুন।
  4. ঠিকানা দিয়ে এগিয়ে যান।
ঠিকানা নিশ্চিত করুন

verdict প্রতিক্রিয়া থেকে বোঝা যাচ্ছে যে ঠিকানাটিতে ছোটখাটো সমস্যা থাকতে পারে। উদাহরণস্বরূপ, verdict.possibleNextAction হল CONFIRM । আপনার গ্রাহককে ঠিকানাটি পর্যালোচনা করার জন্য অনুরোধ করার কথা বিবেচনা করুন।

কর্মপ্রবাহ

  1. প্রয়োজনীয় সংশোধন:
    1. প্রয়োজনে ঠিকানার উপাদানগুলি পরীক্ষা করুন।
    2. আপডেট করা ঠিকানার বৈধতার জন্য অনুরোধ করুন।
    3. (ঐচ্ছিক) API-এর জন্য প্রতিক্রিয়ার শেষ বিন্দুতে একটি অনুরোধ পাঠান। আপডেট করা ঠিকানাগুলি পরিচালনা করুন দেখুন।
    4. ঠিকানা দিয়ে এগিয়ে যান।
  2. কোন সংশোধনের প্রয়োজন নেই:
    1. (ঐচ্ছিক) API-এর জন্য প্রতিক্রিয়ার শেষ বিন্দুতে একটি অনুরোধ পাঠান। আপডেট করা ঠিকানাগুলি পরিচালনা করুন দেখুন।
    2. ঠিকানা দিয়ে এগিয়ে যান।
ঠিকানা গ্রহণ করুন

verdict উত্তর থেকে বোঝা যাচ্ছে যে ঠিকানাটিতে সমস্যা নাও থাকতে পারে। উদাহরণস্বরূপ, verdict.possibleNextAction হল ACCEPT । আপনার ঝুঁকি স্তরের জন্য ঠিকানাটি যেভাবে ব্যবহার করবেন সেভাবেই এগিয়ে যাওয়ার কথা বিবেচনা করুন।

কর্মপ্রবাহ

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

আপনার যাচাইকরণের যুক্তি কাস্টমাইজ করুন

আপনার সিস্টেম API প্রতিক্রিয়া কীভাবে পরিচালনা করে তা নির্ধারণ করতে আপনি verdict.possibleNextAction ক্ষেত্রের ফলাফল ব্যবহার করতে পারেন, তবে আপনি কাস্টম লজিক তৈরি করার কথাও বিবেচনা করতে পারেন, যেমন ব্যবসা-নির্দিষ্ট চাহিদাগুলি পরিচালনা করা।

এই বিভাগের উদ্দেশ্য হল API প্রতিক্রিয়া ব্যাখ্যা করার জন্য আপনার নিজস্ব কাস্টম লজিক কীভাবে তৈরি করতে পারেন তা ব্যাখ্যা করা যাতে আপনি আপনার গ্রাহককে কীভাবে প্রম্পট করতে চান তা নির্ধারণ করতে পারেন। এই বিভাগে ঝুঁকির মাত্রা এবং আপনার কাস্টমাইজেশনের জন্য বিবেচনা করার জন্য অতিরিক্ত API প্রতিক্রিয়া সংকেতগুলি অন্তর্ভুক্ত করা হয়েছে।

তবে, আপনার পরবর্তী পদক্ষেপগুলি নির্ধারণের জন্য যদি আপনি শুধুমাত্র verdict.possibleNextAction এর উপর নির্ভর করেন, তবুও নীচে বর্ণিত অতিরিক্ত সংকেতগুলি আপনাকে ঠিকানার সম্ভাব্য সমস্যাগুলি সম্পর্কে বিশদ বুঝতে সাহায্য করতে পারে।

ঝুঁকি সহনশীলতা

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

নির্দেশনা বিস্তারিত
ঝুঁকির মাত্রা

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

ঠিকানা যাচাইকরণ API বিভিন্ন ধরণের সংকেত প্রদান করে যা আপনি আপনার যাচাইকরণ প্রক্রিয়াটি অপ্টিমাইজ করার জন্য আপনার ঝুঁকি স্তরের সাথে অন্তর্ভুক্ত করতে পারেন।

উদাহরণস্বরূপ, যদি কোনও ঠিকানার একটি অনিশ্চিত রাস্তার নম্বর থাকে, তবুও আপনি এটি গ্রহণ করতে পারেন। অন্যদিকে, যদি আপনার ব্যবসার পরিচালনার জন্য আরও স্পষ্ট ঠিকানার প্রয়োজন হয়, তাহলে আপনি আপনার ব্যবহারকারীকে অনুরোধ করতে পারেন। যে কোনও বিভাগে পড়তে পারে এমন একটি উদাহরণের জন্য, Accept address - examples - এ Non-US unconfirmed street number দেখুন।

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

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

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

ঝুঁকি-প্রতিরোধী চেকআউট প্রবাহের উদাহরণ

যদি আপনি ব্যর্থ ডেলিভারির ঝুঁকি কমাতে চান, তাহলে আপনার গ্রাহকদের আরও ঘন ঘন অনুরোধ করার জন্য আপনার যুক্তিটি কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ, মূল উদ্দেশ্য বিভাগে বর্ণিত যুক্তি ব্যবহার করার পরিবর্তে, আপনি নিম্নলিখিত যুক্তিটি ব্যবহার করতে পারেন।

if (verdict.possibleNextAction == FIX or verdict.validationGranularity
== OTHER or verdict.validationGranularity == ROUTE)
  Prompt customer to fix their address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
  Prompt customer to add a unit number.
else if (verdict.possibleNextAction == CONFIRM or verdict.validationGranularity
== PREMISE_PROXIMITY or verdict.hasSpellCorrectedComponents or
verdict.hasReplacedComponents or verdict.hasInferredComponents)
  Prompt customer to confirm their address.
else
  Proceed with the returned address.

কম ঘর্ষণ চেকআউট প্রবাহের উদাহরণ

যদি আপনি আপনার চেকআউট প্রবাহের ঘর্ষণ কমাতে চান, তাহলে আপনার গ্রাহকদের কম অনুরোধ করার জন্য আপনার যুক্তিটি কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ, মূল উদ্দেশ্য বিভাগে বর্ণিত যুক্তি ব্যবহার করার পরিবর্তে, আপনি নিম্নলিখিত যুক্তিটি ব্যবহার করতে পারেন।

if (verdict.possibleNextAction == FIX)
  Prompt customer to fix their address.
else if (verdict.hasReplacedComponents)
  Prompt customer to confirm their address.
else
  Proceed with the returned address.

ফিক্স সিগন্যাল

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

ঠিকানা যাচাইকরণ API প্রতিক্রিয়ার নিম্নলিখিত ক্ষেত্রগুলি verdict.possibleNextAction ছাড়াও ব্যবহার করা যেতে পারে, যাতে কোনও ঠিকানায় বড় সমস্যা আছে কিনা এবং সেই সমস্যাগুলি কী তা নির্ধারণ করা যায়।

যাচাইকরণ গ্র্যানুলারিটি যখন একটি ঠিকানার জন্য বৈধতা গ্র্যানুলারিটি enum OTHER হয়, তখন সম্ভবত ঠিকানাটি ভুল।
অনুপস্থিত উপাদান যখন address.missingComponentTypes খালি থাকে না, তখন সম্ভবত ঠিকানাটিতে গুরুত্বপূর্ণ তথ্য অনুপস্থিত।
সন্দেহজনক উপাদান যখন কোনও কম্পোনেন্টের জন্য নিশ্চিতকরণ স্তরের enum UNCONFIRMED_AND_SUSPICIOUS হয়, তখন সম্ভবত কম্পোনেন্টটি ভুল।
অমীমাংসিত উপাদান একটি অমীমাংসিত টোকেন হল ইনপুটের একটি অংশ যা একটি ঠিকানার বৈধ অংশ হিসেবে স্বীকৃত নয়।
USPS DPV নিশ্চিতকরণ যখন uspsData.dpvConfirmation হয় N থাকে, অথবা খালি থাকে, তখন ঠিকানার সাথে কোনও সমস্যা হতে পারে। এই ক্ষেত্রটি শুধুমাত্র মার্কিন ঠিকানার জন্য উপলব্ধ। uspsData.dpvConfirmation সম্পর্কে আরও তথ্যের জন্য, মার্কিন যুক্তরাষ্ট্রের ঠিকানাগুলি পরিচালনা করুন দেখুন।

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

CONFIRM_ADD_SUBPREMISES সংকেত (শুধুমাত্র মার্কিন ঠিকানা)

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

ঠিকানা যাচাইকরণ API প্রতিক্রিয়ার নিম্নলিখিত ক্ষেত্রগুলি verdict.possibleNextAction ছাড়াও ব্যবহার করা যেতে পারে যাতে কোনও ঠিকানায় সম্ভবত কোনও উপ-প্রিমিসিস অনুপস্থিত কিনা তা নির্ধারণ করা যায়।

Missing subpremise component যখন address.missingComponentTypes ফিল্ডে subpremise এর মান থাকে, তখন বোঝা যায় যে ঠিকানা থেকে একটি ইউনিট নম্বর অনুপস্থিত।
USPS DPV নিশ্চিতকরণ যখন uspsData.dpvConfirmation S হয়, তখন এর অর্থ হল ঠিকানার প্রাথমিক সংখ্যাটি USPS ডাটাবেসের একটি ঠিকানার সাথে মিলে গেছে। তবে, ঠিকানাটিতে একটি গৌণ সংখ্যাও থাকার কথা ছিল। এই ক্ষেত্রটি শুধুমাত্র মার্কিন ঠিকানার জন্য উপলব্ধ। uspsData.dpvConfirmation সম্পর্কে আরও তথ্যের জন্য, মার্কিন যুক্তরাষ্ট্রের ঠিকানাগুলি পরিচালনা করুন দেখুন।

উপ-প্রাঙ্গণ ঠিকানার উদাহরণ যোগ করুন

সংকেত নিশ্চিত করুন

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

ঠিকানা যাচাইকরণ API প্রতিক্রিয়ার নিম্নলিখিত ক্ষেত্রগুলি verdict.possibleNextAction ছাড়াও ব্যবহার করা যেতে পারে, যাতে কোনও ঠিকানায় ছোটখাটো সমস্যা আছে কিনা এবং সেই সমস্যাগুলি কী তা নির্ধারণ করা যায়।

যাচাইকরণ গ্র্যানুলারিটি যখন কোনও ঠিকানার জন্য validationGranularity ROUTE অথবা PREMISE_PROXIMITY হয়, তখন ঠিকানাটি ভুল হতে পারে।
অনুমানিত তথ্য যখন hasInferredComponents ক্ষেত্রটি true হয়, তখন আপনি জানেন যে API অন্যান্য ঠিকানা উপাদান থেকে তথ্য সংগ্রহ করেছে।
প্রতিস্থাপিত ডেটা যখন hasReplacedComponents ক্ষেত্রটি true হয়, তখন API প্রবেশ করানো ডেটাকে এমন ডেটা দিয়ে প্রতিস্থাপন করে যা ঠিকানাটিকে বৈধ বলে মনে করে।
বানান সংশোধন যখন hasSpellCorrectedComponents ক্ষেত্রটি true হয়, তখন API কিছু ভুল বানানযুক্ত উপাদানের বানান সংশোধন করে।

ঠিকানার উদাহরণ নিশ্চিত করুন

সংকেত গ্রহণ করুন

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

ঠিকানা যাচাইকরণ API প্রতিক্রিয়ার নিম্নলিখিত ক্ষেত্রগুলি verdict.possibleNextAction ছাড়াও ব্যবহার করা যেতে পারে যাতে কোনও ঠিকানা গ্রহণযোগ্য মানের কিনা তা নির্ধারণ করা যায়।

যাচাইকরণ গ্র্যানুলারিটি PREMISE এর একটি validationGranularity প্রায়শই গ্রহণযোগ্য, যদিও ROUTE এর মান এখনও একটি বিতরণযোগ্য ঠিকানা নির্দেশ করতে পারে।
কোনও অনুমানকৃত তথ্য নেই যখন hasInferredComponents ক্ষেত্রটি false হয়, তখন আপনি জানেন যে আউটপুটে কোনও উপাদান অনুমান করা হয়নি।
কোনও প্রতিস্থাপিত ডেটা নেই যখন hasReplacedComponents ক্ষেত্রটি false হয়, তখন আপনি জানেন যে কোনও ইনপুট ডেটা প্রতিস্থাপন করা হয়নি।
কোনও বানান সংশোধন নেই যখন hasSpellCorrectedComponents ক্ষেত্রটি false হয়, তখন আপনি জানেন যে কোনও বানান সংশোধন করা হয়নি।
USPS DPV নিশ্চিতকরণ যখন uspsData.dpvConfirmation Y হয়, তখন এর অর্থ হল ঠিকানাটি USPS ডাটাবেসের একটি ঠিকানার সাথে মিলে গেছে। এই ক্ষেত্রটি শুধুমাত্র মার্কিন ঠিকানার জন্য উপলব্ধ। uspsData.dpvConfirmation সম্পর্কে আরও তথ্যের জন্য, মার্কিন যুক্তরাষ্ট্রের ঠিকানাগুলি পরিচালনা করুন দেখুন।

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