অফার ইন্টিগ্রেশনে অংশগ্রহণকারী অংশীদারদের অবশ্যই মার্চেন্ট বা এন্টিটি (পাইলট) ভিত্তিক ইন্টিগ্রেশন ধাপের জন্য অ্যাকাউন্ট সেটআপটি শুরু করার আগে সম্পূর্ণ করতে হবে। অফার ইন্টিগ্রেশনের বাস্তবায়ন, পরীক্ষা এবং লঞ্চ এই গাইডে বিস্তারিত থাকবে। ইন্টিগ্রেশন ধাপের মধ্য দিয়ে যাওয়ার আগে এই ওভারভিউ এবং অফার নীতিগুলি পড়ুন।
অফার করে
অফার ইন্টিগ্রেশন আপনাকে বণিক প্রচার এবং নির্দিষ্ট সময়ে নির্দিষ্ট পরিষেবাগুলিতে প্রযোজ্য ডিসকাউন্ট সম্পর্কে কাঠামোগত তথ্য রিলে করতে দেয়৷ অফারগুলি প্রকৃত অফার (শতাংশ-অফ, ডলার-অফ ...), বৈধতা উইন্ডো (নির্দিষ্ট সময়, সপ্তাহের দিন ...), এবং প্রযোজ্য ব্যবহারগুলি (অফারটি শুধুমাত্র নির্দিষ্ট পরিষেবাগুলিতে ব্যবহার করা যেতে পারে) পাশাপাশি জটিল বিধিনিষেধের সমন্বয়ে গঠিত।
অফারগুলির উদাহরণ:
- ডিসেম্বরের বুধ ও বৃহস্পতিবার দুপুর ১২টা থেকে বিকেল ৫টা পর্যন্ত হাফ-অফ অ্যাপেটাইজার
- সন্ধ্যা 6 টা থেকে 10 টা পর্যন্ত মা দিবসের ডিনারের জন্য একটি ডেজার্ট বিনামূল্যে কিনুন
- প্রতি রবিবার সকাল ১০টা থেকে দুপুর ২টা পর্যন্ত একটি ব্রাঞ্চ এন্ট্রিতে $5 ছাড়
- প্রিমিয়াম গ্রাহকদের জন্য 5% ছাড়ের সাথে ওয়াক-ইন অফার হিসাবে 10% ছাড় এবং ব্যবহারকারী আপনার অ্যাপের মাধ্যমে অর্থ প্রদান করলে 5% ছাড়৷
একটি অফারকে ইন্টিগ্রেশনে অন্তর্ভুক্ত করার জন্য, এটিকে প্রযুক্তিগত ডেটা মডেলের সাথে সাথে আমাদের যোগ্যতার প্রয়োজনীয়তা পূরণ করতে হবে। আপনার ইন্টিগ্রেশন মেনে চলছে এবং প্রযুক্তিগত প্রয়োজনীয়তার সাথে খাপ খায় না এমন অফারগুলির সাথে কী করতে হবে তার নির্দেশাবলীর জন্য আমাদের অফার নীতিগুলি পর্যালোচনা করা নিশ্চিত করুন৷
বাস্তবায়ন প্রস্তাব
অফার ইন্টিগ্রেশনে দুটি ফিড রয়েছে যা প্রতিদিন আপলোড করা হবে বা ফ্রিকোয়েন্সিতে যা উচ্চ নির্ভুলতা নিশ্চিত করে (অর্থাৎ স্থবিরতা হ্রাস করে):
অফারফিড
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
data | বস্তুর বিন্যাস(Offer) |
অফার
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
offer_id | স্ট্রিং | প্রয়োজন | অফারের ইউনিক আইডি। প্রয়োজন। |
entity_ids | স্ট্রিং এর অ্যারে | এই অফারে অংশগ্রহণকারী ব্যবসায়ীদের তালিকা। | |
add_on_offer_applicable_to_all_entities | বুলিয়ান | সত্য হলে, এই অফারটি অ্যাগ্রিগেটরের অধীনে থাকা সমস্ত সংস্থার জন্য প্রযোজ্য। শুধুমাত্র অ্যাড অন অফারের জন্য প্রযোজ্য। | |
offer_source | enum(OfferSource) | প্রয়োজন | একটি অফার অ্যাগ্রিগেটর, একজন পৃথক বণিক, এমনকি একটি অ্যাড অন হিসাবে তৃতীয় পক্ষ দ্বারা প্রদান করা যেতে পারে। প্রয়োজন। |
action_type | enum(ActionType) | প্রয়োজন | যে পরিষেবাটি অফারটি প্রদান করছে। একটি offer_id শুধুমাত্র একটি কর্ম_টাইপের অন্তর্গত হতে পারে। যদি একটি অফার একাধিক পরিষেবার ধরন জুড়ে ভাগ করা যায় তবে প্রতিটি পরিষেবার জন্য অনন্য আইডি সহ ডুপ্লিকেট অফার তৈরি হবে বলে আশা করা হচ্ছে। প্রয়োজন। |
offer_modes | enum এর অ্যারে(OfferMode) | প্রয়োজন | অফারটি যে পদ্ধতিতে ব্যবহার করা যেতে পারে - ওয়াক ইন, রিজার্ভেশন, অনলাইন ইত্যাদি। |
offer_category | enum(OfferCategory) | প্রয়োজন | অফারের ক্যাটাগরি। প্রয়োজন। |
source_assigned_priority | সংখ্যা | অ-নেতিবাচক পূর্ণসংখ্যা ([1-100], যেখানে 1 সর্বোচ্চ অগ্রাধিকারের প্রতিনিধিত্ব করে) উৎস দ্বারা নির্ধারিত অফারটির অগ্রাধিকার স্তর নির্দেশ করে। যখন একই বণিকের জন্য একাধিক অফার পাওয়া যায়, তখন এটি র্যাঙ্কিং অফারগুলির জন্য একটি সংকেত হবে। 0 প্রতিনিধিত্ব করবে যে অগ্রাধিকার সেট করা নেই। | |
offer_details | বস্তু(OfferDetails) | প্রয়োজন | অফারের বিশদ বিবরণ যেমন ডিসকাউন্ট, বুকিং খরচ ইত্যাদি। |
offer_restrictions | বস্তু(OfferRestrictions) | প্রয়োজন | বর্ণনা করে কিভাবে অফারটি সীমাবদ্ধ যেমন একটি সাবস্ক্রিপশন/পেমেন্ট ইনস্ট্রুমেন্ট প্রয়োজন কিনা, এই অফারটি অন্যান্য অফার (এবং কি ধরনের) এর সাথে একত্রিত করা যায় কিনা ইত্যাদি। |
coupon | বস্তু(Coupon) | একটি কুপনের বিবরণ। অফার_বিভাগের জন্য প্রয়োজনীয়: OFFER_CATEGORY_ADD_ON_COUPON_OFFER। | |
payment_instrument | বস্তু(PaymentInstrument) | একটি অর্থপ্রদান যন্ত্রের বিবরণ। অফার_বিভাগের জন্য প্রয়োজনীয়: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER। | |
subscription | বস্তু(Subscription) | সাবস্ক্রিপশনের বিশদ বিবরণ। অফার_বিভাগের জন্য প্রয়োজনীয়: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER। | |
terms | বস্তু(Terms) | প্রয়োজন | অফারের শর্তাবলী। প্রয়োজন। |
validity_periods | বস্তুর বিন্যাস(ValidityPeriod) | প্রয়োজন | অফারের মেয়াদকাল। অফারটি শুরু এবং শেষের সময়, সপ্তাহের দিন, ইত্যাদি সহ কত সময়ের জন্য বৈধ তা বর্ণনা করে। |
offer_url | স্ট্রিং | বণিকের অফার পৃষ্ঠার URL। অফার_বিভাগের জন্য প্রয়োজনীয়: OFFER_CATEGORY_BASE_OFFER। | |
image_url | স্ট্রিং | ব্যবসায়ীর অফার ছবির URL। |
অফার বিবরণ
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
offer_display_text | স্ট্রিং | প্রয়োজন | অফার প্রদানকারী গ্রাহকদের অনুসন্ধান ফলাফল পৃষ্ঠায় প্রদর্শন করতে চায় অফার টেক্সট. প্রয়োজন। |
| oneof(offer_specification) | প্রয়োজন | এই oneOf ক্ষেত্রগুলির মধ্যে শুধুমাত্র একটি সেট করা যেতে পারে। |
max_discount_value | বস্তু(Money) | সর্বোচ্চ ছাড় পাওয়া যাবে। উদাহরণস্বরূপ, $100 পর্যন্ত 10% ছাড়। | |
min_spend_value | বস্তু(Money) | ডিসকাউন্ট সুবিধা পেতে ন্যূনতম খরচ মান. উদাহরণস্বরূপ, মোট মূল্য $100 বা তার বেশি হলে 10% ছাড়৷ | |
booking_cost | বস্তু(Money) | এই অফার বুক করার খরচ. উদাহরণস্বরূপ, $15 খরচে একটি টেবিল সংরক্ষিত হলে চূড়ান্ত বিল থেকে $100 ছাড়। | |
booking_cost_unit | enum(FeeUnit) | বুকিং খরচ ইউনিট. উদাহরণস্বরূপ, প্রতি ব্যক্তি, প্রতি লেনদেন। | |
convenience_fee | বস্তু(Fee) | ||
booking_cost_adjustable | বুলিয়ান | বুকিং খরচ সামঞ্জস্যযোগ্য কিনা অর্থাৎ বুকিং খরচ চূড়ান্ত বিল থেকে বিয়োগ করা হয়। যেমন: রিজার্ভেশন সহ ডিনারে 30% ছাড়। $15 রিজার্ভ করার খরচ এবং এটি চূড়ান্ত বিলে প্রয়োগ করা হবে। তাই চূড়ান্ত বিল: মোট খরচ - 30% - $15৷ | |
additional_fees | বস্তুর বিন্যাস(AdditionalFee) | অতিরিক্ত ফি যা ব্যবহারকারীর কাছ থেকে নেওয়া হয়। উদাহরণ: সুবিধা, পরিচালনা ইত্যাদি |
টাকা
মুদ্রার ধরন সহ একটি পরিমাণ অর্থের প্রতিনিধিত্ব করে।
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
currency_code | স্ট্রিং | ISO 4217-এ সংজ্ঞায়িত তিন-অক্ষরের মুদ্রা কোড। | |
units | স্ট্রিং | রাশির পুরো একক। উদাহরণস্বরূপ, যদি currencyCode হয় "USD" , তাহলে 1 ইউনিট হল এক মার্কিন ডলার৷ | |
nanos | সংখ্যা | পরিমাণের ন্যানো (10^-9) ইউনিটের সংখ্যা। মান অবশ্যই -999,999,999 এবং +999,999,999 এর মধ্যে হতে হবে। যদি units ধনাত্মক হয়, nanos অবশ্যই ধনাত্মক বা শূন্য হতে হবে। যদি units শূন্য হয়, nanos ধনাত্মক, শূন্য বা ঋণাত্মক হতে পারে। units ঋণাত্মক হলে, nanos অবশ্যই ঋণাত্মক বা শূন্য হতে হবে। উদাহরণস্বরূপ $-1.75 units =-1 এবং nanos =-750,000,000 হিসাবে উপস্থাপিত হয়। |
ফি
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneof(cost) | এই oneOf ক্ষেত্রগুলির মধ্যে শুধুমাত্র একটি সেট করা যেতে পারে। |
মানিরেঞ্জ
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
min_amount | বস্তু(Money) | ||
max_amount | বস্তু(Money) |
অতিরিক্ত ফি
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
name | স্ট্রিং | প্রয়োজন | অতিরিক্ত ফি এর নাম। উদাহরণ: সুবিধার ফি, হ্যান্ডলিং ফি ইত্যাদি। |
fee | বস্তু(Fee) |
অফার সীমাবদ্ধতা
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
combinable_with_other_offers | বুলিয়ান | এই অফারটি অন্যান্য অফারগুলির সাথে মিলিত হতে পারে কিনা। সত্য হলে, অংশীদাররা নির্দিষ্ট করতে পারে এই অফারটি কোন অফারগুলির সাথে মিলিত হতে পারে৷ যদি combinable_offer_categories এবং combinable_offer_ids উভয়ই সেট করা থাকে তাহলে উপরের শর্তগুলির একটির সাথে মিলে যাওয়া যেকোনো অফার একত্রিত করা যাবে। | |
combinable_offer_categories | enum এর অ্যারে(OfferCategory) | অফার প্রকারের তালিকা যেগুলির সাথে এই অফারটি একত্রিত করা যেতে পারে৷ উদাহরণস্বরূপ, এই অফারটি অন্যান্য কুপনের সাথে একত্রিত হতে পারে। যদি combinable_with_other_offers সত্য হয় এবং এই ক্ষেত্রটি আনসেট করা হয় তাহলে সব ধরনের মিলনযোগ্য হবে। | |
combinable_offer_ids | স্ট্রিং এর অ্যারে | অফার_আইডিগুলির তালিকা যেগুলির সাথে এই অফারটি একত্রিত করা যেতে পারে৷ কিছু অফার শুধুমাত্র নির্দিষ্ট নির্দিষ্ট অন্যান্য offer_ids এর সাথে একত্রিত হতে পারে (মূল অফার হিসেবে বিবেচনা করা যেতে পারে)। যদি combinable_with_other_offers সত্য হয় এবং এই ক্ষেত্রটি আনসেট করা হয় তাহলে সমস্ত অফার আইডি একত্রিত করা যাবে। | |
inclusions | বস্তুর বিন্যাস(OfferCondition) | অফারটি বৈধ হওয়ার জন্য শর্তগুলির তালিকা যা অবশ্যই পূরণ করতে হবে (যেমন, নন-অ্যালকোহলযুক্ত পানীয়, খাবার)। | |
exclusions | বস্তুর বিন্যাস(OfferCondition) | শর্তের তালিকা যা অফারটি বাতিল করবে (যেমন, বুফে, কম্বো অফার, এবং ককটেল)। | |
min_guest | সংখ্যা | অফারটি পেতে ন্যূনতম সংখ্যক লোকের প্রয়োজন। | |
food_offer_restrictions | বস্তু(FoodOfferRestrictions) | খাদ্য অফার নির্দিষ্ট সীমাবদ্ধতা. |
অফার কন্ডিশন
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
description | স্ট্রিং |
খাদ্য অফার বিধিনিষেধ
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
meal_types | enum এর অ্যারে(MealType) | অফারটি যে ধরনের খাবারের জন্য প্রয়োগ করা যেতে পারে, যেমন লাঞ্চ বা ডিনার। সেট না থাকলে, অফারটি সব ধরনের খাবারের জন্য প্রয়োগ করা যেতে পারে। | |
restricted_to_certain_courses | বুলিয়ান | অফারটি শুধুমাত্র নির্দিষ্ট কিছু কোর্সে প্রয়োগ করা যাবে কিনা। |
কুপন
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
text | স্ট্রিং | অফার প্রদানকারী ব্যবহারকারীদের কাছে যে কুপন টেক্সট প্রদর্শন করতে চায়। | |
code | স্ট্রিং | প্রয়োজন | অফারটি রিডিম করতে কুপন কোড প্রয়োজন। প্রয়োজন। |
পেমেন্ট ইনস্ট্রুমেন্ট
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
items | বস্তুর বিন্যাস(PaymentInstrumentItem) | প্রয়োজন | অফারটি পেতে ব্যবহার করা যেতে পারে এমন অর্থপ্রদানের উপকরণগুলির তালিকা৷ প্রয়োজন। |
provider_name | স্ট্রিং | প্রয়োজন | অর্থপ্রদানের উপকরণ প্রদানকারীর নাম। একটি ব্যাঙ্কিং অংশীদার হতে পারে, একটি ব্যাঙ্কের নাম, ইত্যাদি। যেমন: American Express, HDFC, ICICI। প্রয়োজন। |
পেমেন্ট ইনস্ট্রুমেন্ট আইটেম
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
type | enum(PaymentInstrumentType) | প্রয়োজন | পেমেন্ট যন্ত্রের ধরন। প্রয়োজন। |
name | স্ট্রিং | প্রয়োজন | ক্রেডিট কার্ডের নামের মত পেমেন্ট ইনস্ট্রুমেন্ট আইটেমের নাম। যেমন: এইচডিএফসি ইনফিনিয়া, আমেরিকান এক্সপ্রেস প্লাটিনাম। প্রয়োজন। |
সাবস্ক্রিপশন
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
name | স্ট্রিং | প্রয়োজন | চাঁদার নাম। প্রয়োজন। |
subscription_auto_added | বুলিয়ান | কোনো ব্যবহারকারী যখন এই অফারটি গ্রহণ করেন তখন সদস্যতা স্বয়ংক্রিয়ভাবে যুক্ত হয় কিনা | |
cost | বস্তু(Money) | প্রয়োজন | চাঁদা খরচ. প্রয়োজন। |
subscription_duration | বস্তু(Duration) | প্রয়োজন | সাবস্ক্রিপশন_কস্টে কতক্ষণ সাবস্ক্রিপশন বৈধ। প্রয়োজন। |
terms_and_conditions_url | স্ট্রিং | এই সদস্যতার সাথে প্রাসঙ্গিক অংশীদারের শর্তাবলীর URL। |
সময়কাল
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
seconds | স্ট্রিং | সময়ের ব্যবধানে স্বাক্ষরিত সেকেন্ড। হতে হবে -315,576,000,000 থেকে +315,576,000,000 সহ। দ্রষ্টব্য: এই সীমাগুলি থেকে গণনা করা হয়: 60 সেকেন্ড/মিনিট * 60 মিনিট/ঘন্টা * 24 ঘন্টা/দিন * 365.25 দিন/বছর * 10000 বছর | |
nanos | সংখ্যা | সময়ের ব্যবধানের ন্যানোসেকেন্ড রেজোলিউশনে এক সেকেন্ডের স্বাক্ষরিত ভগ্নাংশ। এক সেকেন্ডের কম সময়কাল একটি 0 seconds ক্ষেত্র এবং একটি ইতিবাচক বা নেতিবাচক nanos ক্ষেত্র দিয়ে উপস্থাপন করা হয়। এক সেকেন্ড বা তার বেশি সময়ের জন্য, nanos ক্ষেত্রের জন্য একটি অ-শূন্য মান অবশ্যই seconds ক্ষেত্রের মতো একই চিহ্নের হতে হবে। -999,999,999 থেকে +999,999,999 সহ হতে হবে। |
শর্তাবলী
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
url | স্ট্রিং | অংশীদারের শর্তাবলীর URL। | |
restricted_to_certain_users | বুলিয়ান | অফারটি নির্দিষ্ট ব্যবহারকারীদের জন্য সীমাবদ্ধ কিনা। | |
terms_and_conditions | স্ট্রিং | অংশীদার দ্বারা প্রদত্ত প্রাথমিক T&C পাঠ্য। | |
additional_terms_and_conditions | স্ট্রিং এর অ্যারে | অংশীদার থেকে প্রাথমিক T&C ছাড়াও শর্তাবলী। |
মেয়াদকাল
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
valid_period | বস্তু(ValidityRange) | শুরু এবং শেষের টাইমস্ট্যাম্প যেটির জন্য অফারটি বৈধ। এই সময়গুলি অবশ্যই স্বতন্ত্র দিনগুলিকে উপস্থাপন করতে হবে অর্থাৎ শুরুর সময় অবশ্যই 00:00 (দিনের শুরুতে) এবং শেষ সময়টি অবশ্যই 00:00 (একচেটিয়া) হতে হবে যেদিন মেয়াদ শেষ হবে৷ | |
time_of_day | বস্তুর বিন্যাস(TimeOfDayWindow) | একটি নির্দিষ্ট দিনে বৈধ সময়ের ব্যবধান এবং অফারটির জন্য কোন দিনগুলি উপলব্ধ তা উল্লেখ করে৷ যেমন: সোমবার: সকাল ১০টা থেকে বিকেল ৫টা মঙ্গলবার: সকাল ১০টা থেকে দুপুর ২টা মঙ্গলবার: বিকেল ৫টা থেকে সন্ধ্যা ৭টা বুধ, বৃহস্পতি, শুক্র, শনি, রবি: বিকেল ৩টা থেকে সন্ধ্যা ৭টা যদি কোনো সেট না থাকে, তাহলে এর মানে হল অফারটি valid_period মধ্যে সব সময়ের জন্য উপলব্ধ। | |
time_exceptions | বস্তুর বিন্যাস(ValidTimeException) | উপরের valid_period এবং valid_time_of_week-এর ব্যতিক্রম উল্লেখ করে |
বৈধতার পরিসর
একটি বন্ধ-খোলা টাইমস্ট্যাম্প পরিসর।
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
valid_from_time | বস্তু(Timestamp) | প্রয়োজন | ব্যাপ্তির শুরুর সময় (অন্তর্ভুক্ত)। প্রয়োজন। |
valid_through_time | বস্তু(Timestamp) | ব্যাপ্তির শেষ সময় (একচেটিয়া)। যদি সেট না করা হয়, তাহলে এর মানে হল যে এই সময়কাল কখনও শেষ হয় না। ঐচ্ছিক। |
টাইমস্ট্যাম্প
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
seconds | স্ট্রিং | ইউনিক্স যুগ 1970-01-01T00:00:00Z থেকে UTC সময়ের সেকেন্ডের প্রতিনিধিত্ব করে। 0001-01-01T00:00:00Z থেকে 9999-12-31T23:59:59Z অন্তর্ভুক্ত হতে হবে। | |
nanos | সংখ্যা | ন্যানোসেকেন্ড রেজোলিউশনে এক সেকেন্ডের অ-নেতিবাচক ভগ্নাংশ। ভগ্নাংশ সহ নেতিবাচক দ্বিতীয় মানগুলিতে এখনও অ-নেতিবাচক ন্যানো মান থাকতে হবে যা সময়ের সাথে সাথে গণনা করা হবে। 0 থেকে 999,999,999 এর মধ্যে থাকতে হবে। |
TimeOfDayWindow
টাইমউইন্ডো অবজেক্ট হল একটি যৌগিক সত্তা যা উইন্ডোগুলির একটি তালিকা বর্ণনা করে যেগুলি ব্যবহারকারীর অর্ডার হয় রাখা বা পূরণ করা যেতে পারে।
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
time_windows | বস্তু(TimeOfDayRange) | প্রয়োজন | টাইম উইন্ডোতে অর্ডার দেওয়া/পূরণ করা যাবে। প্রয়োজন। |
day_of_week | enum এর অ্যারে(DayOfWeek) | সপ্তাহে দিনের তালিকায় উইন্ডোজ প্রয়োগ করা হয়। যদি কোনটি সেট না হয়, তাহলে এর মানে হল যে এটি সপ্তাহের সমস্ত দিনের জন্য প্রযোজ্য। ঐচ্ছিক। |
টাইমঅফডে রেঞ্জ
একটি বন্ধ-খোলা সময়সীমা।
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
open_time | বস্তু(TimeOfDay) | ব্যাপ্তির দিনের শুরুর সময় নির্দেশ করে এমন একটি সময় (অন্তর্ভুক্ত)। যদি সেট না করা হয়, এর মানে 00:00:00। ঐচ্ছিক। | |
close_time | বস্তু(TimeOfDay) | একটি সময় পরিসীমা দিনের শেষ সময় নির্দেশ করে (একচেটিয়া)। যদি সেট না করা হয়, এর মানে 23:59:59। ঐচ্ছিক। |
TimeOfDay
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
hours | সংখ্যা | 24 ঘন্টা ফরম্যাটে দিনের ঘন্টা। 0-এর থেকে বড় বা সমান হতে হবে এবং সাধারণত 23-এর থেকে কম বা সমান হতে হবে৷ ব্যবসা বন্ধ হওয়ার সময় মতো পরিস্থিতিগুলির জন্য একটি API "24:00:00" মানকে অনুমতি দিতে বেছে নিতে পারে৷ | |
minutes | সংখ্যা | এক ঘণ্টার মিনিট। 0 এর থেকে বড় বা সমান এবং 59 এর থেকে কম বা সমান হতে হবে। | |
seconds | সংখ্যা | এক মিনিটের সেকেন্ড। 0 এর থেকে বড় বা সমান হতে হবে এবং সাধারণত 59 এর থেকে কম বা সমান হতে হবে। একটি API 60 মান অনুমোদন করতে পারে যদি এটি লিপ-সেকেন্ডের অনুমতি দেয়। | |
nanos | সংখ্যা | সেকেন্ডের ভগ্নাংশ, ন্যানোসেকেন্ডে। 0 এর থেকে বড় বা সমান এবং 999,999,999 এর থেকে কম বা সমান হতে হবে। |
ValidTimeException
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
exceptional_period | বস্তু(ValidityRange) | শুরু এবং শেষ টাইমস্ট্যাম্প যে অফারটির জন্য বৈধ নয়৷ এই সময়গুলি অবশ্যই স্বতন্ত্র দিনগুলিকে উপস্থাপন করতে হবে অর্থাৎ শুরুর সময় অবশ্যই 00:00 (দিনের শুরুতে) এবং শেষ সময়টি অবশ্যই 00:00 (একচেটিয়া) হতে হবে যেদিন ব্যতিক্রম সময় শেষ হবে৷ |
অফার সোর্স
নাম | বর্ণনা |
---|---|
OFFER_SOURCE_UNSPECIFIED | |
OFFER_SOURCE_AGGREGATOR |
অ্যাকশন টাইপ
নাম | বর্ণনা |
---|---|
ACTION_TYPE_UNSPECIFIED | |
ACTION_TYPE_DINING |
অফারমোড
নাম | বর্ণনা |
---|---|
OFFER_MODE_OTHER | |
OFFER_MODE_WALK_IN | |
OFFER_MODE_FREE_RESERVATION | |
OFFER_MODE_PAID_RESERVATION | |
OFFER_MODE_ONLINE_ORDER |
অফার ক্যাটাগরি
অফারের ক্যাটাগরি। একটি বেস অফার হল একটি আদর্শ অফার যা সমস্ত গ্রাহকদের জন্য উপলব্ধ যেমন $100 এর বেশি খরচ করলে 10% ছাড়৷ একটি কুপন বা অর্থপ্রদানের উপকরণ দ্বারা সীমাবদ্ধ একটি বেস অফারে সংশ্লিষ্ট ক্ষেত্রগুলি সেট করা থাকবে। আমাদের কাছে ADD_ON_PAYMENT_OFFER-এর মতো অ্যাড অন এক্স অফার রয়েছে৷ অতিরিক্ত ডিসকাউন্ট পেতে এই ধরনের অফারগুলি অন্যান্য অফারগুলিতে যোগ করা যেতে পারে।
নাম | বর্ণনা |
---|---|
OFFER_CATEGORY_UNSPECIFIED | |
OFFER_CATEGORY_BASE_OFFER | |
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER | |
OFFER_CATEGORY_ADD_ON_COUPON_OFFER | |
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER |
ফি ইউনিট
নাম | বর্ণনা |
---|---|
FEE_UNIT_UNSPECIFIED | |
FEE_UNIT_PER_GUEST | |
FEE_UNIT_PER_TRANSACTION |
ফি টাইপ
নাম | বর্ণনা |
---|---|
FEE_TYPE_UNSPECIFIED | |
FEE_TYPE_FIXED | |
FEE_TYPE_VARIABLE |
খাবারের ধরন
নাম | বর্ণনা |
---|---|
MEAL_TYPE_UNSPECIFIED | |
MEAL_TYPE_BREAKFAST | |
MEAL_TYPE_LUNCH | |
MEAL_TYPE_DINNER |
পেমেন্ট ইনস্ট্রুমেন্ট টাইপ
নাম | বর্ণনা |
---|---|
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED | |
PAYMENT_INSTRUMENT_CREDIT_CARD | |
PAYMENT_INSTRUMENT_DEBIT_CARD | |
PAYMENT_INSTRUMENT_BANK_ACCOUNT | |
PAYMENT_INSTRUMENT_UPI | |
PAYMENT_INSTRUMENT_ONLINE_WALLET |
সপ্তাহের দিন
সপ্তাহের একটি দিন প্রতিনিধিত্ব করে।
নাম | বর্ণনা |
---|---|
DAY_OF_WEEK_UNSPECIFIED | সপ্তাহের দিন অনির্দিষ্ট। |
MONDAY | সোমবার |
TUESDAY | মঙ্গলবার |
WEDNESDAY | বুধবার |
THURSDAY | বৃহস্পতিবার |
FRIDAY | শুক্রবার |
SATURDAY | শনিবার |
SUNDAY | রবিবার |
অফার_স্পেসিফিকেশন
ডিসকাউন্ট মোট মান থেকে বিয়োগ করা একটি শতাংশ বা একটি নির্দিষ্ট মান হতে পারে। উদাহরণস্বরূপ: 1. চূড়ান্ত বিল থেকে 10% ছাড়। 2. একটি অর্ডারে $15 ছাড়৷ ব্যবসায়ীরা প্রাসঙ্গিক স্পেসিফিকেশন ক্ষেত্রগুলির মাধ্যমে 'একটি বিনামূল্যে কিনুন'-এর মতো কাস্টম ডিসকাউন্টও দিতে পারেন। প্রয়োজন।
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
discount_percent | সংখ্যা | | বিলের শতাংশ যে ছাড় দেওয়া হয়। [0, 100] পুরো খাবারের জন্য প্রযোজ্য 1+1 বা 50% ছাড়ের অফারগুলির জন্য (যেমন 1+1 বুফে, সম্পূর্ণ বিলে 1+1, সেট মেনুতে 1+1), এই মান 50 এ সেট করা যেতে পারে। |
discount_value | বস্তু(Money) | | ডিসকাউন্টের নির্দিষ্ট মান। |
other_offer_detail_text | স্ট্রিং | | ডিসকাউন্ট বর্ণনা করতে বিনামূল্যে-ফর্ম পাঠ্য। নির্দিষ্ট 1+1 অফারগুলির জন্য (যেমন 1+1 পানীয়, +1 প্রধান কোর্স, 1+1 নির্বাচিত মেনু আইটেম), এই বিবরণগুলি এখানে বর্ণনা করা উচিত। |
খরচ
ক্ষেত্রের নাম | টাইপ | প্রয়োজনীয়তা | বর্ণনা |
---|---|---|---|
amount | বস্তু(Money) | | |
amount_range | বস্তু(MoneyRange) | |
ফিড আপলোড
অফার ফিড অবশ্যই Generic
ফিড SFTP সার্ভারে আপলোড করতে হবে। নির্দেশাবলীর জন্য জেনেরিক ফিড SFTP সার্ভার টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন তা অনুসরণ করুন এবং আপনার বর্ণনাকারী ফাইলে google.offer
এ সেট করা name
ব্যবহার করুন।
আপলোড ফ্রিকোয়েন্সি
সাধারণভাবে, Google প্রতিদিন 1টি ফিড আপলোড আশা করে। একটি ধারাবাহিকভাবে উচ্চ নির্ভুলতা নিশ্চিত করতে আপনার পক্ষের অফার আপডেটের ফ্রিকোয়েন্সির উপর নির্ভর করে ফ্রিকোয়েন্সি বৃদ্ধি বা হ্রাস হতে পারে। আপনার Google POC এর সাথে পরামর্শ করুন।
ডেটা Google-এ উপস্থিত হওয়ার আগে কয়েক ঘন্টা সময় নেবে৷
অফার শ্রেণীকরণ
-
OFFER_CATEGORY_BASE_OFFER
: অফার যেগুলি অন্য কোনও অফারের সাথে একত্রিত না হয়ে স্বাধীনভাবে দাবি করা যেতে পারে৷ এর মধ্যে রয়েছে:- সম্পূর্ণ বিলের উপর ফ্ল্যাট ডিসকাউন্ট (যেমন, 20% ছাড়)
- সাবস্ক্রিপশন অফার (যেমন, সদস্যতার সাথে ফ্রি ডেজার্ট)
- রেস্তোরাঁর জন্য অন্য কোন বেস অফার নেই এমন ক্ষেত্রে পেমেন্ট অফার
- অ্যাড-অন অফার: যে অফারগুলি দাবি করার জন্য একটি বেস অফার প্রয়োজন। এর মধ্যে রয়েছে:
-
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
(যেমন, নির্দিষ্ট ক্রেডিট কার্ডের সাথে অতিরিক্ত 10% ছাড়) -
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
(যেমন, একটি নির্দিষ্ট কুপন কোড সহ বিনামূল্যে পানীয়) -
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER
(যেমন, গ্রাহকদের জন্য অতিরিক্ত 10% ছাড়)
-
অন্যান্য বিবেচনা:
- যখন একটি রেস্তোরাঁয় কোনো বেস অফার সেট না থাকে, তখন অ্যাড-অন অফারগুলি প্রদর্শিত হবে না৷ যদি কোন বেস অফার না থাকে, তাহলে যেকোন পেমেন্ট, সাবস্ক্রিপশন বা কুপন অফার যা অন্য অফারে যোগ করার প্রয়োজন ছাড়াই দাবি করা যেতে পারে তাকে
OFFER_CATEGORY_BASE_OFFER
হিসাবে ট্যাগ করতে হবে।- প্রকারের উপর নির্ভর করে,
PaymentInstrument
,Subscription
বাCoupon
জন্য প্রাসঙ্গিক ডেটা সেট করতে হবে। - পার্টনারদের অবশ্যই এই অফারগুলির প্রতিটির 2টি কপি প্রদান করতে হবে যেখানে তারা বেস অফার এবং অ্যাড-অন অফার হিসাবে কাজ করবে তারপরে
entity_ids
বাadd_on_offer_applicable_to_all_entities
ব্যবহার করে অ্যাড-অন অফার কপি একাধিক রেস্টুরেন্টের জন্য সেট করা যেতে পারে।
- প্রকারের উপর নির্ভর করে,
- যখন একটি রেস্তোরাঁর একাধিক বেস অফার থাকে যা স্ট্যাকযোগ্য হতে পারে, তখন সমস্ত বেস অফারগুলিকে
OFFER_CATEGORY_BASE_OFFER
হিসাবে ট্যাগ করা উচিত এবং অর্থপ্রদান, সাবস্ক্রিপশন বা কুপন অফারগুলি প্রাসঙ্গিক অ্যাড-অন অফার টাইপ হিসাবে অতিরিক্তভাবে পাঠানো উচিত৷ - কোন সক্রিয় বেস অফার না থাকলে শুধুমাত্র বেস অফার হিসাবে অ্যাড-অন অফারগুলিকে সক্রিয় করতে
ValidityPeriod
ব্যবহার করা উচিত।
উদাহরণ পরিস্থিতি:
একটি রেস্তোরাঁ একটি নির্দিষ্ট ক্রেডিট কার্ড দিয়ে অর্থ প্রদানের সময় 5% ছাড় এবং একটি নির্দিষ্ট কুপন কোড সহ একটি বিনামূল্যে পানীয় অফার করে৷
- 5% ছাড়ের ক্রেডিট কার্ড অফারটি 2 কপি হিসাবে পাঠাতে হবে, একটিকে
OFFER_CATEGORY_BASE_OFFER
হিসাবে ট্যাগ করা হয়েছে এবং একটিকেOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
হিসাবে ট্যাগ করা হয়েছে যাতেPaymentInstrument
বিশদ অন্তর্ভুক্ত রয়েছে৷ - একটি কুপন কোড অফার সহ বিনামূল্যের পানীয়
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
হিসাবেCoupon
বিবরণ সহ পাঠাতে হবে৷
- 5% ছাড়ের ক্রেডিট কার্ড অফারটি 2 কপি হিসাবে পাঠাতে হবে, একটিকে
একটি রেস্তোরাঁ ওয়াক-ইন-এর জন্য 10% ছাড় এবং একটি নির্দিষ্ট ক্রেডিট কার্ড দিয়ে অর্থপ্রদান করার সময় 5% ছাড় দেয়, উভয়ই একত্রিত করা যেতে পারে।
- 10% ওয়াক-ইন অফার
OFFER_CATEGORY_BASE_OFFER
হিসাবে ট্যাগ করা উচিত। - ক্রেডিট কার্ড অফারে 5% ছাড়ের 2 কপি থাকা উচিত, একটি
OFFER_CATEGORY_BASE_OFFER
হিসাবে ট্যাগ করা এবং একটিOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
হিসাবে ট্যাগ করা।
- 10% ওয়াক-ইন অফার
একটি রেস্তোরাঁ শুধুমাত্র সপ্তাহের দিনে দুপুরের খাবারের জন্য 10% ছাড় দেয় এবং একটি নির্দিষ্ট ক্রেডিট কার্ড দিয়ে অর্থপ্রদান করার সময় যে কোনো সময় 5% ছাড় দেয়।
- 10% ছাড়ের অফারে শুধুমাত্র সপ্তাহের দিনগুলিতে রেস্তোরাঁর মধ্যাহ্নভোজের সময় নির্দেশ করার জন্য
ValidityPeriod
সেট করা উচিত। - ক্রেডিট কার্ড অফার 5% ছাড় 2 কপি হিসাবে পাঠাতে হবে।
- একটি কপি
PaymentInstrument
বিশদ বিবরণ সহOFFER_CATEGORY_BASE_OFFER
হিসাবে ট্যাগ করা উচিত৷ 10% ছাড়ের মধ্যাহ্নভোজনের অফার সক্রিয় থাকলে কার্যদিবসে দুপুরের খাবারের সময় বাদ দেওয়ার জন্যValidityPeriod
সেট করা উচিত - একটি অনুলিপি
PaymentInstrument
বিবরণ সহOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
হিসাবে ট্যাগ করা উচিত৷
- একটি কপি
- এই রেস্তোরাঁর জন্য অন্যান্য সমস্ত অর্থপ্রদানের অফারগুলিকে
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
হিসাবে ট্যাগ করা উচিত৷
- 10% ছাড়ের অফারে শুধুমাত্র সপ্তাহের দিনগুলিতে রেস্তোরাঁর মধ্যাহ্নভোজের সময় নির্দেশ করার জন্য
উন্নয়ন এবং লঞ্চ প্রক্রিয়া
আপনার একীকরণের সময়, অংশীদার পোর্টাল আপনার বিকাশের উপর ভিত্তি করে তথ্য এবং প্রতিক্রিয়া দিয়ে আপনাকে সহায়তা করতে সক্ষম হবে। উন্নয়ন প্রক্রিয়া এই প্রবাহ অনুসরণ করবে:
- ইন্টিগ্রেশনটি প্রথমে স্যান্ডবক্স পরিবেশে তৈরি করা হবে। আপনার Google স্যান্ডবক্স পরিবেশে উৎপাদনের রপ্তানি (বা এমনকি সরাসরি উৎপাদন ডেটা) ব্যবহার করা উচিত। এটি নিশ্চিত করতে সাহায্য করে যে আপনার ডেভেলপমেন্ট সমস্ত এজ কেস ক্যাচ করে এবং Google কে ডেটার গুণমান মূল্যায়ন করতে এবং আপনার ডেটা মডেলের উপর ভিত্তি করে আপনাকে আরও ভালভাবে সহায়তা করার অনুমতি দেয়।
- একবার আপনি Google স্যান্ডবক্স পরিবেশে ধারাবাহিকভাবে সম্পূর্ণ এবং দৈনিক বণিক, পরিষেবা এবং ডিল ফিড আপলোড করলে Google টিম আপনার ফিডগুলি মূল্যায়ন করবে৷ একবার Google টিম অনুমোদন প্রদান করলে, আপনি আপনার কোডটি প্রোডাকশনে পুশ করতে পারেন এবং Google প্রোডাকশন পরিবেশে প্রোডাকশন ডেটা পাঠানো শুরু করতে পারেন।
- আপনি প্রোডাকশন ইন্টিগ্রেশন সম্পূর্ণভাবে পরীক্ষা করার পরে Google টিমও পরীক্ষা করবে। একবার সমস্ত পরীক্ষা সম্পূর্ণ হলে, তারপর আপনার ইন্টিগ্রেশন চালু হবে।
মনিটরিং
একটি ভাল ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করতে, Google প্রদত্ত অফারগুলি বৈধ, সঠিক এবং লঞ্চের আগে এবং পরে আমাদের নীতির মানদণ্ড পূরণ করে তা পরীক্ষা করবে। এটি করার জন্য, Google মানবিক এবং স্বয়ংক্রিয় পর্যালোচনার সমন্বয় ব্যবহার করবে। এই পর্যালোচনার ফলাফল অ্যাকশন সেন্টারের অফার ড্যাশবোর্ডে অ্যাক্সেসযোগ্য হবে (শুধুমাত্র উৎপাদন)। এই পর্যবেক্ষণের ফলাফল অফারগুলির র্যাঙ্কিংকে প্রভাবিত করতে ব্যবহার করা হতে পারে।
স্বয়ংক্রিয় চেক (ক্রলার)
Google গুণমান দল ক্রলার প্রয়োগ করে। ক্রলার হল এমন স্ক্রিপ্ট যা কিছু ক্লিক করার জন্য একটি ওয়েব ব্রাউজারকে স্বয়ংক্রিয় করে এবং শুধুমাত্র গুণমানের পরীক্ষার উদ্দেশ্যে অফার তথ্য বের করে।
প্রশ্নের সংখ্যা
উদাহরণস্বরূপ, যদি আমরা প্রতিদিন 5000টি চেক পাঠানোর সিদ্ধান্ত নিই, তাহলে এর অর্থ হল প্রতিদিন 5000 বার ( সমভাবে সারাদিনে বিতরণ করা হয়, যা প্রতি 17 সেকেন্ডে প্রায় একটি হয় ), আমাদের ক্রলার নিম্নলিখিত সমস্ত কাজ সম্পাদন করে যা একজন নিয়মিত ব্যবহারকারী সম্পাদন করবে:
- Google অনুসন্ধান থেকে শুরু করুন এবং অংশীদার লিঙ্কে ক্লিক করুন।
- অফার তথ্য জন্য দেখুন.
- অফারটির জন্য বুকিং প্রয়োজন হলে, নির্দিষ্ট সময়ে অফারটি উপলব্ধ কিনা তা নিশ্চিত করতে এটি বুকিং প্রবাহের দিকে এগিয়ে যাবে (কোনও বুকিং করা হবে না)।
ওয়েব স্ক্র্যাপার সনাক্তকরণ
ওয়েব স্ক্র্যাপার যাতে নিষিদ্ধ না হয় তা নিশ্চিত করতে (যা অফারগুলি উপলভ্য নয় বলে উপসংহারে নিয়ে যেতে পারে) নিশ্চিত করুন যে আপনার সিস্টেম আমাদের ওয়েব স্ক্র্যাপারকে সর্বদা আপনার পৃষ্ঠাটি জিজ্ঞাসা করার অনুমতি দেয়। আমাদের ওয়েব স্ক্র্যাপার সনাক্ত করতে:
- ওয়েব স্ক্র্যাপার ইউজার-এজেন্টে " Google-অফার " স্ট্রিং থাকবে:
- উদাহরণ: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, যেমন Gecko; Google-Offers ) Chrome/104.0.5112.101 Safari/537.36
- আপনি "Googlebot এবং অন্যান্য Google ক্রলার যাচাইকরণ" -এ সুপারিশ অনুসারে বিপরীত DNS ব্যবহার করে Google থেকে কল এসেছে কিনা তাও পরীক্ষা করতে পারেন। আমাদের নির্দিষ্ট ক্ষেত্রে, বিপরীত DNS রেজোলিউশন এই প্যাটার্ন অনুসরণ করে:
google-proxy-***-***-***-***.google.com
।
প্রযুক্তিগত আচরণ
ক্যাশিং
অংশীদার ওয়েবসাইটে লোড কমানোর উদ্দেশ্যে, আমাদের ক্রলারগুলি সাধারণত প্রতিক্রিয়াতে উপস্থিত সমস্ত স্ট্যান্ডার্ড HTTP ক্যাশিং শিরোনামগুলিকে সম্মান করার জন্য কনফিগার করা হয়৷ এর মানে হল যে সঠিকভাবে কনফিগার করা ওয়েবসাইটগুলির জন্য আমরা বারবার এমন সামগ্রী আনা থেকে বিরত থাকি যা খুব কমই পরিবর্তিত হয় (যেমন জাভাস্ক্রিপ্ট লাইব্রেরি)। কিভাবে ক্যাশে প্রয়োগ করতে হয় সে সম্পর্কে আরো বিস্তারিত জানার জন্য, এই HTTP ক্যাশিং ডকুমেন্টেশন পড়ুন।