নতুন বুকিং, বাতিলকরণ এবং আপনার ব্যবসায়ীদের সময়সূচী পরিবর্তনের কারণে আপনার সিস্টেমে ইনভেন্টরি সারা দিন ওঠানামা করে। রিয়েল-টাইম আপডেট API হল ইনভেন্টরির উপলব্ধতার এই পরিবর্তনগুলি সম্পর্কে Google কে অবহিত করার একটি প্রক্রিয়া। আপনি বিদ্যমান বুকিংগুলিতে করা পরিবর্তনগুলি সম্পর্কে Google কে অবহিত করার জন্য রিয়েল-টাইম API আপডেটগুলিও ব্যবহার করতে পারেন।
API রিয়েল-টাইম আপডেট এবং ফিড
API রিয়েল-টাইম আপডেটগুলি রিয়েল-টাইমে ইনভেন্টরির প্রাপ্যতা এবং বুকিংয়ে ক্রমবর্ধমান পরিবর্তন সম্পর্কে Google কে অবহিত করার জন্য ব্যবহৃত হয়। রিয়েল-টাইম API আপডেটের পাশাপাশি, আপনার সিস্টেমে বিদ্যমান প্রাপ্যতা সম্পর্কে Google-এর কাছে সবচেয়ে সঠিক এবং বর্তমান জ্ঞান রয়েছে তা নিশ্চিত করার জন্য প্রতিদিন সম্পূর্ণ অ্যাভালিবিলিটি ফিড পাঠান। সম্পূর্ণ ফিডগুলি আপনার সিস্টেমে ইনভেন্টরির প্রাপ্যতার বর্তমান অবস্থার একটি স্ন্যাপশট হিসাবে কাজ করে।
যদিও API আপডেটগুলি ফিড দ্বারা সরবরাহিত যেকোনো তথ্য, যেমন ব্যবসায়ী এবং পরিষেবা সম্পর্কে তথ্য আপডেট করার জন্য ব্যবহার করা যেতে পারে, তবে সাধারণত এগুলি কেবল প্রাপ্যতা তথ্য আপডেট করার জন্য ব্যবহৃত হয়।
প্রয়োজনীয় রিয়েল-টাইম আপডেট API গুলি
| রিয়েল-টাইম আপডেট (RTU) API গুলি | ||
|---|---|---|
| বুকিং বিজ্ঞপ্তি | বাধ্যতামূলক | বুকিংয়ে কোনও পরিবর্তন (যেমন পরিবর্তন বা বাতিলকরণ) হলে যেকোনো সময় বুকিং নোটিফিকেশন RTU পাঠান। |
| প্রাপ্যতা RTU প্রতিস্থাপন করুন | শর্তসাপেক্ষে প্রয়োজনীয়[1] | ইনভেন্টরির প্রাপ্যতার আপডেট পাঠাতে ব্যাচ রিপ্লেস অথবা সিঙ্গেল রিপ্লেস RTU পাঠান। পরিবর্তনগুলি প্রচার এবং প্রতিফলিত হতে কয়েক মিনিট সময় লাগতে পারে। |
| মার্চেন্ট আরটিইউ | ঐচ্ছিক | যদি আপনি রিয়েল-টাইমে বণিকের তথ্যে পরিবর্তন করতে চান, তাহলে বণিক RTU পাঠান। পরিবর্তনগুলি প্রচার এবং প্রতিফলিত হতে কয়েক ঘন্টা সময় লাগতে পারে। |
| পরিষেবা RTU | ঐচ্ছিক | যদি আপনি রিয়েল-টাইমে পরিষেবার তথ্যে পরিবর্তন করতে চান, তাহলে পরিষেবা RTU পাঠান। একটি সাধারণ ব্যবহারের ক্ষেত্রে, যদি দিনের বেলায় পরিষেবার দাম নাটকীয়ভাবে ওঠানামা করে, তাহলে দামের অমিলের কারণে অর্ডার ব্যর্থতা এড়াতে পরিষেবা RTU বাস্তবায়নের পরামর্শ দেওয়া হয়। পরিবর্তনগুলি প্রচার এবং প্রতিফলিত হতে কয়েক ঘন্টা সময় লাগতে পারে। |
উপলব্ধতা প্রতিস্থাপন API RTU
নিম্নলিখিত ব্যবহারের ক্ষেত্রে প্রাপ্যতা আপডেট প্রদানের জন্য Availability Replace API ব্যবহার করুন:
- একজন ব্যবহারকারী আপনার সিস্টেমে একটি রিজার্ভেশন বুক করেন, তাই প্রাপ্যতা স্লট আর উপলব্ধ থাকে না।
- একজন বণিক আপনার সিস্টেমে তাদের প্রাপ্যতা পরিবর্তন করে।
- একজন ব্যবহারকারী গুগলের মাধ্যমে একটি রিজার্ভেশন বুক করেন, তাই প্রাপ্যতা স্লট আর উপলব্ধ থাকে না।
- Google এর মাধ্যমে করা কোনও রিজার্ভেশন আপনার পক্ষ থেকে, উদাহরণস্বরূপ, সরাসরি বণিক কর্তৃক বাতিল করা হয়। আপনাকে বুকিং এবং প্রাপ্যতা আপডেট করতে হবে, কারণ আসল স্লটটি এখন আবার উপলব্ধ।
- একটি বুকিং সার্ভার
BatchAvailabilityLookupকল এমন ইনভেন্টরি ফেরত দেয় যা প্রকৃত ইনভেন্টরির সাথে মেলে না।
আরও তথ্যের জন্য, নিম্নলিখিত সম্পদগুলি দেখুন:
- টিউটোরিয়াল: রিয়েল-টাইম আপডেটগুলি কীভাবে গঠন করবেন
- RESTful কল ব্যবহার করে রিয়েল-টাইম আপডেটের জন্য জাভা ক্লায়েন্টের উদাহরণ
- ইনভেন্টরি আপডেট API রেফারেন্স পৃষ্ঠা
বুকিং নোটিফিকেশন এপিআই আরটিইউ
বুকিং নোটিফিকেশন এপিআইগুলি গুগলকে বিদ্যমান বুকিংগুলির আপডেট সম্পর্কে অবহিত করে। যখন আপনি বাতিলকরণ সম্পর্কে একটি আপডেট পাঠান, তখন updateMask কোয়েরি প্যারামিটার সহ অনুরোধে থাকা প্রয়োজনীয় তথ্যগুলিই পাঠান। এখানে একটি উদাহরণ দেওয়া হল:
Request: PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status Body: {"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}
API অ্যাক্সেস করা হচ্ছে
একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে Google API কনসোলে Credentials ট্যাব ব্যবহার করুন। JSON ফর্ম্যাটে প্রাইভেট কীটি একটি নিরাপদ স্থানে সংরক্ষণ করুন। যখন আপনি অ্যাকাউন্ট তৈরি করবেন, তখন আপনার কাছে ভূমিকাটি "মালিক" তে সেট করার বিকল্প থাকবে।
ম্যাপ বুকিং এপিআইগুলি প্রমাণীকরণ করুন
একটি পরিষেবা অ্যাকাউন্ট তৈরি করার পরে, নিম্নলিখিত API গুলি প্রমাণীকরণ করুন:
- গুগল ম্যাপস বুকিং এপিআই
- গুগল ম্যাপস বুকিং এপিআই (ডেভেলপার)
এটি কীভাবে করবেন তার ধাপে ধাপে নির্দেশিকা পেতে, Authenticating with Maps Booking API টিউটোরিয়ালটি দেখুন।
RESTful কল ব্যবহার করুন অথবা ক্লায়েন্ট লাইব্রেরি ডাউনলোড করুন
আমরা আপনাকে JSON পেলোড সহ Maps Booking API-তে সরাসরি RESTful কল করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, REST API ডকুমেন্টেশন দেখুন।
আপনি API-এর সাথে সংযোগ স্থাপনের জন্য ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে পারেন।
| ভাষা | ডাউনলোড লিংক |
|---|---|
| জাভা | জাভা ক্লায়েন্ট লাইব্রেরি । আরও তথ্যের জন্য, জাভা ক্লায়েন্ট নির্দেশাবলী দেখুন। |
ডাউনলোডের জন্য অতিরিক্ত সহায়তা লাইব্রেরি উপলব্ধ রয়েছে যা Google API-তে কলের অনুমোদন এবং অন্যান্য দিকগুলি পরিচালনা করে। প্রয়োজনে, এই নমুনাগুলি একবার দেখুন।
আবিষ্কারের নথিটি আনুন
কিছু ক্লায়েন্ট লাইব্রেরির জন্য, যেমন রুবি, API-এর জন্য Discovery ডকুমেন্ট আনতে হবে, যা এর পদ্ধতি এবং পরামিতি বর্ণনা করে।
ডিসকভারি ডকুমেন্ট আনতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'
রুবি থেকে API অ্যাক্সেস করার বিষয়ে আরও তথ্যের জন্য, এই লিঙ্কগুলি অনুসরণ করুন: রুবি API ক্লায়েন্ট এবং রুবি অথ লাইব্রেরি ।
API-তে অনুমোদিত কল করুন
যখন আপনি API তে কল করেন, তখন আপনার ব্যক্তিগত কী এবং নিম্নলিখিত OAuth স্কোপের সাহায্যে আপনার পরিষেবা অ্যাকাউন্ট অনুমোদন করতে "একটি অনুমোদিত API কল করার প্রস্তুতি" দেখুন: https://www.googleapis.com/auth/mapsbooking ।
API কোটা
API আপডেটের কোটা প্রতি ৬০ সেকেন্ডে ১,৫০০টি অনুরোধের, অর্থাৎ গড়ে প্রতি সেকেন্ডে ২৫টি অনুরোধের। যখন একটি কোটা অতিক্রম করা হয় (যা আপনার পার্টনার পোর্টালে সঠিক Google ক্লাউড প্রজেক্ট নম্বর যোগ না করলেও হতে পারে), তখন Google নিম্নলিখিত ত্রুটির বার্তার সাথে প্রতিক্রিয়া জানায়:
{
"error": {
"code": 429,
"message": "Insufficient tokens for quota ...",
"status": "RESOURCE_EXHAUSTED",
"details": [...]
}
} এটি মোকাবেলা করার জন্য, কলটি সফল না হওয়া পর্যন্ত দ্রুতগতিতে আরও বড় ব্যবধানে আবার চেষ্টা করুন। যদি আপনি নিয়মিত ReplaceServiceAvailability দিয়ে কোটা শেষ করে ফেলেন, তাহলে API কলের সংখ্যা কমাতে BatchReplaceServiceAvailabily এ স্যুইচ করুন। এই পদ্ধতি আপনাকে একটি একক API কলে একাধিক পরিষেবা আপডেট করতে দেয়।
স্যান্ডবক্স এবং উৎপাদনের শেষ বিন্দু
আপনি API এর মাধ্যমে স্যান্ডবক্স এবং প্রোডাকশন পরিবেশ উভয় ক্ষেত্রেই কল করতে পারবেন। নিশ্চিত করুন যে আপনি আপনার Google ক্লাউড প্রোজেক্টে উভয় API সক্ষম করেছেন। এই দুটি API একই স্কোপ ব্যবহার করে, তবে তাদের বিভিন্ন এন্ডপয়েন্ট রয়েছে।
উৎপাদনের শেষ বিন্দু: https://mapsbooking.googleapis.com/
স্যান্ডবক্স এন্ডপয়েন্ট: https://partnerdev-mapsbooking.googleapis.com/
জাভাতে এন্ডপয়েন্ট পরিবর্তন করার একটি উদাহরণ নিচে দেওয়া হল:
// This block of code is for OAuth and is the same for prod and sandbox. GoogleCredential .fromStream(new FileInputStream(...)) .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking")) // This block of code sets the endpoint. This is what you'd change to connect to the sandbox. new GoogleMapsBookingAPI.Builder(...) .setApplicationName(...) .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev. .build()