Tổng quan

Những đối tác tham gia quy trình tích hợp ưu đãi phải hoàn tất bước thiết lập tài khoản cho một Người bán hoặc Pháp nhân (thử nghiệm) dựa trên quy trình tích hợp trước khi bắt đầu. Việc triển khai, kiểm thử và ra mắt tính năng tích hợp ưu đãi sẽ được trình bày chi tiết trong hướng dẫn này. Hãy đọc kỹ thông tin tổng quan này và các chính sách về sản phẩm trước khi thực hiện các bước tích hợp.

Phiếu mua hàng

Tính năng tích hợp ưu đãi cho phép bạn chuyển thông tin có cấu trúc về chương trình khuyến mãi và chiết khấu của người bán được áp dụng cho các dịch vụ cụ thể vào những thời điểm cụ thể. Ưu đãi bao gồm ưu đãi thực tế (giảm phần trăm, giảm giá theo số tiền ...), khoảng thời gian có hiệu lực (thời gian cụ thể, ngày trong tuần ...) và các trường hợp sử dụng áp dụng (ưu đãi chỉ có thể được sử dụng trên một số dịch vụ nhất định) cũng như các tổ hợp phức tạp của các hạn chế.

Ví dụ về các ưu đãi:

  • Giảm một nửa giá món khai vị vào thứ Tư và thứ Năm trong tháng 12, từ 12 giờ trưa đến 5 giờ chiều
  • Mua một tặng một món tráng miệng miễn phí cho bữa tối nhân Ngày của Mẹ từ 18:00 đến 22:00
  • Giảm 5 USD cho một món ăn trong bữa sáng muộn vào mỗi Chủ Nhật từ 10 giờ sáng đến 2 giờ chiều
  • Giảm 10% cho khách hàng đến trực tiếp, có thể kết hợp với ưu đãi giảm 5% cho người đăng ký gói thuê bao cao cấp và giảm 5% nếu người dùng thanh toán qua ứng dụng của bạn.

Để được đưa vào quy trình tích hợp, ưu đãi cần phải phù hợp với mô hình dữ liệu kỹ thuật cũng như đáp ứng các yêu cầu của chúng tôi. Hãy nhớ xem chính sách về sản phẩm của chúng tôi để đảm bảo việc tích hợp của bạn tuân thủ chính sách và xem hướng dẫn về việc cần làm đối với những sản phẩm không đáp ứng các yêu cầu kỹ thuật.

Triển khai ưu đãi

Việc tích hợp ưu đãi bao gồm 2 nguồn cấp dữ liệu sẽ được tải lên hằng ngày hoặc theo tần suất đảm bảo độ chính xác cao (nghĩa là giảm tình trạng dữ liệu cũ):

OfferFeed

Tên trườngLoạiYêu cầuMô tả
datamảng đối tượng
(Offer)

Ưu đãi

Tên trườngLoạiYêu cầuMô tả
offer_idchuỗi

Bắt buộc

Mã nhận dạng duy nhất của ưu đãi. Bắt buộc.
entity_idsmảng chuỗi

Danh sách những người bán đang tham gia chương trình ưu đãi này.
add_on_offer_applicable_to_all_entitiesboolean

Nếu đúng, ưu đãi này áp dụng cho tất cả các thực thể thuộc đơn vị tổng hợp. Chỉ áp dụng cho các ưu đãi bổ sung.
offer_sourceenum
(OfferSource)

Bắt buộc

Một nhà tổng hợp, một người bán riêng lẻ hoặc thậm chí là một bên thứ ba có thể cung cấp ưu đãi dưới dạng một tiện ích bổ sung. Bắt buộc.
action_typeenum
(ActionType)

Bắt buộc

Dịch vụ cung cấp ưu đãi. Một offer_id chỉ có thể thuộc về một action_type. Nếu một ưu đãi có thể được chia sẻ trên nhiều loại dịch vụ, thì bạn cần tạo các ưu đãi trùng lặp có mã nhận dạng riêng cho từng loại dịch vụ. Bắt buộc.
offer_modesmảng enum
(OfferMode)

Bắt buộc

Các phương thức mà bạn có thể sử dụng ưu đãi – đến trực tiếp, đặt trước, trực tuyến, v.v. Bắt buộc.
offer_categoryenum
(OfferCategory)

Bắt buộc

Danh mục của ưu đãi. Bắt buộc.
source_assigned_prioritysố

Số nguyên không âm ([1-100], trong đó 1 là mức độ ưu tiên cao nhất) cho biết mức độ ưu tiên của mặt hàng do nguồn chỉ định. Khi có nhiều mặt hàng của cùng một người bán, đây sẽ là một tín hiệu để xếp hạng mặt hàng. 0 có nghĩa là bạn chưa đặt mức độ ưu tiên.
offer_detailsobject
(OfferDetails)

Bắt buộc

Thông tin chi tiết về ưu đãi, chẳng hạn như chiết khấu, chi phí đặt phòng, v.v. Bắt buộc.
offer_restrictionsobject
(OfferRestrictions)

Bắt buộc

Mô tả cách ưu đãi bị hạn chế, tức là liệu có cần gói thuê bao/công cụ thanh toán hay không, liệu ưu đãi này có thể kết hợp với các ưu đãi khác (và những loại ưu đãi nào) hay không, v.v. Bắt buộc.
couponobject
(Coupon)

Thông tin chi tiết về phiếu giảm giá. Bắt buộc đối với offer_category: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.
payment_instrumentobject
(PaymentInstrument)

Thông tin chi tiết về một phương thức thanh toán. Bắt buộc đối với offer_category: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
subscriptionobject
(Subscription)

Thông tin chi tiết về gói thuê bao. Bắt buộc đối với offer_category: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.
termsobject
(Terms)

Bắt buộc

Điều khoản và điều kiện của ưu đãi. Bắt buộc.
validity_periodsmảng đối tượng
(ValidityPeriod)

Bắt buộc

Thời hạn hiệu lực của ưu đãi. Mô tả khoảng thời gian mà ưu đãi có hiệu lực, bao gồm thời gian bắt đầu và thời gian kết thúc, ngày trong tuần, v.v. Bắt buộc.
offer_urlchuỗi

URL đến trang ưu đãi của người bán. Bắt buộc đối với offer_category: OFFER_CATEGORY_BASE_OFFER.
image_urlchuỗi

URL đến hình ảnh sản phẩm của người bán.

OfferDetails

Tên trườngLoạiYêu cầuMô tả
offer_display_textchuỗi

Bắt buộc

Văn bản ưu đãi mà nhà cung cấp ưu đãi muốn hiển thị cho khách hàng trên trang kết quả tìm kiếm. Bắt buộc.
oneOf
(offer_specification)

Bắt buộc

Bạn chỉ có thể đặt một trong các trường trong oneOf này.
max_discount_valueobject
(Money)

Mức chiết khấu tối đa mà bạn có thể nhận được. Ví dụ: Giảm giá 10% cho tối đa 1.000.000 VND.
min_spend_valueobject
(Money)

Giá trị chi tiêu tối thiểu để được hưởng chiết khấu. Ví dụ: Giảm 10% khi tổng giá trị đơn hàng từ 1.000.000 VND trở lên.
booking_costobject
(Money)

Chi phí để đặt ưu đãi này. Ví dụ: Giảm 100 đô la cho hoá đơn cuối cùng khi đặt bàn với giá 15 đô la.
booking_cost_unitenum
(FeeUnit)

Đơn vị của chi phí đặt phòng. Ví dụ: mỗi người, mỗi giao dịch.
convenience_feeobject
(Fee)

booking_cost_adjustableboolean

Chi phí đặt phòng có thể điều chỉnh hay không, tức là chi phí đặt phòng được trừ vào hoá đơn cuối cùng. Ví dụ: Giảm giá 30% cho bữa tối khi đặt chỗ. Chi phí đặt trước là 15 USD và sẽ được áp dụng cho hoá đơn cuối cùng. Do đó, hoá đơn cuối cùng là: Tổng số tiền đã chi tiêu – 30% – 15 đô la Mỹ
additional_feesmảng đối tượng
(AdditionalFee)

Các khoản phí bổ sung mà người dùng phải trả. Ví dụ: sự tiện lợi, cách xử lý, v.v.

Tiền

Biểu thị một số tiền cùng với loại đơn vị tiền tệ.

Tên trườngLoạiYêu cầuMô tả
currency_codechuỗi

Mã đơn vị tiền tệ gồm 3 chữ cái được xác định trong ISO 4217.
unitschuỗi

Đơn vị số nguyên của số tiền. Ví dụ: nếu currencyCode"USD", thì 1 đơn vị là 1 đô la Mỹ.
nanossố

Số lượng đơn vị nano (10^-9) của số tiền. Giá trị phải nằm trong khoảng từ -999.999.999 đến +999.999.999 (bao gồm). Nếu units là số dương, thì nanos phải là số dương hoặc 0. Nếu units bằng 0, thì nanos có thể là số dương, số 0 hoặc số âm. Nếu units là số âm, thì nanos phải là số âm hoặc 0. Ví dụ: -1,75 USD được biểu thị là units=-1 và nanos=-750.000.000.

Phí

Tên trườngLoạiYêu cầuMô tả
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

Bạn chỉ có thể đặt một trong các trường trong oneOf này.

MoneyRange

Tên trườngLoạiYêu cầuMô tả
min_amountobject
(Money)

max_amountobject
(Money)

AdditionalFee

Tên trườngLoạiYêu cầuMô tả
namechuỗi

Bắt buộc

Tên của khoản phí bổ sung. Ví dụ: phí tiện lợi, phí xử lý, v.v. Bắt buộc.
feeobject
(Fee)

OfferRestrictions

Tên trườngLoạiYêu cầuMô tả
combinable_with_other_offersboolean

Ưu đãi này có thể kết hợp với các ưu đãi khác hay không. Khi đúng, đối tác có thể chỉ định những mặt hàng mà mặt hàng này có thể kết hợp. Nếu bạn đặt cả combinable_offer_categories và combinable_offer_ids thì mọi ưu đãi đáp ứng một trong các điều kiện trên đều có thể kết hợp.
combinable_offer_categoriesmảng enum
(OfferCategory)

Danh sách các loại mặt hàng mà bạn có thể kết hợp với mặt hàng này. Ví dụ: ưu đãi này có thể kết hợp với các Phiếu giảm giá khác. Nếu combinable_with_other_offers là true và bạn chưa đặt trường này, thì tất cả các loại đều có thể kết hợp.
combinable_offer_idsmảng chuỗi

Danh sách offer_id mà ưu đãi này có thể kết hợp. Một số ưu đãi chỉ có thể kết hợp với một số offer_id cụ thể khác (có thể được coi là ưu đãi mẹ). Nếu combinable_with_other_offers là true và bạn chưa đặt trường này, thì tất cả mã ưu đãi đều có thể kết hợp.
inclusionsmảng đối tượng
(OfferCondition)

Danh sách các điều kiện phải đáp ứng để ưu đãi có hiệu lực (ví dụ: đồ uống không cồn, thức ăn).
exclusionsmảng đối tượng
(OfferCondition)

Danh sách các điều kiện khiến ưu đãi không hợp lệ (ví dụ: ưu đãi buffet, ưu đãi kết hợp và ưu đãi cocktail).
min_guestsố

Số người tối thiểu cần thiết để sử dụng ưu đãi.
food_offer_restrictionsobject
(FoodOfferRestrictions)

Các quy định hạn chế dành riêng cho mặt hàng thực phẩm.

OfferCondition

Tên trườngLoạiYêu cầuMô tả
descriptionchuỗi

FoodOfferRestrictions

Tên trườngLoạiYêu cầuMô tả
meal_typesmảng enum
(MealType)

Các loại bữa ăn mà bạn có thể áp dụng ưu đãi, chẳng hạn như bữa trưa hoặc bữa tối. Nếu bạn không đặt, thì ưu đãi có thể áp dụng cho tất cả các loại bữa ăn.
restricted_to_certain_coursesboolean

Ưu đãi chỉ có thể áp dụng cho một số khoá học nhất định hay không.

Phiếu

Tên trườngLoạiYêu cầuMô tả
textchuỗi

Văn bản phiếu giảm giá mà nhà cung cấp ưu đãi muốn hiển thị cho người dùng.
codechuỗi

Bắt buộc

Bạn phải có mã giảm giá để sử dụng ưu đãi. Bắt buộc.

PaymentInstrument

Tên trườngLoạiYêu cầuMô tả
itemsmảng đối tượng
(PaymentInstrumentItem)

Bắt buộc

Danh sách các công cụ thanh toán có thể dùng để nhận ưu đãi. Bắt buộc.
provider_namechuỗi

Bắt buộc

Tên của nhà cung cấp phương thức thanh toán. Có thể là đối tác ngân hàng, tên ngân hàng, v.v. Ví dụ: American Express, HDFC, ICICI. Bắt buộc.

PaymentInstrumentItem

Tên trườngLoạiYêu cầuMô tả
typeenum
(PaymentInstrumentType)

Bắt buộc

Loại công cụ thanh toán. Bắt buộc.
namechuỗi

Bắt buộc

Tên của mục công cụ thanh toán, chẳng hạn như tên của thẻ tín dụng. Ví dụ: HDFC Infinia, American Express Platinum. Bắt buộc.

Gói đăng ký

Tên trườngLoạiYêu cầuMô tả
namechuỗi

Bắt buộc

Tên của gói thuê bao. Bắt buộc.
subscription_auto_addedboolean

Liệu gói thuê bao có được tự động thêm khi người dùng sử dụng ưu đãi này hay không
costobject
(Money)

Bắt buộc

Chi phí của gói thuê bao. Bắt buộc.
subscription_durationobject
(Duration)

Bắt buộc

Thời gian gói thuê bao có hiệu lực tại subscription_cost. Bắt buộc.
terms_and_conditions_urlchuỗi

URL dẫn đến điều khoản và điều kiện của đối tác liên quan đến gói thuê bao này.

Thời lượng

Tên trườngLoạiYêu cầuMô tả
secondschuỗi

Số giây đã ký của khoảng thời gian. Giá trị phải nằm trong khoảng từ -315.576.000.000 đến +315.576.000.000. Lưu ý: các giới hạn này được tính từ: 60 giây/phút * 60 phút/giờ * 24 giờ/ngày * 365,25 ngày/năm * 10.000 năm
nanossố

Phân số có dấu của một giây ở độ phân giải nano giây của khoảng thời gian. Khoảng thời gian dưới một giây được biểu thị bằng trường 0 seconds và trường nanos dương hoặc âm. Đối với thời lượng từ một giây trở lên, giá trị khác 0 cho trường nanos phải có cùng dấu với trường seconds. Phải nằm trong khoảng từ -999.999.999 đến +999.999.999.

Điều khoản

Tên trườngLoạiYêu cầuMô tả
urlchuỗi

URL dẫn đến điều khoản và điều kiện của đối tác.
restricted_to_certain_usersboolean

Ưu đãi có bị giới hạn cho một số người dùng nhất định hay không.
terms_and_conditionschuỗi

Văn bản chính về Điều khoản và điều kiện do đối tác cung cấp.
additional_terms_and_conditionsmảng chuỗi

Điều khoản và điều kiện bổ sung ngoài điều khoản và điều kiện chính của đối tác.

ValidityPeriod

Tên trườngLoạiYêu cầuMô tả
valid_periodobject
(ValidityRange)

Dấu thời gian bắt đầu và kết thúc mà ưu đãi có hiệu lực. Những thời gian này phải đại diện cho các ngày riêng biệt, tức là thời gian bắt đầu phải là 00:00 (bắt đầu ngày) và thời gian kết thúc phải là 00:00 (không bao gồm) vào ngày hết hạn.
time_of_daymảng đối tượng
(TimeOfDayWindow)

Chỉ định khoảng thời gian hợp lệ trong một ngày nhất định và những ngày có thể cung cấp ưu đãi. Ví dụ: Thứ Hai: 10:00 đến 17:00 Thứ Ba: 10:00 đến 14:00 Thứ Ba: 17:00 đến 19:00 Thứ Tư, Thứ Năm, Thứ Sáu, Thứ Bảy, Chủ Nhật: 15:00 đến 19:00 Nếu bạn không đặt thời gian, tức là ưu đãi có hiệu lực trong suốt thời gian trong valid_period.
time_exceptionsmảng đối tượng
(ValidTimeException)

Chỉ định các trường hợp ngoại lệ cho valid_period và valid_time_of_week ở trên

ValidityRange

Một dải dấu thời gian đóng-mở.

Tên trườngLoạiYêu cầuMô tả
valid_from_timeobject
(Timestamp)

Bắt buộc

Thời gian bắt đầu của phạm vi (bao gồm cả giá trị đầu và giá trị cuối). Bắt buộc.
valid_through_timeobject
(Timestamp)

Thời gian kết thúc của phạm vi (không bao gồm). Nếu bạn không đặt, tức là khoảng thời gian này không bao giờ kết thúc. Không bắt buộc.

Dấu thời gian

Tên trườngLoạiYêu cầuMô tả
secondschuỗi

Biểu thị số giây của thời gian UTC kể từ thời gian bắt đầu của hệ thống Unix 1970-01-01T00:00:00Z. Phải nằm trong khoảng từ 0001-01-01T00:00:00Z đến 9999-12-31T23:59:59Z.
nanossố

Phân số không âm của một giây ở độ phân giải nano giây. Giá trị giây âm có phân số vẫn phải có giá trị nano giây không âm để đếm thời gian. Phải nằm trong khoảng từ 0 đến 999.999.999.

TimeOfDayWindow

Đối tượng TimeWindow là một thực thể tổng hợp mô tả danh sách các khung giờ mà đơn đặt hàng của người dùng có thể được đặt hoặc thực hiện.

Tên trườngLoạiYêu cầuMô tả
time_windowsobject
(TimeOfDayRange)

Bắt buộc

Khoảng thời gian có thể đặt/thực hiện đơn đặt hàng. Bắt buộc.
day_of_weekmảng enum
(DayOfWeek)

Danh sách các ngày trong tuần mà cửa sổ được áp dụng. Nếu bạn không đặt giá trị nào, tức là chính sách này áp dụng cho tất cả các ngày trong tuần. Không bắt buộc.

TimeOfDayRange

Một khoảng thời gian đóng-mở.

Tên trườngLoạiYêu cầuMô tả
open_timeobject
(TimeOfDay)

Thời gian cho biết thời điểm bắt đầu trong ngày của phạm vi (bao gồm cả giá trị đầu và giá trị cuối). Nếu bạn không đặt giá trị này, thì giá trị mặc định là 00:00:00. Không bắt buộc.
close_timeobject
(TimeOfDay)

Thời gian cho biết thời gian kết thúc của ngày trong phạm vi (không bao gồm). Nếu bạn không đặt chính sách này, thì chính sách mặc định sẽ là 23:59:59. Không bắt buộc.

TimeOfDay

Tên trườngLoạiYêu cầuMô tả
hourssố

Giờ trong ngày ở định dạng 24 giờ. Phải lớn hơn hoặc bằng 0 và thường phải nhỏ hơn hoặc bằng 23. Một API có thể chọn cho phép giá trị "24:00:00" cho các trường hợp như giờ đóng cửa của doanh nghiệp.
minutessố

Số phút trong một giờ. Phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 59.
secondssố

Số giây trong một phút. Phải lớn hơn hoặc bằng 0 và thường phải nhỏ hơn hoặc bằng 59. Một API có thể cho phép giá trị 60 nếu cho phép giây nhuận.
nanossố

Phân số của giây, tính bằng nano giây. Phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 999.999.999.

ValidTimeException

Tên trườngLoạiYêu cầuMô tả
exceptional_periodobject
(ValidityRange)

Dấu thời gian bắt đầu và kết thúc mà ưu đãi không hợp lệ. Những thời gian này phải đại diện cho các ngày riêng biệt, tức là thời gian bắt đầu phải là 00:00 (bắt đầu ngày) và thời gian kết thúc phải là 00:00 (không bao gồm) vào ngày kết thúc khoảng thời gian ngoại lệ.

OfferSource

TênMô tả
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

ActionType

TênMô tả
ACTION_TYPE_UNSPECIFIED
ACTION_TYPE_DINING

OfferMode

TênMô tả
OFFER_MODE_OTHER
OFFER_MODE_WALK_IN
OFFER_MODE_FREE_RESERVATION
OFFER_MODE_PAID_RESERVATION
OFFER_MODE_ONLINE_ORDER

OfferCategory

Danh mục của ưu đãi. Ưu đãi cơ bản là ưu đãi tiêu chuẩn dành cho tất cả khách hàng, chẳng hạn như giảm giá 10% cho khách hàng chi tiêu trên 1.000.000 VND. Một sản phẩm cơ bản bị hạn chế bởi phiếu giảm giá hoặc phương thức thanh toán sẽ có các trường tương ứng được đặt. Chúng tôi cũng có các ưu đãi bổ sung như ADD_ON_PAYMENT_OFFER. Bạn có thể thêm những ưu đãi như vậy vào các ưu đãi khác để được chiết khấu thêm.

TênMô tả
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

FeeUnit

TênMô tả
FEE_UNIT_UNSPECIFIED
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

TênMô tả
FEE_TYPE_UNSPECIFIED
FEE_TYPE_FIXED
FEE_TYPE_VARIABLE

MealType

TênMô tả
MEAL_TYPE_UNSPECIFIED
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

TênMô tả
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED
PAYMENT_INSTRUMENT_CREDIT_CARD
PAYMENT_INSTRUMENT_DEBIT_CARD
PAYMENT_INSTRUMENT_BANK_ACCOUNT
PAYMENT_INSTRUMENT_UPI
PAYMENT_INSTRUMENT_ONLINE_WALLET

DayOfWeek

Biểu thị một ngày trong tuần.

TênMô tả
DAY_OF_WEEK_UNSPECIFIEDNgày trong tuần không được chỉ định.
MONDAYThứ Hai
TUESDAYTuesday (thứ Ba)
WEDNESDAYWednesday (thứ Tư)
THURSDAYThursday (thứ Năm)
FRIDAYFriday (thứ Sáu)
SATURDAYSaturday (thứ Bảy)
SUNDAYChủ Nhật

offer_specification

Chiết khấu có thể là tỷ lệ phần trăm hoặc giá trị cố định được trừ vào tổng giá trị. Ví dụ: 1. Giảm 10% cho hoá đơn cuối cùng. 2. Giảm 15 đô la cho một đơn đặt hàng. Người bán cũng có thể cung cấp chiết khấu tuỳ chỉnh như "mua một tặng một" thông qua các trường thông số kỹ thuật có liên quan. Bắt buộc.

Tên trườngLoạiYêu cầuMô tả
discount_percentsố

Loại trừ lẫn nhau với discount_value, other_offer_detail_text

Tỷ lệ phần trăm hoá đơn được chiết khấu. [0, 100] Đối với ưu đãi 1 tặng 1 hoặc giảm giá 50% áp dụng cho toàn bộ bữa ăn (ví dụ: ưu đãi 1 tặng 1 cho bữa ăn tự chọn, ưu đãi 1 tặng 1 cho toàn bộ hoá đơn, ưu đãi 1 tặng 1 cho thực đơn cố định), bạn có thể đặt giá trị này thành 50.
discount_valueobject
(Money)

Loại trừ lẫn nhau với discount_percent, other_offer_detail_text

Giá trị cố định của chiết khấu.
other_offer_detail_textchuỗi

Loại trừ lẫn nhau với discount_percent, discount_value

Văn bản dạng tự do để mô tả chiết khấu. Đối với các ưu đãi 1+1 cụ thể (ví dụ: 1+1 đồ uống, +1 món chính, 1+1 món ăn chọn lọc), bạn nên mô tả những thông tin chi tiết này tại đây.

chi phí

Tên trườngLoạiYêu cầuMô tả
amountobject
(Money)

Loại trừ lẫn nhau với amount_range

amount_rangeobject
(MoneyRange)

Loại trừ lẫn nhau với amount

Tải nguồn cấp dữ liệu lên

Bạn phải tải Nguồn cấp dữ liệu về mặt hàng lên máy chủ SFTP của nguồn cấp dữ liệu Generic. Hãy làm theo Hướng dẫn cách sử dụng máy chủ SFTP nguồn cấp dữ liệu chung để biết hướng dẫn và sử dụng name được đặt thành google.offer trong tệp mô tả của bạn.

Tần suất tải lên

Nhìn chung, Google dự kiến bạn sẽ tải 1 nguồn cấp dữ liệu lên mỗi ngày. Bạn có thể tăng hoặc giảm tần suất tuỳ thuộc vào tần suất cập nhật mặt hàng của bạn để đảm bảo độ chính xác luôn ở mức cao. Tham khảo ý kiến của đầu mối liên hệ (POC) của Google.

Dữ liệu sẽ mất vài giờ để xuất hiện trên Google.

Phân loại ưu đãi

  • OFFER_CATEGORY_BASE_OFFER: Ưu đãi có thể được nhận độc lập mà không cần kết hợp với bất kỳ ưu đãi nào khác. Trong đó có:
    • Chiết khấu cố định cho toàn bộ hoá đơn (ví dụ: Giảm 20%)
    • Ưu đãi gói thuê bao (ví dụ: Miễn phí món tráng miệng khi là thành viên)
    • Ưu đãi thanh toán trong trường hợp không có ưu đãi cơ bản nào khác cho nhà hàng
  • Ưu đãi bổ sung: Ưu đãi yêu cầu người dùng phải nhận ưu đãi cơ bản. Những thông tin này bao gồm:
    • OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER (ví dụ: Giảm thêm 10% khi dùng thẻ tín dụng cụ thể)
    • OFFER_CATEGORY_ADD_ON_COUPON_OFFER (ví dụ: Đồ uống miễn phí khi sử dụng một mã giảm giá cụ thể)
    • OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER (ví dụ: Giảm thêm 10% cho người đăng ký)

Những điểm khác cần cân nhắc:

  • Khi một nhà hàng không đặt Ưu đãi cơ bản, các ưu đãi Bổ sung sẽ không xuất hiện. Nếu không có Ưu đãi cơ bản, thì mọi Ưu đãi thanh toán, Ưu đãi thuê bao hoặc Ưu đãi phiếu giảm giá có thể được áp dụng mà không cần phải thêm vào một ưu đãi khác đều phải được gắn thẻ là OFFER_CATEGORY_BASE_OFFER.
    • Tuỳ thuộc vào loại, bạn phải đặt dữ liệu liên quan cho PaymentInstrument, Subscription hoặc Coupon.
    • Đối tác phải cung cấp 2 bản sao của từng ưu đãi này để bao gồm các trường hợp mà họ hoạt động với tư cách là cả Ưu đãi cơ bản và Ưu đãi bổ sung. Sau đó, bạn có thể đặt bản sao của Ưu đãi bổ sung cho nhiều nhà hàng bằng cách sử dụng entity_ids hoặc add_on_offer_applicable_to_all_entities.
  • Khi một nhà hàng có nhiều Ưu đãi cơ bản có thể kết hợp, tất cả Ưu đãi cơ bản đều phải được gắn thẻ là OFFER_CATEGORY_BASE_OFFER và Ưu đãi cơ bản là Ưu đãi thanh toán, Ưu đãi thuê bao hoặc Ưu đãi phiếu giảm giá phải được gửi thêm dưới dạng loại Ưu đãi bổ sung có liên quan.
  • Bạn chỉ nên dùng ValidityPeriod để kích hoạt các ưu đãi bổ sung dưới dạng ưu đãi cơ bản khi không có ưu đãi cơ bản nào đang hoạt động.

Các trường hợp ví dụ:

  • Một nhà hàng giảm giá 5% khi thanh toán bằng một thẻ tín dụng cụ thể và tặng đồ uống miễn phí khi dùng một mã giảm giá cụ thể

    • Bạn nên gửi ưu đãi giảm giá 5% khi thanh toán bằng thẻ tín dụng dưới dạng 2 bản sao, một bản sao được gắn thẻ là OFFER_CATEGORY_BASE_OFFER và một bản sao được gắn thẻ là OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER, trong đó có thông tin chi tiết về PaymentInstrument.
    • Bạn nên gửi ưu đãi đồ uống miễn phí kèm mã giảm giá dưới dạng OFFER_CATEGORY_ADD_ON_COUPON_OFFER có thông tin Coupon.
  • Một nhà hàng giảm giá 10% cho khách vãng lai và giảm giá 5% khi thanh toán bằng một thẻ tín dụng cụ thể. Bạn có thể kết hợp cả hai chương trình này.

    • Ưu đãi giảm 10% cho khách hàng đến trực tiếp phải được gắn thẻ là OFFER_CATEGORY_BASE_OFFER.
    • Ưu đãi giảm 5% khi dùng thẻ tín dụng phải có 2 bản sao, trong đó có một bản sao được gắn thẻ là OFFER_CATEGORY_BASE_OFFER và một bản sao được gắn thẻ là OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
  • Một nhà hàng chỉ giảm giá 10% cho bữa trưa vào các ngày trong tuần và giảm giá 5% bất cứ lúc nào khi thanh toán bằng một thẻ tín dụng cụ thể.

    • Ưu đãi giảm giá 10% phải có ValidityPeriod được đặt thành chỉ trong giờ ăn trưa của nhà hàng vào các ngày trong tuần.
    • Bạn phải gửi 2 bản sao của ưu đãi giảm giá 5% khi thanh toán bằng thẻ tín dụng.
      • Một bản sao phải được gắn thẻ là OFFER_CATEGORY_BASE_OFFER kèm theo thông tin chi tiết về PaymentInstrument. ValidityPeriod phải được đặt để loại trừ giờ ăn trưa vào các ngày trong tuần khi ưu đãi giảm giá 10% cho bữa trưa đang hoạt động
      • Bạn nên gắn thẻ OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER cho một bản sao và cung cấp thông tin chi tiết về PaymentInstrument.
    • Tất cả Ưu đãi thanh toán khác của nhà hàng này đều phải được gắn thẻ là OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

Quy trình phát triển và ra mắt

Trong suốt quá trình tích hợp, Cổng thông tin đối tác sẽ có thể hỗ trợ bạn bằng thông tin và ý kiến phản hồi dựa trên quá trình phát triển của bạn. Quy trình phát triển sẽ diễn ra theo quy trình sau:

  • Quá trình tích hợp sẽ được phát triển trước tiên trong môi trường Hộp cát. Bạn nên sử dụng bản xuất của dữ liệu sản xuất (hoặc thậm chí là dữ liệu sản xuất trực tiếp) trong môi trường Google Sandbox. Điều này giúp đảm bảo rằng quá trình phát triển của bạn nắm bắt được tất cả các trường hợp đặc biệt và cho phép Google đánh giá chất lượng dữ liệu cũng như hỗ trợ bạn tốt hơn dựa trên mô hình dữ liệu của bạn.
  • Sau khi bạn tải nguồn cấp dữ liệu Merchant, Services và Deals hoàn chỉnh và hằng ngày lên một cách nhất quán trong môi trường Hộp cát của Google, Nhóm Google sẽ đánh giá nguồn cấp dữ liệu của bạn. Sau khi nhóm Google phê duyệt, bạn có thể chuyển mã của mình sang giai đoạn phát hành công khai và bắt đầu gửi dữ liệu phát hành công khai đến môi trường Phát hành công khai của Google.
  • Sau khi bạn kiểm thử đầy đủ quy trình tích hợp trong môi trường thực tế, nhóm Google cũng sẽ kiểm thử. Sau khi hoàn tất mọi quy trình kiểm thử, quy trình tích hợp của bạn sẽ ra mắt.

Giám sát

Để đảm bảo mang lại trải nghiệm tốt cho người dùng, Google sẽ kiểm tra để đảm bảo rằng các mặt hàng được cung cấp là hợp lệ, chính xác và đáp ứng các tiêu chí trong chính sách của chúng tôi trước và sau khi ra mắt. Để làm như vậy, Google sẽ kết hợp quy trình đánh giá thủ công và tự động. Bạn có thể xem kết quả của các quy trình đánh giá này trong Trang tổng quan về sản phẩm của Trung tâm hành động (chỉ dành cho phiên bản phát hành công khai). Kết quả của hoạt động giám sát này có thể được dùng để ảnh hưởng đến thứ hạng của các mặt hàng.

Kiểm tra tự động (Trình thu thập thông tin)

Nhóm chất lượng của Google triển khai trình thu thập dữ liệu. Trình thu thập dữ liệu là những tập lệnh tự động hoá một trình duyệt web để thực hiện một số lượt nhấp và trích xuất thông tin về sản phẩm, chỉ nhằm mục đích kiểm tra chất lượng.

Số lượt truy vấn

Ví dụ: nếu chúng tôi quyết định gửi 5.000 lượt kiểm tra mỗi ngày, tức là 5.000 lần mỗi ngày (phân bổ đều trong ngày, tức là khoảng 1 lần mỗi 17 giây), trình thu thập dữ liệu của chúng tôi sẽ thực hiện tất cả các thao tác sau mà người dùng thông thường sẽ thực hiện:

  • Bắt đầu từ Google Tìm kiếm rồi nhấp vào đường liên kết của đối tác.
  • Tìm thông tin về ưu đãi.
  • Nếu yêu cầu đặt phòng, thì ưu đãi sẽ tiếp tục chuyển sang quy trình đặt phòng để xác nhận ưu đãi có sẵn tại thời gian đã chỉ định (không có yêu cầu đặt phòng nào được thực hiện).

Phát hiện trình trích xuất dữ liệu trên web

Để đảm bảo rằng trình trích xuất dữ liệu trên web không bị cấm (điều này có thể khiến trình trích xuất kết luận rằng các mặt hàng không có sẵn), hãy đảm bảo hệ thống của bạn luôn cho phép trình trích xuất dữ liệu trên web của chúng tôi truy vấn trang của bạn. Cách xác định trình trích xuất dữ liệu web của chúng tôi:

  • Tác nhân người dùng của trình trích xuất dữ liệu web sẽ chứa chuỗi "Google-Offers":
    • Ví dụ: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, như Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
  • Bạn cũng có thể kiểm tra xem các lệnh gọi có đến từ Google hay không bằng cách sử dụng DNS ngược như được đề xuất trong phần "Xác minh Googlebot và các trình thu thập dữ liệu khác của Google". Trong trường hợp cụ thể của chúng ta, quá trình phân giải DNS ngược tuân theo mẫu sau: google-proxy-***-***-***-***.google.com.

Hành vi kỹ thuật

Lưu vào bộ nhớ đệm

Để giảm tải cho trang web của đối tác, trình thu thập dữ liệu của chúng tôi thường được định cấu hình để tuân thủ tất cả các tiêu đề bộ nhớ đệm HTTP tiêu chuẩn có trong phản hồi. Điều đó có nghĩa là đối với những trang web được định cấu hình chính xác, chúng tôi sẽ tránh việc liên tục tìm nạp nội dung ít thay đổi (ví dụ: thư viện JavaScript). Để biết thêm thông tin chi tiết về cách triển khai tính năng lưu vào bộ nhớ đệm, hãy đọc tài liệu về tính năng lưu vào bộ nhớ đệm HTTP này.