অফার
অফার ইন্টিগ্রেশন আপনাকে নির্দিষ্ট সময়ে নির্দিষ্ট পরিষেবার ক্ষেত্রে প্রযোজ্য মার্চেন্ট প্রোমোশন এবং ছাড় সম্পর্কে স্ট্রাকচার্ড তথ্য রিলে করতে দেয়। অফার তৈরি হয় আসল অফার (শতাংশ-ছাড়, ডলার-ছাড় ...), বৈধতার উইন্ডো (নির্দিষ্ট সময়, সপ্তাহের দিন ...), এবং প্রযোজ্য ব্যবহার (অফারটি শুধুমাত্র নির্দিষ্ট পরিষেবায় ব্যবহার করা যাবে) এবং বিধিনিষেধের জটিল সমন্বয়ের মাধ্যমে।
অফারের উদাহরণ:
- ডিসেম্বর মাসে বুধবার ও বৃহস্পতিবার দুপুর ১২টা থেকে বিকেল ৫টা পর্যন্ত অ্যাপেটাইজার অর্ধেক দামে
- মাদার্স ডে ডিনারে সন্ধ্যা ৬টা থেকে রাত ১০টা পর্যন্ত একটি ডেজার্ট কিনলে আরেকটি ফ্রি
- প্রতি রবিবার সকাল ১০টা থেকে দুপুর ২টা পর্যন্ত ব্রাঞ্চ এন্ট্রিতে $৫ ছাড়
- ওয়াক-ইন অফার হিসেবে ১০% ছাড়, যা প্রিমিয়াম সাবস্ক্রাইবারদের জন্য ৫% ছাড় এবং ব্যবহারকারী আপনার অ্যাপের মাধ্যমে পেমেন্ট করলে ৫% ছাড়ের সাথে যোগ করা যাবে।
ইন্টিগ্রেশনে কোনও অফার অন্তর্ভুক্ত করতে হলে, সেটিকে টেকনিক্যাল ডেটা মডেলের মধ্যে ফিট করতে হবে এবং আমাদের যোগ্যতার মাপকাঠি পূরণ করতে হবে। আপনার ইন্টিগ্রেশন যাতে নীতি মেনে চলে এবং টেকনিক্যাল প্রয়োজনীয়তা পূরণ করে না এমন অফার নিয়ে কী করতে হবে সেই সংক্রান্ত নির্দেশাবলী পেতে আমাদের অফার সংক্রান্ত নীতি পর্যালোচনা করতে ভুলবেন না।
অফার প্রয়োগ করা
অফার ইন্টিগ্রেশনে দুটি ফিড থাকে যা প্রতিদিন বা এমন ফ্রিকোয়েন্সিতে আপলোড করা হবে যা উচ্চ নির্ভুলতা নিশ্চিত করে (অর্থাৎ, পুরনো হওয়ার সম্ভাবনা কমায়):
- যেকোনও একটি:
- মার্চেন্ট ফিড
(
Merchantকনফিগারেশন ব্যবহার করে) - অথবা
Entity ফিড
(
Genericকনফিগারেশন ব্যবহার করে)
- মার্চেন্ট ফিড
(
- এবং
অফার ফিড
(
Genericকনফিগারেশন ব্যবহার করে)
OfferFeed
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
data | অবজেক্টের অ্যারে(Offer) |
অফার
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
offer_id | স্ট্রিং | প্রয়োজনীয় | অফারের অনন্য আইডি। প্রয়োজনীয়। |
entity_ids | স্ট্রিংয়ের অ্যারে | এই অফারে অংশগ্রহণকারী মার্চেন্টদের তালিকা। | |
add_on_offer_applicable_to_all_entities | বুলিয়ান | সত্য হলে, এই অফারটি অ্যাগ্রিগেটরের অধীনে থাকা সমস্ত এন্টিটির জন্য প্রযোজ্য। শুধুমাত্র অ্যাড-অন অফারের ক্ষেত্রে প্রযোজ্য। | |
offer_source | enum(OfferSource) | প্রয়োজনীয় | অ্যাগ্রিগেটর, কোনও স্বতন্ত্র মার্চেন্ট বা এমনকি কোনও থার্ড-পার্টিও অ্যাড-অন হিসেবে অফার দিতে পারে। প্রয়োজনীয়। |
action_type | enum(ActionType) | প্রয়োজনীয় | যে পরিষেবা অফার প্রদান করছে। offer_id শুধুমাত্র একটি action_type-এর হতে পারে। কোনও অফার একাধিক পরিষেবার ধরন জুড়ে শেয়ার করা গেলে, প্রতিটি পরিষেবার ধরনের জন্য অনন্য আইডি সহ ডুপ্লিকেট অফার তৈরি করা হবে বলে আশা করা হচ্ছে। প্রয়োজনীয়। |
offer_modes | enum-এর অ্যারে(OfferMode) | প্রয়োজনীয় | যেসব পদ্ধতিতে অফার পাওয়া যাবে - সরাসরি গিয়ে, রিজার্ভেশন করে, অনলাইনে ইত্যাদি। প্রয়োজন। |
offer_category | enum(OfferCategory) | প্রয়োজনীয় | অফারের বিভাগ। প্রয়োজনীয়। |
source_assigned_priority | নম্বর | অঋণাত্মক পূর্ণসংখ্যা ([১-১০০], যেখানে ১ হল সর্বোচ্চ অগ্রাধিকার) যা সোর্সের অ্যাসাইন করা অফারের অগ্রাধিকারের লেভেল নির্দেশ করে। একই মার্চেন্টের জন্য একাধিক অফার উপলভ্য থাকলে, এটি অফার র্যাঙ্ক করার জন্য একটি সিগন্যাল হিসেবে কাজ করবে। ০ থাকলে বুঝতে হবে যে অগ্রাধিকার সেট করা নেই। | |
offer_details | object(OfferDetails) | প্রয়োজনীয় | অফারের বিবরণ যেমন ছাড়, বুকিংয়ের খরচ ইত্যাদি। প্রয়োজন। |
offer_restrictions | অবজেক্ট(OfferRestrictions) | প্রয়োজনীয় | অফার কীভাবে সীমাবদ্ধ করা হয়েছে তা বর্ণনা করে, যেমন, সাবস্ক্রিপশন/পেমেন্ট পদ্ধতি প্রয়োজন কিনা, এই অফারটি অন্য অফারের সাথে (এবং কোন ধরনের) যোগ করা যাবে কিনা ইত্যাদি। প্রয়োজন। |
coupon | অবজেক্ট(Coupon) | কুপনের বিবরণ। offer_category-এর জন্য প্রয়োজনীয়: OFFER_CATEGORY_ADD_ON_COUPON_OFFER. | |
payment_instrument | object(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-এর জন্য প্রয়োজন। | |
tags | enum-এর অ্যারে(OfferTag) | অফারের সাথে যুক্ত বিশেষ ট্যাগ। "উৎসব", "সবচেয়ে বেশি রেটিং প্রাপ্ত", "সবচেয়ে বেশি বুক করা" ইত্যাদি বিশেষ অফার শনাক্ত করতে এটি ব্যবহার করা হয়। | |
brand_id | স্ট্রিং | অফারের সাথে যুক্ত ব্র্যান্ড শনাক্ত করে। সেট করা না থাকলে, ডিফল্ট ব্র্যান্ড ব্যবহার করা হয়। | |
availability_level | enum(AvailabilityLevel) | অফারের উপলভ্যতা লেভেল। |
OfferDetails
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
offer_display_text | স্ট্রিং | প্রয়োজনীয় | সার্চ ফলাফল পৃষ্ঠায় অফার প্রদানকারী গ্রাহকদের যে অফার টেক্সট দেখাতে চান। মনে রাখবেন, এটি ঠিক সেই তথ্য নাও হতে পারে যা ব্যবহারকারীদের দেখানো হয় এবং আমরা এটি আবার লেখা/অন্যভাবে বলার জন্য অন্যান্য মেটাডেটা ব্যবহার করতে পারি। প্রয়োজনীয়। |
| oneOf(offer_specification) | প্রয়োজনীয় | এই oneOf-এর মধ্যে শুধুমাত্র একটি ফিল্ড সেট করা যাবে। |
max_discount_value | অবজেক্ট(Money) | সর্বাধিক যে পরিমাণ ছাড় পাওয়া যাবে। যেমন, $১০০ পর্যন্ত ১০% ছাড়। | |
min_spend_value | অবজেক্ট(Money) | ছাড়ের সুবিধা পেতে ন্যূনতম যে ভ্যালু খরচ করতে হবে। যেমন, মোট দাম $১০০ বা তার বেশি হলে ১০% ছাড়। | |
booking_cost | object(Money) | এই অফার বুক করার খরচ। যেমন, $১৫ মূল্যে টেবিল রিজার্ভ করা হলে, চূড়ান্ত বিলে $১০০ ছাড়। | |
booking_cost_unit | enum(FeeUnit) | বুকিং খরচের ইউনিট। যেমন, প্রতি ব্যক্তি, প্রতি ট্রানজ্যাকশন। | |
convenience_fee | object(Fee) | ||
booking_cost_adjustable | বুলিয়ান | বুকিংয়ের খরচ অ্যাডজাস্ট করা যায় কিনা, অর্থাৎ চূড়ান্ত বিল থেকে বুকিংয়ের খরচ বিয়োগ করা হয় কিনা। যেমন: রিজার্ভেশন করলে ডিনারে ৩০% ছাড়। $১৫ রিজার্ভ করার খরচ এবং এটি চূড়ান্ত বিলে প্রয়োগ করা হবে। তাই, চূড়ান্ত বিল: মোট খরচ - ৩০% - $১৫ | |
additional_fees | অবজেক্টের অ্যারে(AdditionalFee) | ব্যবহারকারীকে চার্জ করা অতিরিক্ত ফি। যেমন: কনভেনিয়েন্স, হ্যান্ডলিং, ডেলিভারি, প্যাকেজিং, পরিষেবা ফি ইত্যাদি। | |
offer_discount_type | enum(OfferDiscountType) | ছাড়ের ধরন। | |
gift_card_info | অবজেক্ট(GiftCardInfo) | গিফ্ট কার্ড ডিলের জন্য নির্দিষ্ট বিবরণ। |
অর্থ
মুদ্রার ধরন সহ অর্থের পরিমাণ বোঝায়।
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
currency_code | স্ট্রিং | ISO 4217-এ উল্লেখ করা তিন অক্ষরের মুদ্রার কোড। | |
units | নম্বর | টাকার পরিমাণের সম্পূর্ণ ইউনিট।
যেমন, currencyCode হল "USD" হলে, ১ ইউনিট হল এক মার্কিন ডলার। | |
nanos | নম্বর | পরিমাণের ন্যানো (১০^-৯) ইউনিটের সংখ্যা।
মান অবশ্যই -৯৯৯,৯৯৯,৯৯৯ থেকে +৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে, এই দুটি সংখ্যা সহ।
units পজিটিভ হলে, nanos অবশ্যই পজিটিভ বা শূন্য হতে হবে।
units শূন্য হলে, nanos ধনাত্মক, শূন্য বা ঋণাত্মক হতে পারে।
units ঋণাত্মক হলে, nanos অবশ্যই ঋণাত্মক বা শূন্য হতে হবে।
যেমন, $-১.৭৫-কে units=-১ এবং nanos=-৭৫০,০০০,০০০ হিসেবে দেখানো হয়। |
ধার্যমূল্য
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneOf(cost) | এই oneOf-এর মধ্যে শুধুমাত্র একটি ফিল্ড সেট করা যাবে। |
MoneyRange
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
min_amount | object(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_categories | enum-এর অ্যারে(OfferCategory) | এই অফারের সাথে একত্রিত করা যেতে পারে এমন অফারের ধরনের তালিকা। যেমন, এই অফারটি অন্যান্য কুপনের সাথে ব্যবহার করা যেতে পারে। যদি combinable_with_other_offers সত্য হয় এবং এই ফিল্ড সেট করা না থাকে, তাহলে সব ধরনের অফার একত্রিত করা যাবে। | |
combinable_offer_ids | স্ট্রিংয়ের অ্যারে | এই অফারের সাথে যোগ করা যাবে এমন offer_id-এর তালিকা। কিছু অফার শুধুমাত্র নির্দিষ্ট কিছু offer_id-এর সাথে যোগ করা যেতে পারে (এগুলিকে পেরেন্ট অফার হিসেবে বিবেচনা করা যেতে পারে)। combinable_with_other_offers-এর মান 'ট্রু' হলে এবং এই ফিল্ডে কোনও মান সেট করা না থাকলে, সব অফার আইডি একত্রিত করা যাবে। | |
inclusions | অবজেক্টের অ্যারে(OfferCondition) | অফারটি বৈধ হওয়ার জন্য যেসব শর্ত পূরণ করতে হবে তার তালিকা (যেমন, অ্যালকোহলমুক্ত পানীয়, খাবার)। | |
exclusions | অবজেক্টের অ্যারে(OfferCondition) | অফার বাতিল করে দেয় এমন শর্তের তালিকা (যেমন, বুফে, কম্বো অফার ও ককটেল)। | |
min_guest | নম্বর | অফারটি পেতে ন্যূনতম যত জন লোকের প্রয়োজন হবে। মনে রাখবেন: এই ফিল্ডটি শুধুমাত্র ডাইনিং রিজার্ভেশনের জন্য প্রযোজ্য এবং অন্যান্য ভার্টিক্যালের জন্য ব্যবহার করা উচিত নয়। | |
food_offer_restrictions | object(FoodOfferRestrictions) | খাবারের অফারের ক্ষেত্রে নির্দিষ্ট বিধিনিষেধ। | |
max_redemption_count | নম্বর | এই অফার কতবার ব্যবহার করা যাবে সেই সংক্রান্ত বিধিনিষেধ। ০-এর ভ্যালু নির্দিষ্ট করবে যে কোনও সীমা নেই। যেমন, ৩ ভ্যালু থাকলে তার অর্থ হল ব্যবহারকারী এই অফার ৩ বার ব্যবহার করতে পারবেন। | |
max_total_discount_value | object(Money) | এই অফারের একাধিক ট্রানজ্যাকশন জুড়ে সর্বাধিক যে ছাড় পাওয়া যেতে পারে। | |
special_conditions | স্ট্রিংয়ের অ্যারে | এই অফারের বিশেষ শর্তাবলী যা ব্যবহারকারীকে অবশ্যই দেখাতে হবে। উদাহরণ: "শুধুমাত্র [area]-এ পেমেন্টের জন্য প্রযোজ্য", "অনলাইন পেমেন্ট অন্তর্ভুক্ত নয়", "সেল চলাকালীন গিফ্ট ভাউচার ব্যবহার করা যেতে পারে।" |
OfferCondition
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
description | স্ট্রিং |
FoodOfferRestrictions
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
meal_types | enum-এর অ্যারে(MealType) | অফারটি কোন ধরনের খাবারের ক্ষেত্রে প্রযোজ্য, যেমন লাঞ্চ বা ডিনার। সেট করা না থাকলে, অফারটি সব ধরনের খাবারের ক্ষেত্রে প্রযোজ্য হতে পারে। | |
restricted_to_certain_courses | বুলিয়ান | অফারটি শুধুমাত্র নির্দিষ্ট কোর্সে প্রয়োগ করা যাবে কিনা। |
কুপন
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
text | স্ট্রিং | অফার প্রদানকারী ব্যবহারকারীদের যে কুপন টেক্সট দেখাতে চান। | |
code | স্ট্রিং | প্রয়োজনীয় | অফার রিডিম করতে কুপন কোড প্রয়োজন। প্রয়োজনীয়। |
PaymentInstrument
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
items | অবজেক্টের অ্যারে(PaymentInstrumentItem) | প্রয়োজনীয় | অফার পাওয়ার জন্য ব্যবহার করা যেতে পারে এমন পেমেন্ট পদ্ধতির তালিকা। প্রয়োজনীয়। |
provider_name | স্ট্রিং | পেমেন্ট পদ্ধতি প্রদানকারীর নাম। ব্যাঙ্কিং পার্টনার, ব্যাঙ্কের নাম ইত্যাদি হতে পারে। যেমন: American Express, HDFC, ICICI. |
PaymentInstrumentItem
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
type | enum(PaymentInstrumentType) | প্রয়োজনীয় | পেমেন্ট পদ্ধতির ধরন। প্রয়োজনীয়। |
name | স্ট্রিং | প্রয়োজনীয় | পেমেন্ট ইন্সট্রুমেন্ট আইটেমের নাম, যেমন ক্রেডিট কার্ডের নাম। যেমন: HDFC Infinia, American Express Platinum. প্রয়োজনীয়। |
সাবস্ক্রিপশন
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
name | স্ট্রিং | প্রয়োজনীয় | সাবস্ক্রিপশনের নাম। প্রয়োজনীয়। |
subscription_auto_added | বুলিয়ান | ব্যবহারকারী এই অফার নিলে সাবস্ক্রিপশন অটোমেটিক যোগ করা হয় কিনা | |
cost | object(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_period | object(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 | enum(ValidityScope) | ভ্যালিডিটির মেয়াদের স্কোপ নির্দিষ্ট করে। | |
validity_duration_in_days | নম্বর | ভাউচার/কুপন কেনার পরে সেটি কতদিন (দিনে) বৈধ থাকবে। |
ValidityRange
একটি ক্লোজড-ওপেন টাইমস্ট্যাম্প রেঞ্জ।
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
valid_from_time | অবজেক্ট(Timestamp) | প্রয়োজনীয় | রেঞ্জের শুরুর সময় (ধরা আছে)। প্রয়োজনীয়। |
valid_through_time | object(Timestamp) | রেঞ্জের শেষের সময় (ধরা নেই)। সেট করা না থাকলে, এর অর্থ হল এই সময়সীমা কখনও শেষ হবে না। ঐচ্ছিক। |
টাইমস্ট্যাম্প
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
seconds | নম্বর | Unix epoch 1970-01-01T00:00:00Z থেকে UTC সময়ের সেকেন্ডকে বোঝায়। -৬২১৩৫৫৯৬৮০০ থেকে ২৫৩৪০০৩০৭৯৯-এর মধ্যে হতে হবে, এই দুটি মান সহ (যা ০০০১-০১-০১T০০:০০:০০Z থেকে ৯৯৯৯-১২-৩১T২৩:৫৯:৫৯Z-এর সাথে সম্পর্কিত)। | |
nanos | নম্বর | ন্যানোসেকেন্ড রেজোলিউশনে সেকেন্ডের নন-নেগেটিভ ভগ্নাংশ। এই ফিল্ডটি হল সময়সীমার ন্যানোসেকেন্ড অংশ, এটি সেকেন্ডের বিকল্প নয়। ভগ্নাংশ সহ নেগেটিভ সেকেন্ড ভ্যালুতে অবশ্যই নেগেটিভ নয় এমন ন্যানোসেকেন্ড ভ্যালু থাকতে হবে যা সময়ের সাথে সাথে এগিয়ে যায়। ০ থেকে ৯৯৯,৯৯৯,৯৯৯-এর মধ্যে হতে হবে যার মধ্যে এই সংখ্যাগুলিও অন্তর্ভুক্ত। |
TimeOfDayWindow
TimeWindow অবজেক্ট হল একটি কম্পোজিট এন্টিটি যা ব্যবহারকারীর অর্ডার প্লেস বা পূরণ করা যেতে পারে এমন উইন্ডোর তালিকা বর্ণনা করে।
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
time_windows | অবজেক্ট(TimeOfDayRange) | প্রয়োজনীয় | অর্ডার প্লেস/ফুলফিল করার সময়সীমা। প্রয়োজনীয়। |
day_of_week | enum-এর অ্যারে(DayOfWeek) | সপ্তাহের যে দিনগুলিতে উইন্ডো প্রয়োগ করা হয় তার তালিকা। কোনও দিন সেট করা না থাকলে, এর অর্থ হল এটি সপ্তাহের সব দিনের জন্য প্রযোজ্য। ঐচ্ছিক। | |
day_of_month | অবজেক্টের অ্যারে(DayOfMonthRange) | মাসের কোন কোন দিনে উইন্ডো প্রয়োগ করা হয়। কিছু সেট করা না থাকলে, এর অর্থ হল এটি মাসের সব দিনের জন্য প্রযোজ্য। ঐচ্ছিক। |
TimeOfDayRange
বন্ধ-খোলা থাকার সময়সীমা।
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
open_time | object(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 | object(Money) |
| ছাড়ের নির্দিষ্ট ভ্যালু। |
other_offer_detail_text | স্ট্রিং |
| ছাড়ের বিবরণ দেওয়ার জন্য ফ্রি-ফর্ম টেক্সট। নির্দিষ্ট ১+১ অফারের (যেমন, ১+১ ড্রিঙ্ক, +১ মূল কোর্স, ১+১ বেছে নেওয়া মেনু আইটেম) ক্ষেত্রে, এই বিবরণ এখানে বর্ণনা করতে হবে। |
খরচ
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
amount | object(Money) |
| |
amount_range | object(MoneyRange) |
|
denomination_type
| ফিল্ডের নাম | ধরন | এই ব্যাজ অর্জন করার জন্য প্রয়োজনীয় যোগ্যতা | বিবরণ |
|---|---|---|---|
fixed_denominations | অবজেক্ট(FixedDenominations) |
| গিফ্ট কার্ড নির্দিষ্ট, স্থির পরিমাণে উপলভ্য হলে ব্যবহার করা হয়। |
custom_range | অবজেক্ট(MoneyRange) |
| ব্র্যান্ড ব্যবহারকারীদের একটি নির্দিষ্ট রেঞ্জের মধ্যে কাস্টম (ফ্লেক্সিবল) ফেস ভ্যালু বেছে নেওয়ার অনুমতি দিলে এটি ব্যবহার করা হয়। |
ফিড আপলোড
অফার ফিড
অবশ্যই 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 ক্যাশিং ডকুমেন্টেশন পড়ুন।