মূল্য এবং প্রাপ্যতা তথ্য একত্রিত করতে, অংশীদারদের অংশীদার API বাস্তবায়ন করতে হবে। এই ইন্টারফেসটি REST-এর উপর ভিত্তি করে তৈরি এবং Google কে HTTP-র মাধ্যমে লাইভ কল পাঠাতে দেয়। যদিও পৃথক API পদ্ধতির বিবরণ রেফারেন্স বিভাগে বর্ণনা করা হয়েছে, আপনি পরে ক্রসকাটিং উদ্বেগ সম্পর্কে তথ্য পেতে পারেন।
অনুরোধ এবং প্রতিক্রিয়া বিন্যাস
প্রাথমিকভাবে শুধুমাত্র JSON ফরম্যাট সমর্থিত হবে। অতিরিক্ত অনুরোধ বা প্রতিক্রিয়া বিন্যাসের প্রয়োজন হলে, আপনার ব্যবহারের ক্ষেত্রে আলোচনা করতে transport-help@google.com- এ ট্রাভেল ট্রান্সপোর্ট টিমের সাথে যোগাযোগ করুন।
POST বডিতে অনুরোধ বার্তা সহ HTTP পদ্ধতি POST ব্যবহার করে অনুরোধ পাঠানো হবে।
মনে রাখবেন যে কাঠামোগত স্বচ্ছতার জন্য, API ইন্টারফেস ডকুমেন্টেশন প্রোটোকল বাফার বার্তা সংজ্ঞা হিসাবে প্রদান করা হয়, এবং একটি JSON অবজেক্টে একটি প্রোটোকল বাফার বার্তা সংজ্ঞার অনুবাদ ক্যানোনিকাল JSON ম্যাপিং দ্বারা সংজ্ঞায়িত করা হয়, ডিফল্ট মান সহ ক্ষেত্রগুলি নির্গত করার বিকল্পগুলি ব্যবহার করে এবং LowerCamelCase নামের পরিবর্তে প্রোটো ক্ষেত্রের নামগুলি ব্যবহার করে ৷
প্রমাণীকরণ
Google HTTP ডাইজেস্ট প্রমাণীকরণ এবং ক্লায়েন্ট সার্টিফিকেট প্রমাণীকরণ সমর্থন করে। অংশীদার API-এর সমস্ত HTTP কল হয় HTTP ডাইজেস্ট প্রমাণীকরণ (ইউজারনেম এবং পাসওয়ার্ড সহ) অথবা ক্লায়েন্ট সার্টিফিকেট প্রমাণীকরণ ব্যবহার করে। অংশীদারকে যথাক্রমে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড ( অংশীদার কনফিগারেশন দেখুন), অথবা একটি SSL ক্লায়েন্ট সার্টিফিকেট প্রদান করা উচিত।
স্ট্যাটাস কোড এবং ত্রুটি হ্যান্ডলিং
সাধারণভাবে, HTTP প্রতিক্রিয়াগুলিতে নিম্নলিখিত স্থিতি কোডগুলি ফেরত দেওয়া যেতে পারে:
এইচটিটিপি কোড | HTTP বর্ণনা | নোট |
---|---|---|
2xx | ঠিক আছে | একটি ত্রুটি নয়; সাফল্য ফিরে এসেছে। প্রতিক্রিয়া বডিতে একটি সফল ফলাফল (যেমন TripOptionsResult) থাকবে বলে আশা করা হচ্ছে, কোনো ত্রুটির প্রতিক্রিয়া নয় । |
400 | খারাপ অনুরোধ | প্রাপ্ত অনুরোধ অবৈধ ছিল. পদ্ধতি-নির্দিষ্ট ত্রুটি প্রতিক্রিয়া প্রতিক্রিয়া বডি অতিরিক্ত ত্রুটি বিবরণ ফেরত ব্যবহার করা উচিত. HTTP 400 সাধারণত তখনই ব্যবহার করা উচিত যদি Google একটি প্রযুক্তিগত ত্রুটি করে (যেমন একটি অনুরোধে একটি ভুল নাম দেওয়া ক্ষেত্র)। |
403 | নিষিদ্ধ | অনুমতি অস্বীকার/নিষিদ্ধ (কলার পরিচিত এবং প্রত্যাখ্যাত) এই প্রতিক্রিয়াটি কিছু সংস্থান নিঃশেষ করার কারণে প্রত্যাখ্যানের জন্য ব্যবহার করা উচিত নয় (সেই ত্রুটিগুলির পরিবর্তে অনেকগুলি অনুরোধ ব্যবহার করুন)। যদি কলকারীকে সনাক্ত করা না যায় তবে নিষিদ্ধ ব্যবহার করা উচিত নয় (সেই ত্রুটিগুলির জন্য অননুমোদিত ব্যবহার করুন)। |
404 | পাওয়া যায়নি | অনুরোধ করা সম্পদ খুঁজে পাওয়া যায়নি. পদ্ধতি-নির্দিষ্ট ত্রুটি প্রতিক্রিয়া প্রতিক্রিয়া বডি অতিরিক্ত ত্রুটি বিবরণ ফেরত ব্যবহার করা উচিত. |
429 | অনেক অনুরোধ | কিছু সম্পদ শেষ হয়ে গেছে, সম্ভবত প্রতি-ব্যবহারকারী কোটা। |
500 | অভ্যন্তরীণ সার্ভার ত্রুটি৷ | অভ্যন্তরীণ ত্রুটি. এর মানে হল যে অন্তর্নিহিত সিস্টেমের দ্বারা প্রত্যাশিত কিছু invariants ভেঙে গেছে। এই ত্রুটি কোডটি গুরুতর ত্রুটির জন্য সংরক্ষিত এবং অংশীদারের API সার্ভার বাস্তবায়নে একটি বাগ নির্দেশ করে৷ |
503 | পরিষেবা অনুপলব্ধ৷ | পরিষেবাটি অনুপলব্ধ৷ এটি সম্ভবত একটি ক্ষণস্থায়ী অবস্থা, যা ব্যাকঅফের সাথে পুনরায় চেষ্টা করে সংশোধন করা যেতে পারে। |
504 | গেটওয়ে টাইমআউট | অপারেশন শেষ হওয়ার আগেই সময়সীমা শেষ হয়ে গেছে। সিস্টেমের অবস্থা পরিবর্তন করে এমন অপারেশনগুলির জন্য, অপারেশনটি সফলভাবে সম্পন্ন হলেও এই ত্রুটিটি ফেরত দেওয়া হতে পারে। উদাহরণস্বরূপ, একটি সার্ভার থেকে একটি সফল প্রতিক্রিয়ার সময়সীমা শেষ হওয়ার জন্য যথেষ্ট দেরি হতে পারে। |
মনে রাখবেন যে সমস্ত পূর্বশর্ত, অবৈধ আর্গুমেন্ট বা ত্রুটি পাওয়া যায়নি:
- API-এ সংজ্ঞায়িত পদ্ধতি-নির্দিষ্ট প্রতিক্রিয়া বা ত্রুটি বার্তা ব্যবহার করা উচিত।
- সঠিক http কোড ব্যবহার করা উচিত, যেমন পদ্ধতি-নির্দিষ্ট কোডে উল্লেখ করা হয়েছে (যেমন
TripOptionsErrorType
দেখুন)
এটি এই ধরনের ত্রুটি সম্পর্কে আরও বিস্তারিত তথ্য প্রদান করার অনুমতি দেয়। এই তথ্য ব্যবহার করা যেতে পারে:
- একটি ত্রুটি পুনরায় চেষ্টা করা যেতে পারে কিনা তা নির্ধারণ করুন
-
SEGMENT_KEY_NOT_FOUND
পুনরায় চেষ্টা করা যাবে না৷
-
- সঠিক বাসি তথ্য
-
Unavailable.Reason.CANCELED
ইঙ্গিত দেয় ট্রিপটি সরানো উচিত (মনে রাখবেন এটি একটি সফল প্রতিক্রিয়ার অংশ) -
Unavailable.Reason.TEMPORARILY_UNAVAILABLE
পাশাপাশি ত্রুটি কোডগুলিSEGMENT_KEY_NOT_FOUND
,SUBOPTIMAL_ITINERARY
,BOOKING_WINDOW_NOT_SUPPORTED
এবংTICKETING_PROHIBITED
আমাদের পূর্বে পাওয়া মূল্যগুলি থেকে সরিয়ে দেয়৷
-
- ব্যবহারকারীদের প্রাসঙ্গিক নির্দেশিকা প্রদান করুন
TripOptionsError
এ প্রদত্ত পদ্ধতি-নির্দিষ্ট ত্রুটির বর্তমান তালিকাটি একটি সূচনা বিন্দু। অতিরিক্ত ত্রুটির প্রকারের প্রয়োজন হলে, অনুগ্রহ করে Google ট্রাভেল ট্রান্সপোর্ট টিমের সাথে যোগাযোগ করুন।
QPS (প্রতি সেকেন্ডে প্রশ্ন)
পার্টনার ইনভেন্টরি এবং কতজন ব্যবহারকারী ক্যাশে করা ডেটা দেখেন বা বুকিংয়ের জন্য অংশীদার ওয়েবসাইটগুলিতে ক্লিক করেন তার উপর ভিত্তি করে Google-এর পাঠানো QPS-এর মাত্রা পরিবর্তিত হতে পারে।
লেটেন্সি
অনুরোধ 10 সেকেন্ড পরে সময় শেষ হবে. বিটা পার্টনার ইন্টিগ্রেশনের জন্য কোনো অতিরিক্ত লেটেন্সি নির্দেশিকা থাকবে না। যাইহোক, আমাদের অংশীদার ডেটা গুণমান নির্দেশিকাগুলিতে আরও লেটেন্সি SLOগুলিকে সংজ্ঞায়িত করা হবে৷
মুদ্রা, ট্যাক্স এবং ফি
Google-এ পাঠানো সমস্ত দামে অবশ্যই সব ট্যাক্স এবং ফি অন্তর্ভুক্ত থাকতে হবে এবং একটি সমর্থিত মুদ্রায় উল্লেখ করতে হবে।
মুদ্রা
একটি মূল্যের জন্য মুদ্রা currency_code
ক্ষেত্র ব্যবহার করে নির্দিষ্ট করা হয়, যা অবশ্যই একটি বৈধ ISO 4217 মুদ্রা কোড হতে হবে।
উদাহরণ 10,25 USD:
{
"price": {
"currency_code": "USD",
"units": 10,
"nanos": 250000000
}
}
ট্যাক্স এবং ফি
আপনি যে মূল্য প্রদান করবেন তা অবশ্যই চূড়ান্ত হতে হবে, ব্যবহারকারীর পরিশোধ করা মোট মূল্য, সমস্ত ট্যাক্স (যেমন ভ্যাট) এবং অতিরিক্ত ফি (যেমন বুকিং বা পেমেন্ট কার্ড ফি) সহ। একটি ঐচ্ছিক ভাড়া ব্রেকডাউন পুনরাবৃত্তিযোগ্য line_items
ক্ষেত্র ব্যবহার করে যোগ করা যেতে পারে। Google ব্যবহারকারীর কাছে ঐচ্ছিক ভাড়া ব্রেকডাউন সহ মোট মূল্য প্রদর্শন করবে।