মূল্য এবং প্রাপ্যতা তথ্য একীভূত করার জন্য, অংশীদারদের অংশীদার API বাস্তবায়ন করতে হবে। এই ইন্টারফেসটি REST-এর উপর ভিত্তি করে তৈরি এবং Google-কে HTTP-এর মাধ্যমে লাইভ কল পাঠাতে দেয়। পৃথক API পদ্ধতির বিশদ বিবরণ রেফারেন্স বিভাগে বর্ণনা করা হলেও, আপনি পরে ক্রসকাটিং উদ্বেগ সম্পর্কে তথ্য পেতে পারেন।
অনুরোধ এবং প্রতিক্রিয়া ফর্ম্যাট
প্রাথমিকভাবে শুধুমাত্র JSON ফর্ম্যাটগুলি সমর্থিত হবে। যদি অতিরিক্ত অনুরোধ বা প্রতিক্রিয়া ফর্ম্যাটের প্রয়োজন হয়, তাহলে আপনার ব্যবহারের ক্ষেত্রে আলোচনা করতে transport-help@google.com এ ট্র্যাভেল ট্রান্সপোর্ট টিমের সাথে যোগাযোগ করুন।
HTTP পদ্ধতি POST ব্যবহার করে অনুরোধ পাঠানো হবে, POST বডিতে অনুরোধ বার্তা সহ।
মনে রাখবেন যে কাঠামোগত স্পষ্টতার জন্য, API ইন্টারফেস ডকুমেন্টেশনটি প্রোটোকল বাফার বার্তা সংজ্ঞা হিসাবে সরবরাহ করা হয়েছে, এবং একটি JSON অবজেক্টে প্রোটোকল বাফার বার্তা সংজ্ঞার অনুবাদ ক্যানোনিকাল JSON ম্যাপিং দ্বারা সংজ্ঞায়িত করা হয়েছে, ডিফল্ট মান সহ ক্ষেত্র নির্গত করার বিকল্পগুলি ব্যবহার করে এবং lowerCamelCase নামের পরিবর্তে প্রোটো ক্ষেত্রের নাম ব্যবহার করে ।
প্রমাণীকরণ
Google HTTP ডাইজেস্ট প্রমাণীকরণ, OAuth 2.0 এবং ক্লায়েন্ট সার্টিফিকেট প্রমাণীকরণ সমর্থন করে ( পার্টনার কনফিগারেশন দেখুন)। API পরীক্ষার সময় অংশীদারের Google কে সঠিক শংসাপত্র সরবরাহ করা উচিত:
- ডাইজেস্টের জন্য: ব্যবহারকারীর নাম এবং পাসওয়ার্ড।
- OAuth 2.0 এর জন্য: client_id এবং client_secret।
- সার্টিফিকেটের জন্য: একটি SSL ক্লায়েন্ট সার্টিফিকেট।
স্ট্যাটাস কোড এবং ত্রুটি পরিচালনা
সাধারণভাবে, HTTP প্রতিক্রিয়াগুলিতে নিম্নলিখিত স্ট্যাটাস কোডগুলি ফেরত পাঠানো যেতে পারে:
| HTTP কোড | HTTP বর্ণনা | মন্তব্য |
|---|---|---|
| ২xx | ঠিক আছে | কোনও ত্রুটি নয়; সাফল্যের পরে ফিরে এসেছে। প্রতিক্রিয়ার মূল অংশে একটি সফল ফলাফল (যেমন TripOptionsResult) থাকবে বলে আশা করা হচ্ছে, কোনও ত্রুটির প্রতিক্রিয়া নয় । |
| ৪০০ | খারাপ অনুরোধ | প্রাপ্ত অনুরোধটি অবৈধ ছিল। প্রতিক্রিয়ার মূল অংশে অতিরিক্ত ত্রুটির বিবরণ ফেরত দেওয়ার জন্য পদ্ধতি-নির্দিষ্ট ত্রুটির প্রতিক্রিয়া ব্যবহার করা উচিত। HTTP 400 সাধারণত শুধুমাত্র তখনই ব্যবহার করা উচিত যখন Google কোনও প্রযুক্তিগত ত্রুটি করে (যেমন, অনুরোধে একটি ভুল নামকরণ ক্ষেত্র)। |
| ৪০৩ | নিষিদ্ধ | অনুমতি অস্বীকার/নিষিদ্ধ (কলার পরিচিত এবং প্রত্যাখ্যাত)। কিছু রিসোর্স ক্লান্তির কারণে প্রত্যাখ্যানের ক্ষেত্রে এই প্রতিক্রিয়া ব্যবহার করা উচিত নয় (এই ত্রুটিগুলির জন্য অনেক অনুরোধ ব্যবহার করুন)। যদি কলকারীকে সনাক্ত করা না যায় তবে নিষিদ্ধ ব্যবহার করা উচিত নয় (এই ত্রুটিগুলির জন্য অননুমোদিত ব্যবহার করুন)। |
| ৪০৪ | পাওয়া যায়নি | অনুরোধ করা রিসোর্সটি খুঁজে পাওয়া যায়নি। রেসপন্স বডিতে অতিরিক্ত ত্রুটির বিবরণ ফেরত দেওয়ার জন্য পদ্ধতি-নির্দিষ্ট ত্রুটির প্রতিক্রিয়া ব্যবহার করা উচিত। |
| ৪২৯ | অনেক বেশি অনুরোধ | কিছু রিসোর্স শেষ হয়ে গেছে, সম্ভবত প্রতি ব্যবহারকারীর কোটা। |
| ৫০০ | অভ্যন্তরীণ সার্ভার ত্রুটি | অভ্যন্তরীণ ত্রুটি। এর অর্থ হল অন্তর্নিহিত সিস্টেম দ্বারা প্রত্যাশিত কিছু ইনভেরিয়েন্ট ভেঙে গেছে। এই ত্রুটি কোডটি গুরুতর ত্রুটির জন্য সংরক্ষিত এবং অংশীদারের API সার্ভার বাস্তবায়নে একটি বাগ নির্দেশ করে। |
| ৫০৩ | পরিষেবা অনুপলব্ধ | পরিষেবাটি অনুপলব্ধ। এটি সম্ভবত একটি ক্ষণস্থায়ী অবস্থা, যা ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করে সংশোধন করা যেতে পারে। |
| ৫০৪ | গেটওয়ে টাইমআউট | অপারেশনটি সম্পূর্ণ হওয়ার আগেই সময়সীমা শেষ হয়ে গেছে। সিস্টেমের অবস্থা পরিবর্তনকারী অপারেশনগুলির জন্য, অপারেশনটি সফলভাবে সম্পন্ন হলেও এই ত্রুটিটি ফিরে আসতে পারে। উদাহরণস্বরূপ, একটি সার্ভার থেকে একটি সফল প্রতিক্রিয়া সময়সীমা শেষ হওয়ার জন্য যথেষ্ট বিলম্বিত হতে পারে। |
মনে রাখবেন যে সমস্ত পূর্বশর্ত, অবৈধ আর্গুমেন্ট, অথবা পাওয়া যায়নি এমন ত্রুটির জন্য:
- API গুলিতে সংজ্ঞায়িত পদ্ধতি-নির্দিষ্ট প্রতিক্রিয়া বা ত্রুটি বার্তা ব্যবহার করা উচিত।
- the correct http code should be used, as specified in the method-specific codes (see eg
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 Travel Transport টিমের সাথে যোগাযোগ করুন।
QPS (প্রতি সেকেন্ডে প্রশ্ন)
গুগল কর্তৃক প্রেরিত QPS এর স্তর অংশীদারদের তালিকা এবং কতজন ব্যবহারকারী ক্যাশেড ডেটা দেখেন বা বুকিংয়ের জন্য অংশীদারদের ওয়েবসাইটগুলিতে ক্লিক করেন তার উপর নির্ভর করে পরিবর্তিত হতে পারে।
বিলম্ব
অনুরোধগুলি ১০ সেকেন্ড পরে শেষ হয়ে যাবে। বিটা পার্টনার ইন্টিগ্রেশনের জন্য কোনও অতিরিক্ত লেটেন্সি নির্দেশিকা থাকবে না। তবে, আরও লেটেন্সি SLO গুলি আমাদের পার্টনার ডেটা কোয়ালিটি নির্দেশিকাগুলিতে সংজ্ঞায়িত করা হবে।
মুদ্রা, কর এবং ফি
Google-এ পাঠানো সমস্ত দামে সমস্ত কর এবং ফি অন্তর্ভুক্ত থাকতে হবে এবং একটি সমর্থিত মুদ্রায় উল্লেখ করতে হবে।
মুদ্রা
মূল্যের মুদ্রা currency_code ক্ষেত্র ব্যবহার করে নির্দিষ্ট করা হয়, যা অবশ্যই একটি বৈধ ISO 4217 মুদ্রা কোড হতে হবে।
উদাহরণ ১০.২৫ মার্কিন ডলার:
{
"price": {
"currency_code": "USD",
"units": 10,
"nanos": 250000000
}
}
কর এবং ফি
আপনার দেওয়া দামটি অবশ্যই ব্যবহারকারীর প্রদেয় চূড়ান্ত মোট মূল্য হতে হবে, যার মধ্যে সমস্ত কর (যেমন ভ্যাট) এবং যেকোনো অতিরিক্ত ফি (যেমন বুকিং বা পেমেন্ট কার্ড ফি) অন্তর্ভুক্ত থাকবে। repeatable line_items ফিল্ড ব্যবহার করে একটি ঐচ্ছিক ভাড়ার বিবরণ যোগ করা যেতে পারে। Google ব্যবহারকারীকে ঐচ্ছিক ভাড়ার বিবরণ সহ মোট মূল্য প্রদর্শন করবে।