ওভারভিউ

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

অফার

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

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

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

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

অফার বাস্তবায়ন

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

অফারফিড

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
data অবজেক্টের অ্যারে
(Offer)

অফার

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
offer_id স্ট্রিং

প্রয়োজনীয়

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

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

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

প্রয়োজনীয়

একটি অফার অ্যাগ্রিগেটর, কোনো স্বতন্ত্র ব্যবসায়ী, বা এমনকি কোনো তৃতীয় পক্ষও একটি অ্যাড-অন হিসেবে প্রদান করতে পারে। আবশ্যক।
action_type এনাম
(ActionType)

প্রয়োজনীয়

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

প্রয়োজনীয়

অফারটি গ্রহণের পদ্ধতিসমূহ — সরাসরি এসে, রিজার্ভেশন করে, অনলাইনে, ইত্যাদি। আবশ্যক।
offer_category এনাম
(OfferCategory)

প্রয়োজনীয়

অফারটির বিভাগ। আবশ্যক।
source_assigned_priority সংখ্যা

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

প্রয়োজনীয়

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

প্রয়োজনীয়

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

একটি কুপনের বিবরণ। offer_category: OFFER_CATEGORY_ADD_ON_COUPON_OFFER-এর জন্য আবশ্যক।
payment_instrument বস্তু
(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-এর জন্য এটি আবশ্যক।
image_url স্ট্রিং

মার্চেন্টের অফার ইমেজের ইউআরএল।
tags এনামের অ্যারে
(OfferTag)

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

গিফট কার্ড ডিলের ক্ষেত্রে ডিল প্রদানকারী ব্র্যান্ড শনাক্ত করা আবশ্যক।

অফারের বিবরণ

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
offer_display_text স্ট্রিং

প্রয়োজনীয়

অফার প্রদানকারী সার্চ রেজাল্ট পেজে গ্রাহকদের যে অফার টেক্সটটি দেখাতে চান। আবশ্যক।
অন্যতম
(offer_specification)

প্রয়োজনীয়

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

সর্বোচ্চ যে ছাড় পাওয়া যাবে। যেমন, $100 পর্যন্ত ১০% ছাড়।
min_spend_value বস্তু
(Money)

ছাড় পাওয়ার জন্য ন্যূনতম খরচের পরিমাণ। উদাহরণস্বরূপ, মোট মূল্য $100 বা তার বেশি হলে ১০% ছাড়।
booking_cost বস্তু
(Money)

এই অফারটি বুক করার খরচ। উদাহরণস্বরূপ, ১৫ ডলারের বিনিময়ে একটি টেবিল রিজার্ভ করলে চূড়ান্ত বিল থেকে ১০০ ডলার ছাড়।
booking_cost_unit এনাম
(FeeUnit)

বুকিং খরচের একক। যেমন, প্রতি ব্যক্তি, প্রতি লেনদেন।
convenience_fee বস্তু
(Fee)

booking_cost_adjustable বুলিয়ান

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

ব্যবহারকারীর কাছ থেকে নেওয়া অতিরিক্ত ফি। উদাহরণস্বরূপ: সুবিধা ফি, হ্যান্ডলিং ফি, ডেলিভারি ফি, প্যাকেজিং ফি, সার্ভিস ফি ইত্যাদি।
offer_discount_type এনাম
(OfferDiscountType)

ছাড়ের ধরণ।
gift_card_info বস্তু
(GiftCardInfo)

বিশেষ করে গিফট কার্ড ডিলের বিবরণ।

টাকা

মুদ্রার ধরণসহ টাকার পরিমাণকে বোঝায়।

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
currency_code স্ট্রিং

ISO 4217-এ সংজ্ঞায়িত তিন অক্ষরের মুদ্রা কোড।
units স্ট্রিং

পরিমাণের পূর্ণ একক। উদাহরণস্বরূপ, যদি currencyCode "USD" হয়, তাহলে ১ একক হলো এক মার্কিন ডলার।
nanos সংখ্যা

পরিমাণের ন্যানো (10^-9) এককের সংখ্যা। মানটি অবশ্যই -999,999,999 এবং +999,999,999 এর মধ্যে হতে হবে। যদি units ধনাত্মক হয়, তবে nanos অবশ্যই ধনাত্মক বা শূন্য হতে হবে। যদি units শূন্য হয়, তবে nanos ধনাত্মক, শূন্য বা ঋণাত্মক হতে পারে। যদি units ঋণাত্মক হয়, তবে nanos অবশ্যই ঋণাত্মক বা শূন্য হতে হবে। উদাহরণস্বরূপ, -1.75 কে units = -1 এবং nanos = -750,000,000 হিসাবে প্রকাশ করা হয়।

ফি

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
unit এনাম
(FeeUnit)

type এনাম
(FeeType)

অন্যতম
(cost)

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

মানি রেঞ্জ

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
min_amount বস্তু
(Money)

max_amount বস্তু
(Money)

অতিরিক্ত ফি

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
name স্ট্রিং

প্রয়োজনীয়

অতিরিক্ত ফি-এর নাম। উদাহরণ: সুবিধা ফি, হ্যান্ডলিং ফি ইত্যাদি। আবশ্যক।
fee বস্তু
(Fee)

গিফটকার্ডইনফো

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
অন্যতম
(denomination_type)

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

নির্দিষ্ট মূল্যমান

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
amounts অবজেক্টের অ্যারে
(Money)

উপলব্ধ সকল বিচ্ছিন্ন মূল্যমানের একটি তালিকা (যেমন, [১০০, ৫০০, ১০০০])।

অফার সীমাবদ্ধতা

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
combinable_with_other_offers বুলিয়ান

এই অফারটি অন্য অফারের সাথে একত্রিত করা যাবে কিনা। যখন এটি 'সত্য' হয়, তখন পার্টনাররা নির্দিষ্ট করে দিতে পারেন যে এই অফারটি কোন কোন অফারের সাথে একত্রিত করা যাবে। যদি `combinable_offer_categories` এবং `combinable_offer_ids` উভয়ই সেট করা থাকে, তাহলে উপরের শর্তগুলোর যেকোনো একটির সাথে মিলে যাওয়া যেকোনো অফারই একত্রিত করা যাবে।
combinable_offer_categories এনামের অ্যারে
(OfferCategory)

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

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

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

যেসব শর্তের কারণে অফারটি বাতিল হয়ে যাবে তার তালিকা (যেমন, বুফে, কম্বো অফার, এবং ককটেল)।
min_guest সংখ্যা

অফারটি গ্রহণ করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক লোক।
food_offer_restrictions বস্তু
(FoodOfferRestrictions)

খাদ্য অফারের ক্ষেত্রে নির্দিষ্ট বিধিনিষেধ।
special_conditions স্ট্রিং এর অ্যারে

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

অফারের শর্ত

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
description স্ট্রিং

খাদ্য অফারের সীমাবদ্ধতা

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
meal_types এনামের অ্যারে
(MealType)

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

অফারটি শুধুমাত্র নির্দিষ্ট কিছু কোর্সের ক্ষেত্রেই প্রযোজ্য হবে কিনা।

কুপন

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
text স্ট্রিং

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

প্রয়োজনীয়

অফারটি রিডিম করার জন্য কুপন কোড প্রয়োজন। আবশ্যক।

পেমেন্টইনস্ট্রুমেন্ট

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
items অবজেক্টের অ্যারে
(PaymentInstrumentItem)

প্রয়োজনীয়

অফারটি পেতে যে সকল পেমেন্ট মাধ্যম ব্যবহার করা যাবে তার তালিকা। আবশ্যক।
provider_name স্ট্রিং

পেমেন্ট ইন্সট্রুমেন্ট প্রদানকারীর নাম। এটি কোনো ব্যাংকিং পার্টনার, ব্যাংকের নাম ইত্যাদি হতে পারে। উদাহরণস্বরূপ: আমেরিকান এক্সপ্রেস, এইচডিএফসি, আইসিআইসিআই।

পেমেন্টইনস্ট্রুমেন্ট আইটেম

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
type এনাম
(PaymentInstrumentType)

প্রয়োজনীয়

অর্থপ্রদানের মাধ্যমের ধরণ। আবশ্যক।
name স্ট্রিং

প্রয়োজনীয়

পেমেন্ট পদ্ধতির নাম, যেমন ক্রেডিট কার্ডের নাম। উদাহরণস্বরূপ: এইচডিএফসি ইনফিনিয়া, আমেরিকান এক্সপ্রেস প্ল্যাটিনাম। আবশ্যক।

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

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
name স্ট্রিং

প্রয়োজনীয়

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

ব্যবহারকারী এই অফারটি গ্রহণ করলে সাবস্ক্রিপশনটি স্বয়ংক্রিয়ভাবে যুক্ত হয় কিনা
cost বস্তু
(Money)

প্রয়োজনীয়

সাবস্ক্রিপশনের খরচ আবশ্যক।
subscription_duration বস্তু
(Duration)

প্রয়োজনীয়

সাবস্ক্রিপশনটি সাবস্ক্রিপশন খরচে কত সময়ের জন্য বৈধ থাকবে। আবশ্যক।
terms_and_conditions_url স্ট্রিং

এই সাবস্ক্রিপশনের সাথে প্রাসঙ্গিক পার্টনারের শর্তাবলীর ইউআরএল।

সময়কাল

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
seconds স্ট্রিং

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

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

শর্তাবলী

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
url স্ট্রিং

অংশীদারের শর্তাবলীর ইউআরএল।
restricted_to_certain_users বুলিয়ান

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

অংশীদার কর্তৃক প্রদত্ত মূল শর্তাবলী।
additional_terms_and_conditions স্ট্রিং এর অ্যারে

অংশীদারের মূল শর্তাবলীর পাশাপাশি অতিরিক্ত শর্তাবলী।

বৈধতার সময়কাল

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
valid_period বস্তু
(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_scope এনাম
(ValidityScope)

বৈধতার সময়সীমা নির্দিষ্ট করে।
validity_duration_in_days সংখ্যা

একবার কেনা হয়ে গেলে ভাউচার/কুপনটি কত দিনের জন্য বৈধ থাকবে।

বৈধতার পরিসর

একটি বন্ধ-খোলা টাইমস্ট্যাম্প পরিসর।

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
valid_from_time বস্তু
(Timestamp)

প্রয়োজনীয়

পরিসরের শুরুর সময় (অন্তর্ভুক্ত)। আবশ্যক।
valid_through_time বস্তু
(Timestamp)

পরিসরের শেষ সময় (একক)। যদি সেট করা না থাকে, তার মানে এই সময়কাল কখনও শেষ হবে না। ঐচ্ছিক।

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

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
seconds স্ট্রিং

এটি ইউনিক্স ইপক 1970-01-01T00:00:00Z থেকে UTC সময়ের সেকেন্ড নির্দেশ করে। এর মান অবশ্যই -62135596800 থেকে 253402300799 (উভয় মানসহ) এর মধ্যে হতে হবে (যা 0001-01-01T00:00:00Z থেকে 9999-12-31T23:59:59Z পর্যন্ত সময়কালের সমতুল্য)।
nanos সংখ্যা

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

দিনের সময়ের উইন্ডো

TimeWindow অবজেক্টটি একটি যৌগিক সত্তা যা এমন উইন্ডোগুলোর একটি তালিকা বর্ণনা করে, যেগুলোর মধ্যে ব্যবহারকারীর অর্ডার দেওয়া বা সম্পন্ন করা যেতে পারে।

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
time_windows বস্তু
(TimeOfDayRange)

প্রয়োজনীয়

অর্ডার দেওয়ার বা সম্পন্ন করার সময়সীমা। আবশ্যক।
day_of_week এনামের অ্যারে
(DayOfWeek)

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

দিনের সময়ের পরিসর

একটি বদ্ধ-উন্মুক্ত সময়সীমা।

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
open_time বস্তু
(TimeOfDay)

একটি সময় যা নির্দিষ্ট পরিসরের (অন্তর্ভুক্ত) দিনের শুরুর সময় নির্দেশ করে। সেট করা না থাকলে, এর অর্থ ০০:০০:০০। ঐচ্ছিক।
close_time বস্তু
(TimeOfDay)

একটি সময় যা নির্দিষ্ট পরিসরের (ব্যতীত) দিনের শেষ সময় নির্দেশ করে। যদি সেট করা না থাকে, তবে এর অর্থ ২৩:৫৯:৫৯। ঐচ্ছিক।

দিনের সময়

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
hours সংখ্যা

২৪-ঘণ্টার ফরম্যাটে দিনের ঘন্টা। এটি অবশ্যই ০-এর সমান বা তার বেশি এবং সাধারণত ২৩-এর সমান বা তার কম হতে হবে। ব্যবসায়িক প্রতিষ্ঠান বন্ধের সময়ের মতো পরিস্থিতির জন্য একটি এপিআই (API) "২৪:০০:০০" মানটি ব্যবহারের অনুমতি দিতে পারে।
minutes সংখ্যা

এক ঘণ্টার মিনিট। অবশ্যই ০-এর সমান বা তার বেশি এবং ৫৯-এর সমান বা তার কম হতে হবে।
seconds সংখ্যা

এক মিনিটের সেকেন্ড। এর মান অবশ্যই ০-এর সমান বা তার বেশি এবং সাধারণত ৫৯-এর সমান বা তার কম হতে হবে। কোনো এপিআই (API) লিপ-সেকেন্ডের অনুমতি দিলে ৬০ মানটিও গ্রহণ করতে পারে।
nanos সংখ্যা

সেকেন্ডের ভগ্নাংশ, ন্যানোসেকেন্ডে। অবশ্যই ০-এর সমান বা তার বেশি এবং ৯৯৯,৯৯৯,৯৯৯-এর সমান বা তার কম হতে হবে।

ValidTimeException

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
exceptional_period বস্তু
(ValidityRange)

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

তারিখ

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
year সংখ্যা

তারিখের বছর। বছরটি অবশ্যই ১ থেকে ৯৯৯৯-এর মধ্যে হতে হবে, অথবা বছর ছাড়া তারিখ নির্দিষ্ট করতে ০ দিতে হবে।
month সংখ্যা

বছরের মাস। অবশ্যই ১ থেকে ১২-এর মধ্যে হতে হবে, অথবা মাস ও দিন ছাড়া বছর বোঝাতে ০ হতে হবে।
day সংখ্যা

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

অফারসোর্স

নাম বর্ণনা
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

অ্যাকশন টাইপ

এটি অফারটি পূরণের পদ্ধতিকে নির্দেশ করে। যদি কোনো অফার একাধিক পূরণের পদ্ধতির মধ্যে শেয়ার করা যায়, তাহলে প্রতিটি পদ্ধতির জন্য সদৃশ অফার তৈরি হবে বলে আশা করা হয়।

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

অফারমোড

যে পদ্ধতি বা মাধ্যমের মাধ্যমে ব্যবহারকারী অফারটি গ্রহণ করতে পারবেন, তা নির্দিষ্ট করে।

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

অফার বিভাগ

অফারের বিভাগ। বেস অফার হলো একটি সাধারণ অফার যা সকল গ্রাহকের জন্য উপলব্ধ, যেমন $100-এর বেশি কেনাকাটায় ১০% ছাড়। কুপন বা পেমেন্ট পদ্ধতি দ্বারা সীমাবদ্ধ বেস অফারের ক্ষেত্রে সংশ্লিষ্ট ফিল্ডগুলো সেট করা থাকবে। আমাদের অ্যাড-অন অফারও রয়েছে, যেমন অ্যাড-অন পেমেন্ট অফার (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

অফার ডিসকাউন্ট টাইপ

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

খাবারের ধরণ

নাম বর্ণনা
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
PAYMENT_INSTRUMENT_NETBANKING

সপ্তাহের দিন

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

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

বৈধতার পরিধি

বৈধতার মেয়াদের পরিধি; অর্থাৎ, ঠিক কোন কোন কাজের ক্ষেত্রে এই বৈধতার মেয়াদ প্রযোজ্য হবে।

নাম বর্ণনা
VALIDITY_SCOPE_UNSPECIFIED
VALIDITY_SCOPE_CLAIM
VALIDITY_SCOPE_REDEEM

অফারট্যাগ

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

অফার স্পেসিফিকেশন

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

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
discount_percent সংখ্যা

discount_value এবং other_offer_detail_text সাথে পারস্পরিকভাবে বর্জনীয়।

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

discount_percent এবং other_offer_detail_text সাথে পারস্পরিকভাবে বর্জনীয়।

ছাড়ের নির্দিষ্ট পরিমাণ।
other_offer_detail_text স্ট্রিং

discount_percent এবং discount_value সাথে পারস্পরিকভাবে বর্জনীয়।

ছাড়ের বিবরণ দেওয়ার জন্য এখানে একটি মুক্ত শৈলীর লেখা ব্যবহার করা যাবে। নির্দিষ্ট ১+১ অফারের (যেমন: ১+১ পানীয়, ১+১ প্রধান খাবার, ১+১ নির্বাচিত মেনু আইটেম) ক্ষেত্রে, সেই বিবরণ এখানে বর্ণনা করতে হবে।

খরচ

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
amount বস্তু
(Money)

amount_range সাথে পারস্পরিকভাবে বর্জনশীল

amount_range বস্তু
(MoneyRange)

amount সাথে পারস্পরিকভাবে বর্জনশীল

ডিনোমিনেশন_টাইপ

ক্ষেত্রের নাম প্রকার প্রয়োজনীয়তা বর্ণনা
fixed_denominations বস্তু
(FixedDenominations)

custom_range সাথে পারস্পরিকভাবে বর্জনীয়

গিফট কার্ডটি যখন নির্দিষ্ট, স্থির পরিমাণে উপলব্ধ থাকে, তখন এটি ব্যবহার করা হয়।
custom_range বস্তু
(MoneyRange)

fixed_denominations সাথে পারস্পরিকভাবে বর্জনশীল

এটি তখন ব্যবহৃত হয় যখন ব্র্যান্ডটি ব্যবহারকারীদের একটি নির্দিষ্ট পরিসরের মধ্যে নিজস্ব (নমনীয়) অভিহিত মূল্য বেছে নেওয়ার সুযোগ দেয়।

ফিড আপলোড

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

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

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

ডেটাটি গুগলে প্রদর্শিত হতে কয়েক ঘণ্টা সময় লাগবে।

অফারগুলির শ্রেণিবিন্যাস

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

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

  • যখন কোনো রেস্তোরাঁর জন্য কোনো বেস অফার সেট করা থাকে না, তখন অ্যাড-অন অফারগুলো প্রদর্শিত হবে না। যদি কোনো বেস অফার না থাকে, তবে অন্য কোনো অফারের সাথে যুক্ত করার প্রয়োজন ছাড়াই যে কোনো পেমেন্ট, সাবস্ক্রিপশন বা কুপন অফার দাবি করা যাবে, সেটিকে অবশ্যই OFFER_CATEGORY_BASE_OFFER হিসেবে ট্যাগ করতে হবে।
    • প্রকারভেদের উপর নির্ভর করে PaymentInstrument , Subscription বা Coupon জন্য প্রাসঙ্গিক ডেটা সেট করতে হবে।
    • পার্টনারদের অবশ্যই এই অফারগুলির প্রত্যেকটির ২টি করে কপি প্রদান করতে হবে, যাতে এমন পরিস্থিতি সামাল দেওয়া যায় যেখানে এগুলি বেস অফার এবং অ্যাড-অন অফার উভয় হিসাবেই কাজ করে। এরপর entity_ids অথবা add_on_offer_applicable_to_all_entities ব্যবহার করে একাধিক রেস্তোরাঁর জন্য অ্যাড-অন অফারের কপিটি সেট করা যেতে পারে।
  • যখন কোনো রেস্তোরাঁর একাধিক বেস অফার থাকে যা একসাথে ব্যবহার করা যায়, তখন সমস্ত বেস অফারকে OFFER_CATEGORY_BASE_OFFER হিসেবে ট্যাগ করতে হবে এবং যে বেস অফারগুলো পেমেন্ট, সাবস্ক্রিপশন বা কুপন অফার, সেগুলোকে অতিরিক্তভাবে সংশ্লিষ্ট অ্যাড-অন অফার টাইপ হিসেবে পাঠাতে হবে।
  • যখন কোনো সক্রিয় বেস অফার থাকবে না, শুধুমাত্র তখনই অ্যাড-অন অফারগুলোকে বেস অফার হিসেবে সক্রিয় করতে ValidityPeriod ব্যবহার করা উচিত।

উদাহরণস্বরূপ দৃশ্যকল্প:

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

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

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

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

উন্নয়ন ও লঞ্চ প্রক্রিয়া

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

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

পর্যবেক্ষণ

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

নিশ্চিত করুন যে অফারগুলো সহ পেজটি সম্পূর্ণরূপে লোড হতে ৫ সেকেন্ডের কম সময় নেয়, অন্যথায় এটি একটি ব্যর্থতা হিসাবে বিবেচিত হবে এবং Bad link হিসাবে চিহ্নিত করা হবে।

স্বয়ংক্রিয় চেক (ক্রলার)

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

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

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

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

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

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

  • ওয়েব স্ক্র্যাপারের ইউজার-এজেন্টে " 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-proxy-***-***-***-***.google.com

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

ক্যাশিং

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