অফার ইন্টিগ্রেশনে অংশগ্রহণকারী পার্টনারদের কাজ শুরু করার আগে মার্চেন্ট বা এনটিটি (পাইলট) ভিত্তিক ইন্টিগ্রেশন ধাপের জন্য অ্যাকাউন্ট সেটআপ সম্পন্ন করতে হবে। অফার ইন্টিগ্রেশনের বাস্তবায়ন, পরীক্ষা এবং লঞ্চ সম্পর্কে এই গাইডে বিস্তারিত জানানো হবে। ইন্টিগ্রেশনের ধাপগুলোতে যাওয়ার আগে এই ওভারভিউ এবং অফার পলিসিগুলো পড়ে নিন।
অফার
অফার ইন্টিগ্রেশন আপনাকে নির্দিষ্ট সময়ে নির্দিষ্ট পরিষেবাগুলিতে প্রযোজ্য মার্চেন্ট প্রমোশন এবং ডিসকাউন্ট সম্পর্কে কাঠামোগত তথ্য জানাতে সাহায্য করে। অফারগুলি প্রকৃত অফার (শতাংশ-ছাড়, ডলার-ছাড়...), বৈধতার সময়সীমা (নির্দিষ্ট সময়, সপ্তাহের দিন...), এবং প্রযোজ্য ব্যবহার (অফারটি শুধুমাত্র নির্দিষ্ট কিছু পরিষেবাতেই ব্যবহার করা যাবে) এর পাশাপাশি বিভিন্ন বিধিনিষেধের জটিল সংমিশ্রণ নিয়ে গঠিত।
অফারের উদাহরণ:
- ডিসেম্বর মাসের বুধ ও বৃহস্পতিবার দুপুর ১২টা থেকে বিকেল ৫টা পর্যন্ত অ্যাপেটাইজারে ৫০% ছাড়।
- মা দিবসের ডিনারে সন্ধ্যা ৬টা থেকে রাত ১০টা পর্যন্ত একটি কিনলে একটি ডেজার্ট বিনামূল্যে।
- প্রতি রবিবার সকাল ১০টা থেকে দুপুর ২টা পর্যন্ত ব্রাঞ্চের প্রধান খাবারের উপর ৫ ডলার ছাড়।
- সরাসরি এসে কিনলে ১০% ছাড়, এর সাথে প্রিমিয়াম গ্রাহকদের জন্য ৫% ছাড় এবং আপনার অ্যাপের মাধ্যমে পেমেন্ট করলে আরও ৫% ছাড় পাওয়া যাবে।
ইন্টিগ্রেশনে কোনো অফার অন্তর্ভুক্ত হওয়ার জন্য, সেটিকে অবশ্যই টেকনিক্যাল ডেটা মডেলের সাথে সামঞ্জস্যপূর্ণ হতে হবে এবং আমাদের যোগ্যতার শর্তাবলীও পূরণ করতে হবে। আপনার ইন্টিগ্রেশনটি নিয়ম মেনে চলছে কিনা তা নিশ্চিত করতে এবং যে অফারগুলো টেকনিক্যাল শর্ত পূরণ করে না সেগুলোর ক্ষেত্রে কী করতে হবে, সেই নির্দেশনার জন্য আমাদের অফার নীতিগুলো পর্যালোচনা করে নিন।
অফার বাস্তবায়ন
অফার ইন্টিগ্রেশনটিতে দুটি ফিড রয়েছে যা দৈনিক অথবা এমন একটি নির্দিষ্ট বিরতিতে আপলোড করা হবে যা উচ্চ নির্ভুলতা নিশ্চিত করে (অর্থাৎ, পুরনো হয়ে যাওয়া কমায়):
- হয় :
- মার্চেন্ট ফিড (
Merchantকনফিগারেশন ব্যবহার করে) - অথবা এনটিটি ফিড (
Genericকনফিগারেশন ব্যবহার করে)
- মার্চেন্ট ফিড (
- এবং ফিড অফার করে (
Genericকনফিগারেশন ব্যবহার করে)
অফারফিড
| ক্ষেত্রের নাম | প্রকার | প্রয়োজনীয়তা | বর্ণনা |
|---|---|---|---|
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 | বস্তু(Money) | | ছাড়ের নির্দিষ্ট পরিমাণ। |
other_offer_detail_text | স্ট্রিং | | ছাড়ের বিবরণ দেওয়ার জন্য এখানে একটি মুক্ত শৈলীর লেখা ব্যবহার করা যাবে। নির্দিষ্ট ১+১ অফারের (যেমন: ১+১ পানীয়, ১+১ প্রধান খাবার, ১+১ নির্বাচিত মেনু আইটেম) ক্ষেত্রে, সেই বিবরণ এখানে বর্ণনা করতে হবে। |
খরচ
| ক্ষেত্রের নাম | প্রকার | প্রয়োজনীয়তা | বর্ণনা |
|---|---|---|---|
amount | বস্তু(Money) | | |
amount_range | বস্তু(MoneyRange) | |
ডিনোমিনেশন_টাইপ
| ক্ষেত্রের নাম | প্রকার | প্রয়োজনীয়তা | বর্ণনা |
|---|---|---|---|
fixed_denominations | বস্তু(FixedDenominations) | | গিফট কার্ডটি যখন নির্দিষ্ট, স্থির পরিমাণে উপলব্ধ থাকে, তখন এটি ব্যবহার করা হয়। |
custom_range | বস্তু(MoneyRange) | | এটি তখন ব্যবহৃত হয় যখন ব্র্যান্ডটি ব্যবহারকারীদের একটি নির্দিষ্ট পরিসরের মধ্যে নিজস্ব (নমনীয়) অভিহিত মূল্য বেছে নেওয়ার সুযোগ দেয়। |
ফিড আপলোড
অফার ফিডটি 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 ক্যাশিং ডকুমেন্টেশনটি পড়ুন।