ধাপ 3: ওয়েটলিস্ট বুকিং সার্ভার বাস্তবায়ন করুন

আপনার পক্ষে বুকিং তৈরি এবং আপডেট করার জন্য অ্যাকশন সেন্টারকে কলব্যাক করার অনুমতি দেওয়ার জন্য আপনাকে একটি বুকিং সার্ভার দাঁড়াতে হবে।

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

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

একটি REST API ইন্টারফেস প্রয়োগ করুন

REST এর উপর ভিত্তি করে একটি API ইন্টারফেস প্রয়োগ করুন এটি Google কে HTTP এর মাধ্যমে বুকিং সার্ভারের অনুরোধ পাঠাতে দেয়৷

শুরু করতে, একটি ডেভেলপমেন্ট বা স্যান্ডবক্স বুকিং সার্ভার সেট আপ করুন যা অ্যাকশন সেন্টার স্যান্ডবক্স পরিবেশের সাথে সংযুক্ত হতে পারে। স্যান্ডবক্স সার্ভার সম্পূর্ণরূপে পরীক্ষা করা হলে শুধুমাত্র একটি উৎপাদন পরিবেশে যান।

পদ্ধতি

প্রতিটি ধরনের বুকিং সার্ভারের জন্য, আপনার প্রান্তে আলাদা আলাদা API পদ্ধতির প্রয়োজন। ঐচ্ছিকভাবে, আপনি API বাস্তবায়নের সাথে শুরু করতে প্রোটো ফর্ম্যাটে পরিষেবা সংজ্ঞা ডাউনলোড করতে পারেন। নিম্নলিখিত সারণীগুলি প্রতিটি বাস্তবায়নের পদ্ধতিগুলি দেখায় এবং পরিষেবা প্রোটো ফর্ম্যাটের লিঙ্কগুলি অন্তর্ভুক্ত করে৷

অপেক্ষা তালিকা বাস্তবায়ন
অপেক্ষা তালিকা পরিষেবা সংজ্ঞা . প্রোটো পরিষেবা সংজ্ঞা ফাইলটি ডাউনলোড করুন।
পদ্ধতি HTTP অনুরোধ
স্বাস্থ্য পরীক্ষা পান /v3/স্বাস্থ্য পরীক্ষা/
BatchGetWaitEstimates POST /v3/BatchGetWaitEstimates/
ওয়েটলিস্ট এন্ট্রি তৈরি করুন POST/v3/CreateWaitlistEntry/
GetWaitlistEntry পোস্ট /v3/GetWaitlistEntry/
ওয়েটলিস্ট এন্ট্রি মুছুন পোস্ট /v3/ডিলিট ওয়েটলিস্ট এন্ট্রি/

API সম্পদ

অপেক্ষা তালিকা

অপেক্ষা তালিকা-ভিত্তিক বুকিং বাস্তবায়ন করতে নিম্নলিখিত সংস্থানগুলি ব্যবহার করা হয়:

  • WaitEstimate : একটি নির্দিষ্ট পার্টির আকার এবং বণিকের জন্য অপেক্ষার অনুমান।
  • ওয়েটলিস্ট এন্ট্রি : ওয়েটলিস্টে একজন ব্যবহারকারীর এন্ট্রি।

প্রবাহ: একটি অপেক্ষা তালিকা এন্ট্রি তৈরি করুন

রিজার্ভেশন ওয়েটলিস্ট ইন্টিগ্রেশনের জন্য কীভাবে বুকিং তৈরি করতে হয় তা এই বিভাগে কভার করে।

চিত্র 2: একটি অপেক্ষা তালিকা এন্ট্রি তৈরি করতে কর্মপ্রবাহ
চিত্র 2: একটি অপেক্ষা তালিকা এন্ট্রি তৈরি করতে কর্মপ্রবাহ

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

নিরাপত্তা এবং প্রমাণীকরণ

আপনার বুকিং সার্ভারের সাথে সমস্ত যোগাযোগ HTTPS-এর মাধ্যমে হয়, তাই এটি অপরিহার্য যে আপনার সার্ভারের একটি বৈধ TLS শংসাপত্র রয়েছে যা এর DNS নামের সাথে মেলে৷ আপনার সার্ভার সেট আপ করতে সাহায্য করার জন্য, আমরা একটি অবাধে উপলব্ধ SSL/TLS যাচাইকরণ টুল ব্যবহার করার পরামর্শ দিই, যেমন Qualys' SSL সার্ভার টেস্ট

আপনার বুকিং সার্ভারে Google যে সমস্ত অনুরোধ করবে তা HTTP মৌলিক প্রমাণীকরণ ব্যবহার করে প্রমাণীকরণ করা হবে। আপনার বুকিং সার্ভারের জন্য মৌলিক প্রমাণীকরণ শংসাপত্র (ব্যবহারকারীর নাম এবং পাসওয়ার্ড) অংশীদার পোর্টালের মধ্যে বুকিং সার্ভার কনফিগারেশন পৃষ্ঠায় প্রবেশ করা যেতে পারে। প্রতি ছয় মাস অন্তর পাসওয়ার্ড ঘোরাতে হবে।

নমুনা কঙ্কাল বাস্তবায়ন

শুরু করতে, Node.js এবং Java ফ্রেমওয়ার্কের জন্য লেখা বুকিং সার্ভারের নিম্নলিখিত নমুনা কঙ্কাল দেখুন:

এই সার্ভারগুলি REST পদ্ধতিগুলিকে আটকে দিয়েছে।

প্রয়োজনীয়তা

HTTP ত্রুটি এবং ব্যবসায়িক যুক্তি ত্রুটি

যখন আপনার ব্যাকএন্ড HTTP অনুরোধগুলি পরিচালনা করে, তখন দুই ধরনের ত্রুটি ঘটতে পারে।

  • অবকাঠামো সংক্রান্ত ত্রুটি বা ভুল তথ্য
  • ব্যবসায়িক যুক্তি সম্পর্কিত ত্রুটি
    • HTTP স্ট্যাটাস কোড 200 OK তে সেট করুন, এবং প্রতিক্রিয়া বডিতে ব্যবসায়িক যুক্তি ব্যর্থতা নির্দিষ্ট করুন। বিভিন্ন ধরনের সার্ভার বাস্তবায়নের জন্য আপনি যে ধরনের ব্যবসায়িক যুক্তিগত ত্রুটির সম্মুখীন হতে পারেন তা ভিন্ন।

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

  • ABOVE_MAX_PARTY_SIZE ব্যবহার করা হয় যখন অনুরোধ করা অপেক্ষা তালিকার এন্ট্রি মার্চেন্টের সর্বোচ্চ পার্টির আকারের বেশি হয়।
  • মার্চেন্ট ইতিমধ্যে বন্ধ থাকার কারণে অপেক্ষা তালিকা খোলা না থাকলে MERCHANT_CLOSED ব্যবহার করা হয়।

অদম্যতা

নেটওয়ার্কের মাধ্যমে যোগাযোগ সর্বদা নির্ভরযোগ্য নয় এবং কোনো প্রতিক্রিয়া না পেলে Google HTTP অনুরোধের জন্য পুনরায় চেষ্টা করতে পারে। এই কারণে, সমস্ত পদ্ধতি যেগুলি রাষ্ট্রকে পরিবর্তন করে তা অবশ্যই অদম্য হতে হবে:

  • CreateWaitlistEntry
  • DeleteWaitlistEntry

DeleteWaitlistEntry ব্যতীত প্রতিটি অনুরোধ বার্তার জন্য, অনুরোধটিকে স্বতন্ত্রভাবে সনাক্ত করতে idempotency টোকেন অন্তর্ভুক্ত করা হয়। এটি আপনাকে একটি একক অনুরোধ এবং দুটি পৃথক অনুরোধ তৈরি করার অভিপ্রায় সহ একটি পুনরায় চেষ্টা করা REST কলের মধ্যে পার্থক্য করতে দেয়৷ DeleteWaitlistEntry যথাক্রমে তাদের ওয়েটলিস্ট এন্ট্রি আইডি দ্বারা স্বতন্ত্রভাবে চিহ্নিত করা হয়, তাই তাদের অনুরোধে কোন idempotency টোকেন অন্তর্ভুক্ত করা হয় না।

বুকিং সার্ভার কিভাবে অদম্যতা পরিচালনা করে তার কিছু উদাহরণ নিচে দেওয়া হল:

  • একটি সফল CreateWaitlistEntry HTTP প্রতিক্রিয়া তৈরি করা অপেক্ষা তালিকা এন্ট্রি আইডি অন্তর্ভুক্ত করে। যদি একই CreateWaitlistEntryRequest দ্বিতীয়বার প্রাপ্ত হয় (একই idempotency_token সহ), তাহলে একই CreateWaitlistEntryResponse ফেরত দিতে হবে। কোনো দ্বিতীয় অপেক্ষমাণ তালিকা তৈরি করা হয় না এবং কোনো ত্রুটি ফেরত দেওয়া হয় না।

    মনে রাখবেন যদি একটি CreateWaitlistEntry প্রচেষ্টা ব্যর্থ হয় এবং একই অনুরোধ পুনরায় পাঠানো হয়, আপনার ব্যাকএন্ড এই ক্ষেত্রে পুনরায় চেষ্টা করা উচিত।

বুদ্ধিমত্তার প্রয়োজনীয়তা সমস্ত পদ্ধতির ক্ষেত্রে প্রযোজ্য যা রাষ্ট্রকে পরিবর্তন করে।