優惠
透過這項整合功能,你可以轉送商家促銷活動和折扣的結構化資訊,這些資訊會套用至特定時間的特定服務。優惠包含實際優惠 (折扣百分比、折扣金額等)、有效期限 (特定時間、星期幾等)、適用用途 (優惠只能用於特定服務),以及複雜的限制組合。
優惠範例:
- 12 月的星期三和星期四中午 12 點到下午 5 點,開胃菜五折
- 母親節晚餐 (下午 6 點至晚上 10 點) 買一送一
- 每週日上午 10 點到下午 2 點早午餐小菜折扣 NT$150 元
- 10% 的到店優惠,可與 Premium 訂閱者 5% 的折扣,以及透過應用程式付款的 5% 折扣併用。
如要將方案納入整合服務,方案必須符合技術資料模型,並符合資格規定。請務必詳閱優惠政策,確保整合符合規定,並瞭解如何處理不符合技術規定的優惠。
優惠導入作業
整合方案包含兩個動態饋給,每天或以確保高準確度 (即減少過時) 的頻率上傳:
OfferFeed
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
data | 物件陣列(Offer) |
優惠
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
offer_id | 字串 | 必填 | 優惠的專屬 ID。 必填。 |
entity_ids | 字串陣列 | 參與這項優惠的商家清單。 | |
add_on_offer_applicable_to_all_entities | 布林值 | 如果為 true,這項優惠適用於匯總器下的所有實體。 僅適用於加購優惠。 | |
offer_source | enum(OfferSource) | 必填 | 優惠可能由匯總器、個別商家提供,甚至是第三方提供的加購商品。必填。 |
action_type | enum(ActionType) | 必填 | 提供優惠的服務。offer_id 只能屬於一個 action_type。如果優惠可跨多種服務類型共用,則預期會為每種服務類型建立具有專屬 ID 的重複優惠。必填。 |
offer_modes | 列舉陣列(OfferMode) | 必填 | 可兌換優惠的方式,例如親自前往、預約、線上等。 必要。 |
offer_category | enum(OfferCategory) | 必填 | 優惠類別。 必填。 |
source_assigned_priority | 數字 | 非負整數 ([1-100],其中 1 代表最高優先順序),表示來源指派的方案優先順序。如果同一商家提供多項優惠,這會成為優惠排序的信號。0 代表未設定優先順序。 | |
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 | 字串 | 商家優惠頁面的網址。 如果 offer_category 為 OFFER_CATEGORY_BASE_OFFER,則為必填。 | |
tags | 列舉陣列(OfferTag) | 與優惠相關聯的特殊標籤。這項屬性可用來識別「節慶」、「評價最高」、「預訂次數最多」等特別優惠。 | |
brand_id | 字串 | 禮物卡交易必須提供這項資訊,才能識別提供交易的品牌。 | |
availability_level | enum(AvailabilityLevel) | 優惠的供應情況。 |
OfferDetails
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
offer_display_text | 字串 | 必填 | 供應商希望在搜尋結果網頁上向消費者顯示的優惠文字。請注意,這可能與使用者看到的內容不完全相同,我們可能會使用其他中繼資料重新撰寫/改寫內容。必填。 |
| oneOf(offer_specification) | 必填 | 這個 oneOf 中的欄位只能設定一個。 |
max_discount_value | 物件(Money) | 可享有的最高折扣。例如:最高可享 $100 美元折扣,折扣上限為 10%。 | |
min_spend_value | 物件(Money) | 享有折扣的最低消費金額。 例如:總價滿 $100 美元可享 9 折優惠。 | |
booking_cost | 物件(Money) | 預訂這項優惠的費用。舉例來說,如果預訂座位的費用為 $15 美元,最終帳單可折抵 $100 美元。 | |
booking_cost_unit | enum(FeeUnit) | 預訂費用的單位。例如每人每次交易。 | |
convenience_fee | 物件(Fee) | ||
booking_cost_adjustable | 布林值 | 預訂費用是否可調整,也就是從最終帳單中扣除預訂費用。例如: 預訂晚餐可享 7 折優惠。預訂費用為 $15 美元,將於最終帳單中扣除。因此最終帳單:總支出 - 30% - $15 | |
additional_fees | 物件陣列(AdditionalFee) | 向使用者收取的額外費用。 例如便利費、處理費、運費、包裝費、服務費等。 | |
offer_discount_type | enum(OfferDiscountType) | 折扣類型。 | |
gift_card_info | 物件(GiftCardInfo) | 禮物卡優惠的詳細資料。 |
金額
代表金額與其貨幣類型。
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
currency_code | 字串 | ISO 4217 中定義的三個英文字母貨幣代碼。 | |
units | 數字 | 金額的整數單位。
舉例來說,如果 currencyCode 為 "USD",則 1 個單位為 1 美元。 | |
nanos | 數字 | 金額的奈米 (10^-9) 單位數量。
這個值必須介於 -999,999,999 和 +999,999,999 (含) 之間。
如果 units 為正值,nanos 必須為正值或零。
如果 units 為零,則 nanos 可為正值、零或負值。
如果 units 為負值,nanos 就必須為負值或零。
例如,$-1.75 美元的表式方式為 units=-1 和 nanos=-750,000,000。 |
費用
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneOf(cost) | 這個 oneOf 中的欄位只能設定一個。 |
MoneyRange
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
min_amount | 物件(Money) | ||
max_amount | 物件(Money) |
AdditionalFee
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
name | 字串 | 必填 | 額外費用的名稱。例如手續費、處理費等。 必填。 |
fee | 物件(Fee) |
GiftCardInfo
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
| oneOf(denomination_type) | 這個 oneOf 中的欄位只能設定一個。 |
FixedDenominations
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
amounts | 物件陣列(Money) | 所有可用的離散面額清單 (例如 [100, 500, 1000])。 |
OfferRestrictions
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
combinable_with_other_offers | 布林值 | 這項優惠是否可與其他優惠併用。 如果設為 true,合作夥伴可以指定這項優惠可與哪些優惠合併使用。如果同時設定 combinable_offer_categories 和 combinable_offer_ids,只要符合上述任一條件,優惠就能合併。 | |
combinable_offer_categories | 列舉陣列(OfferCategory) | 這項優惠可與哪些類型的優惠合併使用。舉例來說,這項優惠可能可與其他優待券併用。如果 combinable_with_other_offers 為 true,且這個欄位未設定,則所有類型皆可合併使用。 | |
combinable_offer_ids | 字串陣列 | 可與這項優惠合併使用的 offer_id 清單。部分優惠可能只能與特定其他 offer_id (可視為父項優惠) 合併使用。如果 combinable_with_other_offers 為 true,且未設定這個欄位,所有優惠 ID 都能合併使用。 | |
inclusions | 物件陣列(OfferCondition) | 優惠生效的條件清單 (例如無酒精飲料、食物)。 | |
exclusions | 物件陣列(OfferCondition) | 會使優惠失效的條件清單 (例如自助餐、套餐優惠和雞尾酒)。 | |
min_guest | 數字 | 使用優惠的最低人數門檻。 注意:這個欄位僅適用於餐廳預訂,不應用於其他垂直領域。 | |
food_offer_restrictions | 物件(FoodOfferRestrictions) | 餐飲優惠的專屬限制。 | |
max_redemption_count | 數字 | 這項優惠的使用次數限制。值為 0 表示沒有限制。舉例來說,如果值為 3,表示使用者可使用這項優惠 3 次。 | |
max_total_discount_value | 物件(Money) | 這項優惠在多筆交易中可享的折扣上限。 | |
special_conditions | 字串陣列 | 必須向使用者顯示的本優惠特別條件。 例如:「僅適用於在 [區域] 付款」、「不適用於線上付款」、「特價期間可使用禮物券」。 |
OfferCondition
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
description | 字串 |
FoodOfferRestrictions
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
meal_types | 列舉陣列(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 | 物件(Money) | 必填 | 訂閱費用。 必填。 |
subscription_duration | 物件(Duration) | 必填 | 訂閱方案的效期多長,訂閱費用為 subscription_cost。 必填。 |
terms_and_conditions_url | 字串 | 與這項訂閱方案相關的合作夥伴條款及細則網址。 |
時間長度
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
seconds | 數字 | 時間範圍的秒數 (可為負值)。必須介於 -315,576,000,000 至 +315,576,000,000 之間 (含這兩個值)。注意:這些界限是根據以下項目計算得出: 60 秒/分鐘 * 60 分鐘/小時 * 24 小時/天 * 365.25 天/年 * 10000 年 | |
nanos | 數字 | 時間範圍的奈秒解析度,以秒為單位的正負分數。如果時間長度不到一秒,系統會以 0 seconds 欄位和正數或負數 nanos 欄位表示。如果時間長度為一秒以上,nanos 欄位的非零值必須與 seconds 欄位相同。必須介於 -999,999,999 至 +999,999,999 之間 (含)。 |
條款
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
url | 字串 | 合作夥伴條款及細則的網址。 | |
restricted_to_certain_users | 布林值 | 優惠是否僅限特定使用者。 | |
terms_and_conditions | 字串 | 合作夥伴提供的主要條款及細則文字。 | |
additional_terms_and_conditions | 字串陣列 | 除了合作夥伴的主要條款及細則外,還須遵守其他條款及細則。 |
ValidityPeriod
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
valid_period | 物件(ValidityRange) | 優惠的有效開始和結束時間戳記。 這些時間必須代表不同日期,也就是說,開始時間必須是 00:00 (當天開始),結束時間必須是有效期限結束當天的 00:00 (不含)。 | |
time_of_day | 物件陣列(TimeOfDayWindow) | 指定特定日期的有效時間間隔,以及優惠適用的日期。如要設定跨午夜的時間範圍 (例如晚上 10 點到凌晨 2 點),請為每一天分別設定時間範圍:一個範圍在晚上 11:59:59 結束,另一個範圍在次日凌晨 12:00 開始。例如:
週一:上午 10 點至下午 5 點
週二:上午 10 點至下午 2 點
週二:下午 5 點至晚上 7 點
週三、週四、週五、週六、週日:下午 3 點至晚上 7 點
如果未設定任何時間,表示優惠在 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 | 物件(Timestamp) | 範圍的結束時間 (不含)。 如未設定,表示這段期間永不結束。 選用項目。 |
時間戳記
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
seconds | 數字 | 代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 之間 (含),對應至 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z。 | |
nanos | 數字 | 以奈秒為單位的非負秒數小數。這個欄位是時間長度的奈秒部分,不是秒的替代值。如果第二個值為負數,且包含分數,奈秒值仍須為非負數,且會隨著時間遞增。必須介於 0 至 999,999,999 之間 (含)。 |
TimeOfDayWindow
TimeWindow 物件是複合實體,用於說明使用者訂單可下單或完成的時段清單。
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
time_windows | 物件(TimeOfDayRange) | 必填 | 可下單/完成訂單的時間範圍。 必填。 |
day_of_week | 列舉陣列(DayOfWeek) | 套用時段的每週天數清單。 如未設定,表示適用於一週的每一天。 選用項目。 | |
day_of_month | 物件陣列(DayOfMonthRange) | 政策套用的月份日期。 如未設定,表示適用於該月的所有日期。 選用項目。 |
TimeOfDayRange
封閉式開放時間範圍。
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
open_time | 物件(TimeOfDay) | 時間,表示範圍當天的開始時間 (含)。 如未設定,則表示 00:00:00。 選用項目。 | |
close_time | 物件(TimeOfDay) | 時間,表示範圍中一天的結束時間 (不含該時間)。 如未設定,則表示 23:59:59。 選用項目。 |
TimeOfDay
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
hours | 數字 | 以 24 小時制表示一天的小時數。必須大於或等於 0,且通常必須小於或等於 23。API 可能會允許「24:00:00」值,用於商家關門時間等情境。 | |
minutes | 數字 | 小時的第幾分鐘。必須大於或等於 0,且小於或等於 59。 | |
seconds | 數字 | 一分鐘內的第幾秒。必須大於或等於 0,且通常必須小於或等於 59。如果 API 允許閏秒,則可能允許值為 60。 | |
nanos | 數字 | 以奈秒為單位的秒數分數。必須大於或等於 0,且小於或等於 999,999,999。 |
DayOfMonthRange
適用於一年中所有月份的日期範圍。
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
valid_from_day | 數字 | 必填 | 範圍的開始日期 (含)。 必填。 |
valid_through_day | 數字 | 範圍的結束日期 (含)。 如未設定,表示這個範圍代表單一日期 (valid_from_day)。選用項目。 |
ValidTimeException
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
exceptional_period | 物件(ValidityRange) | 優惠無效的開始和結束時間戳記。 這些時間必須代表不同日期,也就是說,開始時間必須是 00:00 (當天開始),結束時間必須是例外狀況期間結束當天的 00:00 (不含)。 |
日期
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
year | 數字 | 日期年份。必須介於 1 至 9999 之間,或為 0 (指定不含年份的日期)。 | |
month | 數字 | 一年中的月份。必須介於 1 到 12 之間,或為 0 (指定年份,但不指定月份和日期)。 | |
day | 數字 | 當月第幾天。必須介於 1 到 31 之間,且適用於該年和該月,或 0 可單獨指定年份,或指定年份和月份,但日期不重要。 |
OfferSource
| 名稱 | 說明 |
|---|---|
OFFER_SOURCE_UNSPECIFIED | |
OFFER_SOURCE_AGGREGATOR |
ActionType
代表方案的履行模式。如果優惠可透過多種運送方式提供,則應為每種運送方式建立重複的優惠。
| 名稱 | 說明 |
|---|---|
ACTION_TYPE_UNSPECIFIED | |
ACTION_TYPE_FOOD_DELIVERY | 這項優惠適用於餐點外送服務。 |
ACTION_TYPE_FOOD_TAKEOUT | 這項優惠適用於外帶或自取餐點訂單。 |
ACTION_TYPE_DINING | 這項優惠適用於餐廳的內用服務。 |
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
優惠類別。基本優惠是所有顧客都能享有的標準優惠,例如消費滿 $100 美元可享 9 折優惠。如果基本方案受到優待券或付款方式限制,系統會設定相應的欄位。我們也提供加購 x 優惠,例如 ADD_ON_PAYMENT_OFFER。這類優惠可與其他優惠合併使用,以獲得額外折扣。
| 名稱 | 說明 |
|---|---|
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 | Friday (週五) |
SATURDAY | 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 | 表示優惠即將用完。建議使用者在兌換完畢前兌換。 我們日後可能會新增「中」和「高」設定。 |
offer_specification
折扣可以是百分比,也可以是從總值扣除的固定值。例如: 1. 最終帳單可享 9 折優惠。 2. 訂單可折抵 $15 美元。 商家也可以透過相關規格欄位提供自訂折扣,例如「買一送一」。 必填。
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
discount_percent | 數字 | 與「 | 帳單的折扣百分比。 [0, 100] 如果買一送一或 5 折優惠適用於整餐 (例如買一送一自助餐、買一送一整筆帳單、買一送一套餐),這個值可以設為 50。 |
discount_value | 物件(Money) | 與「 | 折扣的固定值。 |
other_offer_detail_text | 字串 | 與「 | 說明折扣的任意形式文字。 如果是買一送一優惠 (例如買一送一飲料、買一送一主餐、買一送一指定菜單項目),請在此說明詳細資訊。 |
費用
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
amount | 物件(Money) | 與 | |
amount_range | 物件(MoneyRange) | 與 |
denomination_type
| 欄位名稱 | 類型 | 規定 | 說明 |
|---|---|---|---|
fixed_denominations | 物件(FixedDenominations) | 與 | 禮物卡提供特定固定金額時使用。 |
custom_range | 物件(MoneyRange) | 與 | 當品牌允許使用者在定義範圍內選擇自訂 (彈性) 錶面值時使用。 |
動態饋給上傳
供應項目動態饋給必須上傳至 Generic 動態饋給安全檔案傳輸通訊協定伺服器。請參閱「如何使用一般動態饋給安全檔案傳輸通訊協定伺服器教學課程」的操作說明,並在描述元檔案中將 name 設為 google.offer。
上傳頻率
一般來說,Google 每天會上傳 1 個動態饋給。視貴商家更新優惠的頻率而定,上傳頻率可能會增加或減少,確保準確度維持在高水準。請洽詢 Google 合作夥伴業務聯絡人。
資料需要幾小時才會顯示在 Google 上。
優惠分類
OFFER_CATEGORY_BASE_OFFER:可單獨兌換的優惠,不必與其他優惠合併使用。包括:- 帳單金額固定折扣 (例如 8 折)
- 訂閱優惠 (例如:會員可免費獲得甜點)
- 如果餐廳沒有其他基本優惠,則提供付款優惠
- 注意:平台全面免除或減少費用的優惠不應設為基本優惠。
- 加購優惠:必須先兌換基本優惠才能兌換的優惠。包括:
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER(例如:使用特定信用卡可享額外 9 折優惠)OFFER_CATEGORY_ADD_ON_COUPON_OFFER(例如:使用特定優待券代碼可免費兌換飲料)OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER(例如:訂閱者可享額外 9 折優惠)OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER(例如免運費或運費折扣)
其他考量項目:
- 平台全面免除或減免費用的優惠不應設為基本優惠 (
OFFER_CATEGORY_BASE_OFFER),而應設為OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER,以輔助其他有效的基本優惠。 - 如果餐廳未設定基本方案,就不會顯示加購方案。
如果沒有基本方案,任何可兌換的付款、訂閱或優待券優惠 (不需加購其他優惠) 都必須標記為
OFFER_CATEGORY_BASE_OFFER。- 視類型而定,必須設定
PaymentInstrument、Subscription或Coupon的相關資料。 - 合作夥伴必須提供每項優惠的 2 份副本,以涵蓋優惠同時做為基本優惠和加購優惠的情境。接著,您可以使用
entity_ids或add_on_offer_applicable_to_all_entities,為多間餐廳設定加購商品優惠文案。
- 視類型而定,必須設定
- 如果餐廳有多個可疊加的基本優惠,所有基本優惠都應標記為
OFFER_CATEGORY_BASE_OFFER,且付款、訂閱或優惠券基本優惠應另外以相關加購優惠類型傳送。 ValidityPeriod只有在沒有有效基本方案時,才應使用此方法啟用加購方案。- 依付款方式合併相同優惠:如果多種付款方式提供完全相同的折扣值 (例如信用卡、簽帳金融卡和網路銀行都提供 5% 折扣),請將這些付款方式歸入單一合併的
Offer物件,而非傳送重複的個別優惠。如要這麼做,請在payment_instrument.items清單中填入所有適用的付款方式。這樣可減少 Google 介面上的版面配置雜亂,並避免因重複限制過多而導致排名下降。
情境示例:
餐廳提供特定信用卡 95 折優惠,以及使用特定優待券代碼可享免費飲料
- 信用卡 5% 折扣優惠應以 2 份副本傳送,一份標記為
OFFER_CATEGORY_BASE_OFFER,另一份標記為OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER,並附上PaymentInstrument詳細資料。 - 如果優惠是提供免費飲料,請以
OFFER_CATEGORY_ADD_ON_COUPON_OFFER形式傳送,並附上Coupon詳細資料。
- 信用卡 5% 折扣優惠應以 2 份副本傳送,一份標記為
餐廳提供 9 折優惠給上門顧客,並提供 95 折優惠給使用特定信用卡付款的顧客,這兩項優惠可合併使用。
- 10% 買一送一優惠應標記為
OFFER_CATEGORY_BASE_OFFER。 - 信用卡 95 折優惠應有 2 份,其中一份標記為
OFFER_CATEGORY_BASE_OFFER,另一份標記為OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER。
- 10% 買一送一優惠應標記為
餐廳提供平日午餐 9 折優惠,以及使用特定信用卡付款時的 95 折優惠。
- 10% 折扣優惠應已設定
ValidityPeriod,僅在平日午餐時段提供。 - 信用卡 95 折優惠應以 2 份副本的形式傳送。
- 其中一份副本應標示為
OFFER_CATEGORY_BASE_OFFER,並附上PaymentInstrument詳細資料。ValidityPeriod應設為排除平日午餐時段,以啟用午餐 9 折優惠 - 其中一份副本應標記為
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER,並附上PaymentInstrument詳細資料。
- 其中一份副本應標示為
- 這間餐廳的所有其他付款優惠都應標記為
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER。
- 10% 折扣優惠應已設定
開發與上線程序
在整合過程中,合作夥伴入口網站會根據您的開發進度,提供相關資訊和意見回饋。開發程序會遵循下列流程:
- 先在沙箱環境中開發整合服務。您應在 Google 沙箱環境中使用正式版匯出內容 (或直接使用正式版資料)。這有助於確保開發作業能涵蓋所有極端情況,並讓 Google 評估資料品質,根據資料模型提供更完善的協助。
- 當您開始持續將完整的每日「商家」、「服務」和「優惠」動態饋給 上傳到 Google 沙箱環境,Google 團隊就會評估您的 動態饋給。Google 團隊核准後,您就可以將程式碼推送至正式版,並開始將正式版資料傳送至 Google 正式版環境。
- 當您完整測試「正式版」整合服務後,Google 團隊也會進行測試。完成所有測試後,整合項目就會正式推出。
監控
為確保使用者體驗良好,Google 會在發布前後檢查提供的優惠是否有效、正確且符合政策條件。為此,Google 會結合人工和自動化審查。你可以在行動中心 (僅限正式環境) 的方案資訊主頁中查看這些審查結果。這項監控的結果可能會影響產品的排名。
請確保網頁載入所有優惠內容的時間少於 5 秒,否則系統會將其視為失敗,並標示為 Bad link。
自動檢查 (檢索器)
Google 品質團隊會導入檢索器。檢索器是自動執行網頁瀏覽器指令碼,可點選某些項目並擷取產品資訊,僅供品質測試之用。
查詢次數
舉例來說,如果我們決定每天傳送 5,000 次檢查,表示我們的檢索器每天會執行 5,000 次下列動作 (平均分配在一天內,大約每 17 秒一次),就像一般使用者一樣:
- 從 Google 搜尋開始,然後點選合作夥伴連結。
- 尋找優惠資訊。
- 如果優惠需要預訂,系統會繼續執行預訂流程,確認優惠在指定時間是否適用 (不會進行預訂)。
網頁資料擷取器偵測
為確保網頁擷取器不會遭到禁止 (這可能導致系統判定優惠不適用),請確認系統允許網頁擷取器隨時查詢你的網頁。如何辨識我們的網頁抓取工具:
- 網路刮除工具 User-Agent 會包含「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
- 您也可以按照「驗證 Googlebot 和其他 Google 檢索器的身分」一文的建議,使用反向 DNS 檢查呼叫是否來自 Google。在本範例中,反向 DNS 解析遵循下列模式:
google-proxy-***-***-***-***.google.com。
技術行為
快取
為減少合作夥伴網站的負載,我們的檢索器通常會設定為遵守回應中出現的所有標準 HTTP 快取標頭。也就是說,對於設定正確的網站,我們會避免重複擷取很少變更的內容 (例如 JavaScript 程式庫)。如要進一步瞭解如何實作快取,請參閱這份 HTTP 快取說明文件。