ফিড ইন্টিগ্রেশন অফার করে

অফার

অফার ইন্টিগ্রেশন আপনাকে নির্দিষ্ট সময়ে নির্দিষ্ট পরিষেবার ক্ষেত্রে প্রযোজ্য মার্চেন্ট প্রোমোশন এবং ছাড় সম্পর্কে স্ট্রাকচার্ড তথ্য রিলে করতে দেয়। অফার তৈরি হয় আসল অফার (শতাংশ-ছাড়, ডলার-ছাড় ...), বৈধতার উইন্ডো (নির্দিষ্ট সময়, সপ্তাহের দিন ...), এবং প্রযোজ্য ব্যবহার (অফারটি শুধুমাত্র নির্দিষ্ট পরিষেবায় ব্যবহার করা যাবে) এবং বিধিনিষেধের জটিল সমন্বয়ের মাধ্যমে।

অফারের উদাহরণ:

  • ডিসেম্বর মাসে বুধবার ও বৃহস্পতিবার দুপুর ১২টা থেকে বিকেল ৫টা পর্যন্ত অ্যাপেটাইজার অর্ধেক দামে
  • মাদার্স ডে ডিনারে সন্ধ্যা ৬টা থেকে রাত ১০টা পর্যন্ত একটি ডেজার্ট কিনলে আরেকটি ফ্রি
  • প্রতি রবিবার সকাল ১০টা থেকে দুপুর ২টা পর্যন্ত ব্রাঞ্চ এন্ট্রিতে $৫ ছাড়
  • ওয়াক-ইন অফার হিসেবে ১০% ছাড়, যা প্রিমিয়াম সাবস্ক্রাইবারদের জন্য ৫% ছাড় এবং ব্যবহারকারী আপনার অ্যাপের মাধ্যমে পেমেন্ট করলে ৫% ছাড়ের সাথে যোগ করা যাবে।

ইন্টিগ্রেশনে কোনও অফার অন্তর্ভুক্ত করতে হলে, সেটিকে টেকনিক্যাল ডেটা মডেলের মধ্যে ফিট করতে হবে এবং আমাদের যোগ্যতার মাপকাঠি পূরণ করতে হবে। আপনার ইন্টিগ্রেশন যাতে নীতি মেনে চলে এবং টেকনিক্যাল প্রয়োজনীয়তা পূরণ করে না এমন অফার নিয়ে কী করতে হবে সেই সংক্রান্ত নির্দেশাবলী পেতে আমাদের অফার সংক্রান্ত নীতি পর্যালোচনা করতে ভুলবেন না।

অফার প্রয়োগ করা

অফার ইন্টিগ্রেশনে দুটি ফিড থাকে যা প্রতিদিন বা এমন ফ্রিকোয়েন্সিতে আপলোড করা হবে যা উচ্চ নির্ভুলতা নিশ্চিত করে (অর্থাৎ, পুরনো হওয়ার সম্ভাবনা কমায়):

OfferFeed

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
dataঅবজেক্টের অ্যারে
(Offer)

অফার

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
offer_idস্ট্রিং

প্রয়োজনীয়

অফারের অনন্য আইডি। প্রয়োজনীয়।
entity_idsস্ট্রিংয়ের অ্যারে

এই অফারে অংশগ্রহণকারী মার্চেন্টদের তালিকা।
add_on_offer_applicable_to_all_entitiesবুলিয়ান

সত্য হলে, এই অফারটি অ্যাগ্রিগেটরের অধীনে থাকা সমস্ত এন্টিটির জন্য প্রযোজ্য। শুধুমাত্র অ্যাড-অন অফারের ক্ষেত্রে প্রযোজ্য।
offer_sourceenum
(OfferSource)

প্রয়োজনীয়

অ্যাগ্রিগেটর, কোনও স্বতন্ত্র মার্চেন্ট বা এমনকি কোনও থার্ড-পার্টিও অ্যাড-অন হিসেবে অফার দিতে পারে। প্রয়োজনীয়।
action_typeenum
(ActionType)

প্রয়োজনীয়

যে পরিষেবা অফার প্রদান করছে। offer_id শুধুমাত্র একটি action_type-এর হতে পারে। কোনও অফার একাধিক পরিষেবার ধরন জুড়ে শেয়ার করা গেলে, প্রতিটি পরিষেবার ধরনের জন্য অনন্য আইডি সহ ডুপ্লিকেট অফার তৈরি করা হবে বলে আশা করা হচ্ছে। প্রয়োজনীয়।
offer_modesenum-এর অ্যারে
(OfferMode)

প্রয়োজনীয়

যেসব পদ্ধতিতে অফার পাওয়া যাবে - সরাসরি গিয়ে, রিজার্ভেশন করে, অনলাইনে ইত্যাদি। প্রয়োজন।
offer_categoryenum
(OfferCategory)

প্রয়োজনীয়

অফারের বিভাগ। প্রয়োজনীয়।
source_assigned_priorityনম্বর

অঋণাত্মক পূর্ণসংখ্যা ([১-১০০], যেখানে ১ হল সর্বোচ্চ অগ্রাধিকার) যা সোর্সের অ্যাসাইন করা অফারের অগ্রাধিকারের লেভেল নির্দেশ করে। একই মার্চেন্টের জন্য একাধিক অফার উপলভ্য থাকলে, এটি অফার র‍্যাঙ্ক করার জন্য একটি সিগন্যাল হিসেবে কাজ করবে। ০ থাকলে বুঝতে হবে যে অগ্রাধিকার সেট করা নেই।
offer_detailsobject
(OfferDetails)

প্রয়োজনীয়

অফারের বিবরণ যেমন ছাড়, বুকিংয়ের খরচ ইত্যাদি। প্রয়োজন।
offer_restrictionsঅবজেক্ট
(OfferRestrictions)

প্রয়োজনীয়

অফার কীভাবে সীমাবদ্ধ করা হয়েছে তা বর্ণনা করে, যেমন, সাবস্ক্রিপশন/পেমেন্ট পদ্ধতি প্রয়োজন কিনা, এই অফারটি অন্য অফারের সাথে (এবং কোন ধরনের) যোগ করা যাবে কিনা ইত্যাদি। প্রয়োজন।
couponঅবজেক্ট
(Coupon)

কুপনের বিবরণ। offer_category-এর জন্য প্রয়োজনীয়: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.
payment_instrumentobject
(PaymentInstrument)

পেমেন্ট পদ্ধতির বিবরণ। offer_category-এর জন্য প্রয়োজন: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
subscriptionঅবজেক্ট
(Subscription)

সাবস্ক্রিপশনের বিবরণ। offer_category-এর জন্য প্রয়োজনীয়: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.
termsঅবজেক্ট
(Terms)

প্রয়োজনীয়

অফারের নিয়ম ও শর্তাবলী। প্রয়োজনীয়।
validity_periodsঅবজেক্টের অ্যারে
(ValidityPeriod)

প্রয়োজনীয়

অফারের ভ্যালিডিটির মেয়াদ। অফারটি কোন সময়কালের জন্য বৈধ তা বর্ণনা করে, যার মধ্যে শুরু এবং শেষ হওয়ার সময়, সপ্তাহের দিন ইত্যাদি অন্তর্ভুক্ত। প্রয়োজন।
offer_urlস্ট্রিং

মার্চেন্টের অফার পৃষ্ঠার URL. offer_category: OFFER_CATEGORY_BASE_OFFER-এর জন্য প্রয়োজন।
tagsenum-এর অ্যারে
(OfferTag)

অফারের সাথে যুক্ত বিশেষ ট্যাগ। "উৎসব", "সবচেয়ে বেশি রেটিং প্রাপ্ত", "সবচেয়ে বেশি বুক করা" ইত্যাদি বিশেষ অফার শনাক্ত করতে এটি ব্যবহার করা হয়।
brand_idস্ট্রিং

অফারের সাথে যুক্ত ব্র্যান্ড শনাক্ত করে। সেট করা না থাকলে, ডিফল্ট ব্র্যান্ড ব্যবহার করা হয়।
availability_levelenum
(AvailabilityLevel)

অফারের উপলভ্যতা লেভেল।

OfferDetails

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
offer_display_textস্ট্রিং

প্রয়োজনীয়

সার্চ ফলাফল পৃষ্ঠায় অফার প্রদানকারী গ্রাহকদের যে অফার টেক্সট দেখাতে চান। মনে রাখবেন, এটি ঠিক সেই তথ্য নাও হতে পারে যা ব্যবহারকারীদের দেখানো হয় এবং আমরা এটি আবার লেখা/অন্যভাবে বলার জন্য অন্যান্য মেটাডেটা ব্যবহার করতে পারি। প্রয়োজনীয়।
oneOf
(offer_specification)

প্রয়োজনীয়

এই oneOf-এর মধ্যে শুধুমাত্র একটি ফিল্ড সেট করা যাবে।
max_discount_valueঅবজেক্ট
(Money)

সর্বাধিক যে পরিমাণ ছাড় পাওয়া যাবে। যেমন, $১০০ পর্যন্ত ১০% ছাড়।
min_spend_valueঅবজেক্ট
(Money)

ছাড়ের সুবিধা পেতে ন্যূনতম যে ভ্যালু খরচ করতে হবে। যেমন, মোট দাম $১০০ বা তার বেশি হলে ১০% ছাড়।
booking_costobject
(Money)

এই অফার বুক করার খরচ। যেমন, $১৫ মূল্যে টেবিল রিজার্ভ করা হলে, চূড়ান্ত বিলে $১০০ ছাড়।
booking_cost_unitenum
(FeeUnit)

বুকিং খরচের ইউনিট। যেমন, প্রতি ব্যক্তি, প্রতি ট্রানজ্যাকশন।
convenience_feeobject
(Fee)

booking_cost_adjustableবুলিয়ান

বুকিংয়ের খরচ অ্যাডজাস্ট করা যায় কিনা, অর্থাৎ চূড়ান্ত বিল থেকে বুকিংয়ের খরচ বিয়োগ করা হয় কিনা। যেমন: রিজার্ভেশন করলে ডিনারে ৩০% ছাড়। $১৫ রিজার্ভ করার খরচ এবং এটি চূড়ান্ত বিলে প্রয়োগ করা হবে। তাই, চূড়ান্ত বিল: মোট খরচ - ৩০% - $১৫
additional_feesঅবজেক্টের অ্যারে
(AdditionalFee)

ব্যবহারকারীকে চার্জ করা অতিরিক্ত ফি। যেমন: কনভেনিয়েন্স, হ্যান্ডলিং, ডেলিভারি, প্যাকেজিং, পরিষেবা ফি ইত্যাদি।
offer_discount_typeenum
(OfferDiscountType)

ছাড়ের ধরন।
gift_card_infoঅবজেক্ট
(GiftCardInfo)

গিফ্ট কার্ড ডিলের জন্য নির্দিষ্ট বিবরণ।

অর্থ

মুদ্রার ধরন সহ অর্থের পরিমাণ বোঝায়।

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
currency_codeস্ট্রিং

ISO 4217-এ উল্লেখ করা তিন অক্ষরের মুদ্রার কোড।
unitsনম্বর

টাকার পরিমাণের সম্পূর্ণ ইউনিট। যেমন, currencyCode হল "USD" হলে, ১ ইউনিট হল এক মার্কিন ডলার।
nanosনম্বর

পরিমাণের ন্যানো (১০^-৯) ইউনিটের সংখ্যা। মান অবশ্যই -৯৯৯,৯৯৯,৯৯৯ থেকে +৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে, এই দুটি সংখ্যা সহ। units পজিটিভ হলে, nanos অবশ্যই পজিটিভ বা শূন্য হতে হবে। units শূন্য হলে, nanos ধনাত্মক, শূন্য বা ঋণাত্মক হতে পারে। units ঋণাত্মক হলে, nanos অবশ্যই ঋণাত্মক বা শূন্য হতে হবে। যেমন, $-১.৭৫-কে units=-১ এবং nanos=-৭৫০,০০০,০০০ হিসেবে দেখানো হয়।

ধার্যমূল্য

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

এই oneOf-এর মধ্যে শুধুমাত্র একটি ফিল্ড সেট করা যাবে।

MoneyRange

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
min_amountobject
(Money)

max_amountঅবজেক্ট
(Money)

AdditionalFee

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
nameস্ট্রিং

প্রয়োজনীয়

অতিরিক্ত ফিয়ের নাম। যেমন: কনভেনিয়েন্স ফি, হ্যান্ডলিং ফি ইত্যাদি। আবশ্যক।
feeঅবজেক্ট
(Fee)

GiftCardInfo

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
oneOf
(denomination_type)

এই oneOf-এর ফিল্ডগুলির মধ্যে শুধুমাত্র একটি সেট করা যাবে।

FixedDenominations

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
amountsঅবজেক্টের অ্যারে
(Money)

উপলভ্য সব ডিসক্রিট ডিনমিনেশনের তালিকা (যেমন, [১০০, ৫০০, ১০০০])।

OfferRestrictions

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
combinable_with_other_offersবুলিয়ান

এই অফারটি অন্য অফারের সাথে যোগ করা যাবে কিনা। সত্য হলে, পার্টনাররা নির্দিষ্ট করতে পারেন যে এই অফারটি কোন অফারের সাথে একত্রিত করা যেতে পারে। combinable_offer_categories ও combinable_offer_ids, দুটিই সেট করা থাকলে উপরের শর্তগুলির মধ্যে যেকোনও একটির সাথে ম্যাচ করা অফার কম্বাইন করা যাবে।
combinable_offer_categoriesenum-এর অ্যারে
(OfferCategory)

এই অফারের সাথে একত্রিত করা যেতে পারে এমন অফারের ধরনের তালিকা। যেমন, এই অফারটি অন্যান্য কুপনের সাথে ব্যবহার করা যেতে পারে। যদি combinable_with_other_offers সত্য হয় এবং এই ফিল্ড সেট করা না থাকে, তাহলে সব ধরনের অফার একত্রিত করা যাবে।
combinable_offer_idsস্ট্রিংয়ের অ্যারে

এই অফারের সাথে যোগ করা যাবে এমন offer_id-এর তালিকা। কিছু অফার শুধুমাত্র নির্দিষ্ট কিছু offer_id-এর সাথে যোগ করা যেতে পারে (এগুলিকে পেরেন্ট অফার হিসেবে বিবেচনা করা যেতে পারে)। combinable_with_other_offers-এর মান 'ট্রু' হলে এবং এই ফিল্ডে কোনও মান সেট করা না থাকলে, সব অফার আইডি একত্রিত করা যাবে।
inclusionsঅবজেক্টের অ্যারে
(OfferCondition)

অফারটি বৈধ হওয়ার জন্য যেসব শর্ত পূরণ করতে হবে তার তালিকা (যেমন, অ্যালকোহলমুক্ত পানীয়, খাবার)।
exclusionsঅবজেক্টের অ্যারে
(OfferCondition)

অফার বাতিল করে দেয় এমন শর্তের তালিকা (যেমন, বুফে, কম্বো অফার ও ককটেল)।
min_guestনম্বর

অফারটি পেতে ন্যূনতম যত জন লোকের প্রয়োজন হবে। মনে রাখবেন: এই ফিল্ডটি শুধুমাত্র ডাইনিং রিজার্ভেশনের জন্য প্রযোজ্য এবং অন্যান্য ভার্টিক্যালের জন্য ব্যবহার করা উচিত নয়।
food_offer_restrictionsobject
(FoodOfferRestrictions)

খাবারের অফারের ক্ষেত্রে নির্দিষ্ট বিধিনিষেধ।
max_redemption_countনম্বর

এই অফার কতবার ব্যবহার করা যাবে সেই সংক্রান্ত বিধিনিষেধ। ০-এর ভ্যালু নির্দিষ্ট করবে যে কোনও সীমা নেই। যেমন, ৩ ভ্যালু থাকলে তার অর্থ হল ব্যবহারকারী এই অফার ৩ বার ব্যবহার করতে পারবেন।
max_total_discount_valueobject
(Money)

এই অফারের একাধিক ট্রানজ্যাকশন জুড়ে সর্বাধিক যে ছাড় পাওয়া যেতে পারে।
special_conditionsস্ট্রিংয়ের অ্যারে

এই অফারের বিশেষ শর্তাবলী যা ব্যবহারকারীকে অবশ্যই দেখাতে হবে। উদাহরণ: "শুধুমাত্র [area]-এ পেমেন্টের জন্য প্রযোজ্য", "অনলাইন পেমেন্ট অন্তর্ভুক্ত নয়", "সেল চলাকালীন গিফ্ট ভাউচার ব্যবহার করা যেতে পারে।"

OfferCondition

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
descriptionস্ট্রিং

FoodOfferRestrictions

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
meal_typesenum-এর অ্যারে
(MealType)

অফারটি কোন ধরনের খাবারের ক্ষেত্রে প্রযোজ্য, যেমন লাঞ্চ বা ডিনার। সেট করা না থাকলে, অফারটি সব ধরনের খাবারের ক্ষেত্রে প্রযোজ্য হতে পারে।
restricted_to_certain_coursesবুলিয়ান

অফারটি শুধুমাত্র নির্দিষ্ট কোর্সে প্রয়োগ করা যাবে কিনা।

কুপন

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
textস্ট্রিং

অফার প্রদানকারী ব্যবহারকারীদের যে কুপন টেক্সট দেখাতে চান।
codeস্ট্রিং

প্রয়োজনীয়

অফার রিডিম করতে কুপন কোড প্রয়োজন। প্রয়োজনীয়।

PaymentInstrument

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
itemsঅবজেক্টের অ্যারে
(PaymentInstrumentItem)

প্রয়োজনীয়

অফার পাওয়ার জন্য ব্যবহার করা যেতে পারে এমন পেমেন্ট পদ্ধতির তালিকা। প্রয়োজনীয়।
provider_nameস্ট্রিং

পেমেন্ট পদ্ধতি প্রদানকারীর নাম। ব্যাঙ্কিং পার্টনার, ব্যাঙ্কের নাম ইত্যাদি হতে পারে। যেমন: American Express, HDFC, ICICI.

PaymentInstrumentItem

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
typeenum
(PaymentInstrumentType)

প্রয়োজনীয়

পেমেন্ট পদ্ধতির ধরন। প্রয়োজনীয়।
nameস্ট্রিং

প্রয়োজনীয়

পেমেন্ট ইন্সট্রুমেন্ট আইটেমের নাম, যেমন ক্রেডিট কার্ডের নাম। যেমন: HDFC Infinia, American Express Platinum. প্রয়োজনীয়।

সাবস্ক্রিপশন

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
nameস্ট্রিং

প্রয়োজনীয়

সাবস্ক্রিপশনের নাম। প্রয়োজনীয়।
subscription_auto_addedবুলিয়ান

ব্যবহারকারী এই অফার নিলে সাবস্ক্রিপশন অটোমেটিক যোগ করা হয় কিনা
costobject
(Money)

প্রয়োজনীয়

সাবস্ক্রিপশনের খরচ। প্রয়োজনীয়।
subscription_durationঅবজেক্ট
(Duration)

প্রয়োজনীয়

subscription_cost-এ সাবস্ক্রিপশন কতদিন পর্যন্ত বৈধ থাকবে। প্রয়োজনীয়।
terms_and_conditions_urlস্ট্রিং

এই সাবস্ক্রিপশনের সাথে প্রাসঙ্গিক পার্টনারের নিয়ম ও শর্তাবলীর URL।

সময়সীমা

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
secondsনম্বর

সময়ের ব্যাপ্তির সাইন করা সেকেন্ড। -৩১৫,৫৭৬,০০০,০০০ থেকে +৩১৫,৫৭৬,০০০,০০০-এর মধ্যে হতে হবে, দু'টি সংখ্যাই অন্তর্ভুক্ত। মনে রাখবেন: এই সীমাগুলি এখান থেকে গণনা করা হয়: ৬০ সেকেন্ড/মিনিট * ৬০ মিনিট/ঘণ্টা * ২৪ ঘণ্টা/দিন * ৩৬৫.২৫ দিন/বছর * ১০০০০ বছর
nanosনম্বর

সময়ের ব্যাপ্তির ন্যানোসেকেন্ড রেজোলিউশনে সেকেন্ডের সাইন করা ভগ্নাংশ। এক সেকেন্ডের কম সময়সীমা 0 seconds ফিল্ড এবং পজিটিভ বা নেগেটিভ nanos ফিল্ড দিয়ে দেখানো হয়। এক সেকেন্ড বা তার বেশি সময়ের জন্য, nanos ফিল্ডের শূন্য নয় এমন ভ্যালু অবশ্যই seconds ফিল্ডের মতো একই চিহ্নের হতে হবে। -৯৯৯,৯৯৯,৯৯৯ থেকে +৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে, দু'টি সংখ্যাই অন্তর্ভুক্ত।

শর্তাবলী

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
urlস্ট্রিং

পার্টনারের নিয়ম ও শর্তাবলীর URL.
restricted_to_certain_usersবুলিয়ান

অফারটি নির্দিষ্ট কিছু ব্যবহারকারীর জন্য সীমাবদ্ধ কিনা।
terms_and_conditionsস্ট্রিং

পার্টনারের প্রদান করা প্রাথমিক নিয়ম ও শর্তাবলী সংক্রান্ত টেক্সট।
additional_terms_and_conditionsস্ট্রিংয়ের অ্যারে

পার্টনারের প্রাথমিক নিয়ম ও শর্তাবলী ছাড়াও অন্যান্য নিয়ম ও শর্তাবলী।

ValidityPeriod

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
valid_periodobject
(ValidityRange)

অফারটি যে টাইমস্ট্যাম্পে শুরু ও শেষ হচ্ছে। এই সময়গুলি অবশ্যই আলাদা আলাদা দিনের হতে হবে, অর্থাৎ শুরুর সময় অবশ্যই ০০:০০ (দিনের শুরু) হতে হবে এবং মেয়াদ শেষ হওয়ার দিনে শেষের সময় অবশ্যই ০০:০০ (এক্সক্লুসিভ) হতে হবে।
time_of_dayঅবজেক্টের অ্যারে
(TimeOfDayWindow)

কোনও নির্দিষ্ট দিনে বৈধ সময়সীমা এবং কোন কোন দিন অফার উপলভ্য তা উল্লেখ করে। মধ্যরাত পেরিয়ে যাওয়া টাইমফ্রেমের (যেমন, রাত ১০টা থেকে ২টো) জন্য, প্রতিটি দিনের জন্য আলাদা আলাদা উইন্ডো ব্যবহার করুন: একটি রাত ১১:৫৯:৫৯-এ শেষ হয় এবং অন্যটি পরের দিন রাত ১২:০০টায় শুরু হয়। যেমন: সোমবার: সকাল ১০টা থেকে বিকেল ৫টা মঙ্গলবার: সকাল ১০টা থেকে দুপুর ২টো মঙ্গলবার: বিকেল ৫টা থেকে সন্ধ্যা ৭টা বুধ, বৃহস্পতি, শুক্র, শনি, রবি: বিকেল ৩টে থেকে সন্ধ্যা ৭টা কোনও সময় সেট করা না থাকলে, এর অর্থ হল অফারটি valid_period-এর মধ্যে সব সময় উপলভ্য।
time_exceptionsঅবজেক্টের অ্যারে
(ValidTimeException)

উপরের valid_period এবং valid_time_of_week-এর ব্যতিক্রম নির্দিষ্ট করে
date_exceptionsঅবজেক্টের অ্যারে
(Date)

উপরে উল্লিখিত valid_period এবং time_of_day-এর ক্ষেত্রে ব্যতিক্রম নির্দিষ্ট করে
validity_scopeenum
(ValidityScope)

ভ্যালিডিটির মেয়াদের স্কোপ নির্দিষ্ট করে।
validity_duration_in_daysনম্বর

ভাউচার/কুপন কেনার পরে সেটি কতদিন (দিনে) বৈধ থাকবে।

ValidityRange

একটি ক্লোজড-ওপেন টাইমস্ট্যাম্প রেঞ্জ।

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
valid_from_timeঅবজেক্ট
(Timestamp)

প্রয়োজনীয়

রেঞ্জের শুরুর সময় (ধরা আছে)। প্রয়োজনীয়।
valid_through_timeobject
(Timestamp)

রেঞ্জের শেষের সময় (ধরা নেই)। সেট করা না থাকলে, এর অর্থ হল এই সময়সীমা কখনও শেষ হবে না। ঐচ্ছিক।

টাইমস্ট্যাম্প

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
secondsনম্বর

Unix epoch 1970-01-01T00:00:00Z থেকে UTC সময়ের সেকেন্ডকে বোঝায়। -৬২১৩৫৫৯৬৮০০ থেকে ২৫৩৪০০৩০৭৯৯-এর মধ্যে হতে হবে, এই দুটি মান সহ (যা ০০০১-০১-০১T০০:০০:০০Z থেকে ৯৯৯৯-১২-৩১T২৩:৫৯:৫৯Z-এর সাথে সম্পর্কিত)।
nanosনম্বর

ন্যানোসেকেন্ড রেজোলিউশনে সেকেন্ডের নন-নেগেটিভ ভগ্নাংশ। এই ফিল্ডটি হল সময়সীমার ন্যানোসেকেন্ড অংশ, এটি সেকেন্ডের বিকল্প নয়। ভগ্নাংশ সহ নেগেটিভ সেকেন্ড ভ্যালুতে অবশ্যই নেগেটিভ নয় এমন ন্যানোসেকেন্ড ভ্যালু থাকতে হবে যা সময়ের সাথে সাথে এগিয়ে যায়। ০ থেকে ৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে যার মধ্যে এই সংখ্যাগুলিও অন্তর্ভুক্ত।

TimeOfDayWindow

TimeWindow অবজেক্ট হল একটি কম্পোজিট এন্টিটি যা ব্যবহারকারীর অর্ডার প্লেস বা পূরণ করা যেতে পারে এমন উইন্ডোর তালিকা বর্ণনা করে।

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
time_windowsঅবজেক্ট
(TimeOfDayRange)

প্রয়োজনীয়

অর্ডার প্লেস/ফুলফিল করার সময়সীমা। প্রয়োজনীয়।
day_of_weekenum-এর অ্যারে
(DayOfWeek)

সপ্তাহের যে দিনগুলিতে উইন্ডো প্রয়োগ করা হয় তার তালিকা। কোনও দিন সেট করা না থাকলে, এর অর্থ হল এটি সপ্তাহের সব দিনের জন্য প্রযোজ্য। ঐচ্ছিক।
day_of_monthঅবজেক্টের অ্যারে
(DayOfMonthRange)

মাসের কোন কোন দিনে উইন্ডো প্রয়োগ করা হয়। কিছু সেট করা না থাকলে, এর অর্থ হল এটি মাসের সব দিনের জন্য প্রযোজ্য। ঐচ্ছিক।

TimeOfDayRange

বন্ধ-খোলা থাকার সময়সীমা।

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
open_timeobject
(TimeOfDay)

রেঞ্জের দিনের শুরুর সময় (ধরা আছে) নির্দেশ করে এমন সময়। সেট করা না থাকলে, এর অর্থ হল ০০:০০:০০। ঐচ্ছিক।
close_timeঅবজেক্ট
(TimeOfDay)

রেঞ্জের দিনের শেষ সময় নির্দেশক সময় (এক্সক্লুসিভ)। সেট করা না থাকলে, এর অর্থ হল ২৩:৫৯:৫৯। ঐচ্ছিক।

TimeOfDay

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
hoursনম্বর

২৪ ঘণ্টা ফর্ম্যাটে দিনের ঘণ্টা। ০-এর থেকে বেশি বা সমান হতে হবে এবং সাধারণত ২৩-এর থেকে কম বা সমান হতে হবে। ব্যবসা বন্ধ হওয়ার সময়ের মতো পরিস্থিতিতে API, "২৪:০০:০০" ভ্যালু দেখানোর অনুমতি দিতে পারে।
minutesনম্বর

এক ঘণ্টার মিনিট। ০-এর চেয়ে বড় বা সমান এবং ৫৯-এর চেয়ে ছোট বা সমান হতে হবে।
secondsনম্বর

এক মিনিটের সেকেন্ড। ০-এর চেয়ে বড় বা সমান হতে হবে এবং সাধারণত ৫৯-এর চেয়ে ছোট বা সমান হতে হবে। কোনও API-তে লিপ-সেকেন্ডের অনুমতি থাকলে, এটি ৬০ ভ্যালুর অনুমতি দিতে পারে।
nanosনম্বর

ন্যানোসেকেন্ডে, সেকেন্ডের ভগ্নাংশ। ০-এর চেয়ে বড় বা সমান এবং ৯৯৯,৯৯৯,৯৯৯-এর চেয়ে ছোট বা সমান হতে হবে।

DayOfMonthRange

মাসের দিনের একটি রেঞ্জ যা বছরের সব মাসের ক্ষেত্রে প্রযোজ্য।

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
valid_from_dayনম্বর

প্রয়োজনীয়

রেঞ্জের শুরুর দিন (ইনক্লুসিভ)। প্রয়োজনীয়।
valid_through_dayনম্বর

রেঞ্জের শেষ দিন (ইনক্লুসিভ)। সেট করা না থাকলে, এর অর্থ হল এই রেঞ্জটি একটি দিনকে বোঝায় (valid_from_day)। ঐচ্ছিক।

ValidTimeException

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
exceptional_periodঅবজেক্ট
(ValidityRange)

অফারটি যে সময়সীমার মধ্যে প্রযোজ্য নয় তার শুরু ও শেষের টাইমস্ট্যাম্প। এই সময়গুলি অবশ্যই আলাদা দিনকে বোঝাতে হবে অর্থাৎ শুরুর সময় অবশ্যই ০০:০০ (দিনের শুরু) এবং শেষ হওয়ার সময় অবশ্যই ০০:০০ (এক্সক্লুসিভ) হতে হবে, যে দিন ব্যতিক্রমী সময়সীমা শেষ হয়।

তারিখ

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
yearনম্বর

তারিখের বছর। ১ থেকে ৯৯৯৯ পর্যন্ত হতে হবে অথবা বছর ছাড়া তারিখ উল্লেখ করতে ০ লিখতে হবে।
monthনম্বর

বছরের মাস। ১ থেকে ১২-এর মধ্যে হতে হবে অথবা মাস ও দিন ছাড়া বছর উল্লেখ করতে ০ লিখতে হবে।
dayনম্বর

মাসের দিন। ১ থেকে ৩১-এর মধ্যে হতে হবে এবং বছর ও মাসের জন্য বৈধ হতে হবে অথবা শুধুমাত্র বছর অথবা বছর ও মাস উল্লেখ করার জন্য ০ হতে হবে, যেখানে দিনটি গুরুত্বপূর্ণ নয়।

OfferSource

নামবিবরণ
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

ActionType

অফার পূরণ করার মোডকে বোঝায়। কোনও অফার একাধিক ফুলফিলমেন্ট মোডে শেয়ার করা গেলে, প্রতিটি ফুলফিলমেন্ট মোডের জন্য ডুপ্লিকেট অফার তৈরি করা হবে বলে আশা করা হয়।

নামবিবরণ
ACTION_TYPE_UNSPECIFIED
ACTION_TYPE_FOOD_DELIVERYএই অফারটি খাবার ডেলিভারি পরিষেবার জন্য প্রযোজ্য।
ACTION_TYPE_FOOD_TAKEOUTঅফারটি খাবার টেকআউট বা পিকআপ অর্ডারের ক্ষেত্রে প্রযোজ্য।
ACTION_TYPE_DININGরেস্তোরাঁয় অন-সাইট ডাইনিংয়ের জন্য অফারটি প্রযোজ্য।
ACTION_TYPE_APPOINTMENTঅ্যাপয়েন্টমেন্ট বুকিং পরিষেবার জন্য অফারটি প্রযোজ্য।
ACTION_TYPE_SHOPPING_IN_STOREঅফারটি অফলাইন, ইন-স্টোর কেনাকাটার ক্ষেত্রে প্রযোজ্য।

OfferMode

ব্যবহারকারী যে পদ্ধতি বা চ্যানেলের মাধ্যমে অফারের সুবিধা নিতে পারবেন তা উল্লেখ করে।

নামবিবরণ
OFFER_MODE_OTHERঅন্যান্য নির্দিষ্ট মোডের আওতায় পড়ে না এমন ফুলফিলমেন্ট পদ্ধতির জন্য ব্যবহার করুন।
OFFER_MODE_WALK_INআগে থেকে রিজার্ভেশন না করে সাইট ভিজিট করার জন্য অফারটি উপলভ্য।
OFFER_MODE_FREE_RESERVATIONব্যবহারকারী এমন কোনও রিজার্ভেশন করলে এই অফার প্রযোজ্য হয় যার জন্য আগে থেকে কোনও ফি দিতে হয় না।
OFFER_MODE_PAID_RESERVATIONব্যবহারকারী অগ্রিম পেমেন্ট করতে হয় এমন রিজার্ভেশন করলে অফারটি প্রযোজ্য হয়।
OFFER_MODE_ONLINE_ORDERওয়েবসাইট বা ডিজিটাল প্ল্যাটফর্মের মাধ্যমে করা অর্ডারের ক্ষেত্রে অফারটি প্রযোজ্য।
OFFER_MODE_GIFT_CARD_PURCHASEডিলটি পেতে হলে, প্রাথমিক ধাপ হিসেবে গিফ্ট কার্ড কিনতে হবে।

OfferCategory

অফারের বিভাগ। বেস অফার হল এমন একটি স্ট্যান্ডার্ড অফার যা ১০০ ডলারের বেশি খরচ করলে ১০% ছাড়ের মতো সব গ্রাহকদের জন্য উপলভ্য। কুপন বা পেমেন্ট পদ্ধতির মাধ্যমে সীমাবদ্ধ করা বেস অফারের ক্ষেত্রে সংশ্লিষ্ট ফিল্ড সেট করা থাকবে। এছাড়াও, আমাদের কাছে ADD_ON_PAYMENT_OFFER-এর মতো অ্যাড-অন x অফার আছে। অতিরিক্ত ছাড় পেতে এই ধরনের অফার অন্যান্য অফারের সাথে যোগ করা যেতে পারে।

নামবিবরণ
OFFER_CATEGORY_UNSPECIFIEDফিডে UNSPECIFIED বা ডিফল্ট এনুম ভ্যালু ব্যবহার করা উচিত নয়।
OFFER_CATEGORY_BASE_OFFER
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER
OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER

FeeUnit

নামবিবরণ
FEE_UNIT_UNSPECIFIEDফিডে UNSPECIFIED বা ডিফল্ট এনুম ভ্যালু ব্যবহার করা উচিত নয়।
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

নামবিবরণ
FEE_TYPE_UNSPECIFIEDফিডে UNSPECIFIED বা ডিফল্ট এনুম ভ্যালু ব্যবহার করা উচিত নয়।
FEE_TYPE_FIXED
FEE_TYPE_VARIABLE

OfferDiscountType

নামবিবরণ
OFFER_DISCOUNT_TYPE_UNSPECIFIED
OFFER_DISCOUNT_TYPE_INSTANT_DISCOUNT
OFFER_DISCOUNT_TYPE_CASHBACK
OFFER_DISCOUNT_TYPE_REWARD_POINT

MealType

নামবিবরণ
MEAL_TYPE_UNSPECIFIEDফিডে UNSPECIFIED বা ডিফল্ট এনুম ভ্যালু ব্যবহার করা উচিত নয়।
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

নামবিবরণ
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIEDফিডে UNSPECIFIED বা ডিফল্ট এনাম ভ্যালু ব্যবহার করা উচিত নয়।
PAYMENT_INSTRUMENT_CREDIT_CARD
PAYMENT_INSTRUMENT_DEBIT_CARD
PAYMENT_INSTRUMENT_BANK_ACCOUNT
PAYMENT_INSTRUMENT_UPI
PAYMENT_INSTRUMENT_ONLINE_WALLET
PAYMENT_INSTRUMENT_NETBANKING

DayOfWeek

সপ্তাহের একটি দিনকে দেখায়।

নামবিবরণ
DAY_OF_WEEK_UNSPECIFIEDসপ্তাহের দিন উল্লেখ করা নেই।
MONDAYসোমবার
TUESDAYমঙ্গলবার
WEDNESDAYবুধবার
THURSDAYবৃহস্পতিবার
FRIDAYশুক্রবার
SATURDAYশনিবার
SUNDAYরবিবার

ValidityScope

ভ্যালিডিটির মেয়াদের পরিধি; অর্থাৎ, ঠিক কোন কোন অ্যাকশনের ক্ষেত্রে এই ভ্যালিডিটির মেয়াদ প্রযোজ্য।

নামবিবরণ
VALIDITY_SCOPE_UNSPECIFIED
VALIDITY_SCOPE_CLAIM
VALIDITY_SCOPE_REDEEM

OfferTag

নামবিবরণ
OFFER_TAG_UNSPECIFIEDফিডে UNSPECIFIED বা ডিফল্ট এনাম ভ্যালু ব্যবহার করা উচিত নয়।
OFFER_TAG_NEW_YEAR_SPECIAL
OFFER_TAG_VALENTINES_SPECIAL

AvailabilityLevel

অফারের স্টক বা উপলভ্যতা সংক্রান্ত স্ট্যাটাস বোঝায়।

নামবিবরণ
AVAILABILITY_LEVEL_UNSPECIFIED
AVAILABILITY_LEVEL_LOWএর থেকে বোঝা যায় যে অফারটি আর বেশি উপলভ্য নেই। স্টক শেষ হওয়ার আগেই ব্যবহারকারীদের এটি রিডিম করার জন্য উৎসাহিত করা হয়। আমরা পরে MEDIUM ও HIGH যোগ করতে পারি।

offer_specification

ছাড়টি মোট মূল্যের থেকে বিয়োগ করা কোনও শতকরা হার বা নির্দিষ্ট ভ্যালু হতে পারে। যেমন: ১. চূড়ান্ত বিলে ১০% ছাড়। ২. অর্ডারে $১৫ ছাড়। এছাড়াও, মার্চেন্টরা প্রাসঙ্গিক স্পেসিফিকেশন ফিল্ডের মাধ্যমে 'একটি কিনলে একটি ফ্রি' অফারের মতো কাস্টম ছাড় দিতে পারেন। প্রয়োজনীয়।

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
discount_percentনম্বর

discount_value, other_offer_detail_text-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

বিলের যে শতাংশে ছাড় দেওয়া হয়েছে। [০, ১০০] সম্পূর্ণ মিলের উপর প্রযোজ্য ১+১ বা ৫০% ছাড়ের অফারের ক্ষেত্রে (যেমন, ১+১ বুফে, সম্পূর্ণ বিলের উপর ১+১, সেট মেনুর উপর ১+১), এই ভ্যালু ৫০ হিসেবে সেট করা যেতে পারে।
discount_valueobject
(Money)

discount_percent, other_offer_detail_text-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

ছাড়ের নির্দিষ্ট ভ্যালু।
other_offer_detail_textস্ট্রিং

discount_percent, discount_value-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

ছাড়ের বিবরণ দেওয়ার জন্য ফ্রি-ফর্ম টেক্সট। নির্দিষ্ট ১+১ অফারের (যেমন, ১+১ ড্রিঙ্ক, +১ মূল কোর্স, ১+১ বেছে নেওয়া মেনু আইটেম) ক্ষেত্রে, এই বিবরণ এখানে বর্ণনা করতে হবে।

খরচ

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
amountobject
(Money)

amount_range-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

amount_rangeobject
(MoneyRange)

amount-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

denomination_type

ফিল্ডের নামধরনএই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতাবিবরণ
fixed_denominationsঅবজেক্ট
(FixedDenominations)

custom_range-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

গিফ্ট কার্ড নির্দিষ্ট, স্থির পরিমাণে উপলভ্য হলে ব্যবহার করা হয়।
custom_rangeঅবজেক্ট
(MoneyRange)

fixed_denominations-এর সাথে পারস্পরিকভাবে এক্সক্লুসিভ

ব্র্যান্ড ব্যবহারকারীদের একটি নির্দিষ্ট রেঞ্জের মধ্যে কাস্টম (ফ্লেক্সিবল) ফেস ভ্যালু বেছে নেওয়ার অনুমতি দিলে এটি ব্যবহার করা হয়।

ফিড আপলোড

অফার ফিড অবশ্যই Generic ফিড SFTP সার্ভারে আপলোড করতে হবে। নির্দেশাবলীর জন্য কীভাবে জেনেরিক ফিড SFTP সার্ভার টিউটোরিয়াল ব্যবহার করতে হয় লিঙ্কে যান এবং আপনার ডেসক্রিপ্টর ফাইলে name-এর মান google.offer হিসেবে সেট করুন।

আপলোড ফ্রিকোয়েন্সি

সাধারণত, Google প্রতি দিন ১টি ফিড আপলোড করার কথা বলে। আপনার দিক থেকে অফার আপডেট করার ফ্রিকোয়েন্সির উপর নির্ভর করে ফ্রিকোয়েন্সি বাড়ানো বা কমানো হতে পারে যাতে ধারাবাহিকভাবে উচ্চ নির্ভুলতা নিশ্চিত করা যায়। আপনার Google POC-এর সাথে পরামর্শ করুন।

Google-এ ডেটা দেখানোর আগে কয়েক ঘণ্টা সময় লাগবে।

অফার ক্যাটেগরি অনুযায়ী সাজানো

  • OFFER_CATEGORY_BASE_OFFER: অন্য কোনও অফারের সাথে একত্রিত না করে স্বতন্ত্রভাবে দাবি করা যেতে পারে এমন অফার। এর মধ্যে এগুলি অন্তর্ভুক্ত থাকে:
    • সম্পূর্ণ বিলে ফ্ল্যাট ছাড় (যেমন, ২০% ছাড়)
    • সাবস্ক্রিপশন অফার (যেমন, মেম্বারশিপের সাথে ফ্রি ডেজার্ট)
    • রেস্তোরাঁর জন্য অন্য কোনও বেস অফার না থাকলে পেমেন্ট অফার
    • মনে রাখবেন: প্ল্যাটফর্ম-জুড়ে ফি মকুব বা ফি কমানোর অফারকে বেস অফার হিসেবে সেট করা উচিত নয়।
  • অ্যাড-অন অফার: এই অফার দাবি করতে হলে বেস অফার থাকতে হবে। এর মধ্যে অন্তর্ভুক্ত:
    • OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER (যেমন, নির্দিষ্ট ক্রেডিট কার্ডে অতিরিক্ত ১০% ছাড়)
    • OFFER_CATEGORY_ADD_ON_COUPON_OFFER (যেমন, নির্দিষ্ট কুপন কোড ব্যবহার করে ফ্রি ড্রিঙ্ক)
    • OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER (যেমন, সাবস্ক্রাইবারদের জন্য অতিরিক্ত ১০% ছাড়)
    • OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER (যেমন, ফ্রি ডেলিভারি বা কম ফি)

অন্যান্য বিষয়:

  • সম্পূর্ণ প্ল্যাটফর্ম জুড়ে ফি মকুব বা কমানোর অফারকে Base অফার (OFFER_CATEGORY_BASE_OFFER) হিসেবে সেট করা উচিত নয়। এগুলিকে শুধুমাত্র অন্য চালু থাকা Base অফারের পরিপূরক হিসেবে OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER হিসেবে সেট করা উচিত।
  • কোনও রেস্তোরাঁর বেস অফার সেট করা না থাকলে, অ্যাড-অন অফার দেখানো হবে না। কোনও বেস অফার না থাকলে, অন্য অফারের সাথে যোগ না করেই দাবি করা যায় এমন যেকোনও পেমেন্ট, সাবস্ক্রিপশন বা কুপন অফারকে OFFER_CATEGORY_BASE_OFFER হিসেবে ট্যাগ করতে হবে।
    • ধরনের উপর নির্ভর করে, PaymentInstrument, Subscription, অথবা Coupon-এর জন্য প্রাসঙ্গিক ডেটা সেট করতে হবে।
    • পার্টনারদের এই অফারগুলির প্রতিটির ২টি কপি প্রদান করতে হবে যাতে এমন পরিস্থিতি কভার করা যায় যেখানে তারা Base Offer এবং Add-On Offer, উভয় হিসেবেই কাজ করে। তারপরে entity_ids বা add_on_offer_applicable_to_all_entities ব্যবহার করে একাধিক রেস্তোরাঁর জন্য অ্যাড-অন অফারের কপি সেট করা যেতে পারে।
  • কোনও রেস্তোরাঁর একাধিক বেস অফার থাকলে, যেগুলি স্ট্যাক করা যেতে পারে, সব বেস অফারকে OFFER_CATEGORY_BASE_OFFER হিসেবে ট্যাগ করতে হবে এবং বেস অফার যা পেমেন্ট, সাবস্ক্রিপশন বা কুপন অফার, সেগুলি অতিরিক্তভাবে প্রাসঙ্গিক অ্যাড-অন অফারের ধরন হিসেবে পাঠাতে হবে।
  • ValidityPeriod শুধুমাত্র তখনই বেস অফার হিসেবে অ্যাড-অন অফার অ্যাক্টিভেট করতে ব্যবহার করা উচিত যখন কোনও অ্যাক্টিভ বেস অফার থাকে না।
  • পেমেন্ট পদ্ধতি অনুযায়ী একই ধরনের অফার একত্রিত করা: একাধিক পেমেন্ট পদ্ধতি যদি একই ধরনের ছাড়ের ভ্যালু শেয়ার করে (যেমন, ক্রেডিট কার্ড, ডেবিট কার্ড এবং নেট ব্যাঙ্কিং, সবকটিতেই ৫% ছাড় অফার করা হচ্ছে), তাহলে আলাদা আলাদা ডুপ্লিকেট অফার পাঠানোর পরিবর্তে সেগুলিকে একটি একত্রিত Offer অবজেক্টের অধীনে গ্রুপ করুন। এটি করতে, প্রযোজ্য সব পেমেন্ট পদ্ধতি দিয়ে payment_instrument.items তালিকা পূরণ করুন। এটি Google ইন্টারফেসে লেআউট বিশৃঙ্খলা কমায় এবং অত্যধিক ডুপ্লিকেট বিধিনিষেধের কারণে সম্ভাব্য র‍্যাঙ্কিং ড্রপ প্রতিরোধ করে।

উদাহরণ, পরিস্থিতি:

  • একটি রেস্তোরাঁ নির্দিষ্ট ক্রেডিট কার্ড দিয়ে পেমেন্ট করলে ৫% ছাড় এবং নির্দিষ্ট কুপন কোড সহ একটি ফ্রি ড্রিঙ্ক অফার করে

    • ৫% ছাড়ের ক্রেডিট কার্ড অফারের ২টি কপি পাঠাতে হবে, একটিতে OFFER_CATEGORY_BASE_OFFER এবং অন্যটিতে OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER ট্যাগ করতে হবে এবং PaymentInstrument বিবরণ যোগ করতে হবে।
    • কুপন কোড অফারের সাথে ফ্রি ড্রিঙ্ক OFFER_CATEGORY_ADD_ON_COUPON_OFFER হিসেবে পাঠাতে হবে এবং Coupon বিবরণ যোগ করতে হবে।
  • একটি রেস্তোরাঁ ওয়াক-ইন গ্রাহকদের জন্য ১০% ছাড় এবং নির্দিষ্ট ক্রেডিট কার্ড দিয়ে পেমেন্ট করলে ৫% ছাড় দেয়। দুটি অফারই একসাথে ব্যবহার করা যায়।

    • ১০% ওয়াক-ইন অফারকে OFFER_CATEGORY_BASE_OFFER হিসেবে ট্যাগ করতে হবে।
    • ক্রেডিট কার্ড অফারে ৫% ছাড়ের ২টি কপি থাকতে হবে, যার একটি OFFER_CATEGORY_BASE_OFFER হিসেবে এবং অন্যটি OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER হিসেবে ট্যাগ করা থাকবে।
  • একটি রেস্তোরাঁ সপ্তাহের কাজের দিনগুলিতে শুধুমাত্র দুপুরের খাবারের জন্য ১০% ছাড় দেয় এবং নির্দিষ্ট ক্রেডিট কার্ড দিয়ে পেমেন্ট করলে যেকোনও সময় ৫% ছাড় দেয়।

    • ১০% ছাড়ের অফারটি ValidityPeriod সেট করা উচিত যাতে এটি শুধুমাত্র সপ্তাহের দিনগুলিতে রেস্তোরাঁর লাঞ্চের সময় প্রযোজ্য হয়।
    • ৫% ছাড়ের ক্রেডিট কার্ড অফারের ২টি কপি পাঠাতে হবে।
      • একটি কপি OFFER_CATEGORY_BASE_OFFER হিসেবে ট্যাগ করা থাকতে হবে এবং তাতে PaymentInstrument বিবরণ অন্তর্ভুক্ত থাকতে হবে। ValidityPeriod এর মান এমনভাবে সেট করতে হবে যাতে ১০% ছাড় দুপুরের খাবারের অফার চালু থাকাকালীন সপ্তাহের দিনগুলিতে দুপুরের খাবারের সময় বাদ দেওয়া যায়
      • একটি কপি OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER হিসেবে ট্যাগ করা উচিত এবং এতে PaymentInstrument বিবরণ অন্তর্ভুক্ত থাকতে হবে।
    • এই রেস্তোরাঁর জন্য অন্যান্য সব পেমেন্ট অফারকে OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER হিসেবে ট্যাগ করতে হবে।

ডেভেলপমেন্ট ও লঞ্চ প্রসেস

আপনার ইন্টিগ্রেশন জুড়ে, পার্টনার পোর্টাল আপনার ডেভেলপমেন্টের উপর ভিত্তি করে তথ্য এবং প্রতিক্রিয়া সহ আপনাকে সহায়তা করতে সক্ষম হবে। ডেভেলপমেন্ট প্রসেস এই ফ্লো অনুসরণ করবে:

  • ইন্টিগ্রেশন প্রথমে স্যান্ডবক্স এনভায়রনমেন্টে ডেভেলপ করা হবে। Google Sandbox এনভায়রনমেন্টে প্রোডাকশন ডেটার এক্সপোর্ট (বা সরাসরি প্রোডাকশন ডেটা) ব্যবহার করা উচিত। এর ফলে আপনার ডেভেলপমেন্ট সব এজ কেস কভার করে এবং Google-কে ডেটার কোয়ালিটি মূল্যায়ন করতে ও আপনার ডেটা মডেলের ভিত্তিতে আপনাকে আরও ভালোভাবে সাহায্য করতে সুবিধা হয়।
  • আপনি Google Sandbox এনভায়রনমেন্টে সম্পূর্ণ ও দৈনিক মার্চেন্ট, পরিষেবা ও ডিল ফিড ধারাবাহিকভাবে আপলোড করা শুরু করলে, Google টিম আপনার ফিড মূল্যায়ন করবে। Google টিম অনুমোদন দেওয়ার পরে, আপনি প্রোডাকশনে কোড পুশ করতে এবং Google প্রোডাকশন এনভায়রনমেন্টে প্রোডাকশন ডেটা পাঠানো শুরু করতে পারবেন।
  • আপনি প্রোডাকশন ইন্টিগ্রেশন সম্পূর্ণভাবে পরীক্ষা করার পরে Google টিমও পরীক্ষা করবে। সব টেস্টিং সম্পূর্ণ হয়ে গেলে, আপনার ইন্টিগ্রেশন লঞ্চ করা হবে।

পর্যবেক্ষণে রাখা

ব্যবহারকারীর অভিজ্ঞতা যাতে ভালো হয় তা নিশ্চিত করতে, Google চেক করে দেখবে যে প্রদান করা অফারগুলি সঠিক, বৈধ এবং লঞ্চ করার আগে ও পরে আমাদের নীতি সংক্রান্ত মাপকাঠি পূরণ করে কিনা। এটি করার জন্য, Google ম্যানুয়াল ও অটোমেটিক পর্যালোচনার কম্বিনেশন ব্যবহার করবে। এইসব পর্যালোচনার ফলাফল অ্যাকশন সেন্টারের (শুধুমাত্র প্রোডাকশন) অফার ড্যাশবোর্ড থেকে অ্যাক্সেস করা যাবে। এই মনিটরিংয়ের ফলাফল অফারের র‍্যাঙ্কিংয়ের উপর প্রভাব ফেলতে ব্যবহার করা হতে পারে।

ভাল করে দেখে নিন যে পৃষ্ঠাটি অফার সহ সম্পূর্ণ লোড হতে ৫ সেকেন্ডের কম সময় নেয়, অন্যথায় এটি ব্যর্থতা হিসেবে বিবেচিত হবে এবং Bad link হিসেবে ফ্ল্যাগ করা হবে।

অটোমেটেড চেক (ক্রলার)

Google কোয়ালিটি টিম ক্রলার প্রয়োগ করে। ক্রলার হল স্ক্রিপ্ট যা কিছু ক্লিক করতে এবং অফারের তথ্য বের করতে একটি ওয়েব ব্রাউজারকে অটোমেট করে, শুধুমাত্র কোয়ালিটি পরীক্ষার উদ্দেশ্যে।

কোয়েরির সংখ্যা

যেমন, আমরা যদি প্রতিদিন ৫০০০টি চেক পাঠানোর সিদ্ধান্ত নিই, তাহলে এর অর্থ হল যে প্রতিদিন ৫০০০ বার (সারা দিন ধরে সমানভাবে ডিস্ট্রিবিউট করা, অর্থাৎ, প্রতি ১৭ সেকেন্ডে আনুমানিক একটি করে), আমাদের ক্রলার নিম্নলিখিত সমস্ত অ্যাকশন পারফর্ম করে যা একজন সাধারণ ব্যবহারকারী পারফর্ম করতেন:

  • Google Search থেকে শুরু করুন এবং পার্টনার লিঙ্কে ক্লিক করুন।
  • অফার সংক্রান্ত তথ্য দেখুন।
  • অফারের জন্য বুকিং করার প্রয়োজন হলে, নির্দিষ্ট সময়ে অফার উপলভ্য আছে কিনা তা কনফার্ম করতে বুকিং ফ্লো চালিয়ে যাওয়া হবে (কোনও বুকিং করা হবে না)।

ওয়েব স্ক্র্যাপার শনাক্তকরণ

ওয়েব স্ক্র্যাপার যাতে ব্যান না হয়ে যায় (যার ফলে এটি সিদ্ধান্ত নিতে পারে যে অফার উপলভ্য নেই) তা নিশ্চিত করতে, আপনার সিস্টেম যাতে আমাদের ওয়েব স্ক্র্যাপারকে সবসময় আপনার পৃষ্ঠায় কোয়েরি করার অনুমতি দেয় তা নিশ্চিত করুন। আমাদের ওয়েব স্ক্র্যাপার শনাক্ত করতে:

  • ওয়েব স্ক্র্যাপার ইউজার-এজেন্টে "Google-Offers" স্ট্রিং থাকবে:
    • যেমন: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
  • এছাড়াও, আপনি চেক করে দেখতে পারেন যে কলগুলি Google থেকে আসছে কিনা। এর জন্য, "Googlebot ও অন্যান্য Google ক্রলার যাচাই করা" লিঙ্কে দেওয়া পরামর্শ অনুযায়ী রিভার্স DNS ব্যবহার করুন। আমাদের নির্দিষ্ট ক্ষেত্রে, রিভার্স DNS রেজোলিউশন এই প্যাটার্ন অনুসরণ করে: google-proxy-***-***-***-***.google.com.

প্রযুক্তিগত আচরণ

ক্যাশ করা হচ্ছে

পার্টনার ওয়েবসাইটে লোড কমানোর উদ্দেশ্যে, আমাদের ক্রলার সাধারণত রেসপন্সে উপস্থিত সমস্ত স্ট্যান্ডার্ড HTTP ক্যাশিং হেডার মেনে চলার জন্য কনফিগার করা হয়। এর অর্থ হল, সঠিকভাবে কনফিগার করা ওয়েবসাইটের ক্ষেত্রে, আমরা এমন কন্টেন্ট বারবার ফেচ করি না যা খুব কমই পরিবর্তিত হয় (যেমন, JavaScript লাইব্রেরি)। ক্যাশিং কীভাবে প্রয়োগ করতে হয় সেই বিষয়ে আরও জানতে, এই HTTP ক্যাশিং ডকুমেন্টেশন পড়ুন।