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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
data | mảng đối tượng(Offer) |
Ưu đãi
Tên trường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
offer_id | chuỗi | Bắt buộc | Mã nhận dạng duy nhất của ưu đãi. Bắt buộc. |
entity_ids | mả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_entities | boolean | 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_source | enum(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_type | enum(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_modes | mả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_category | enum(OfferCategory) | Bắt buộc | Danh mục của ưu đãi. Bắt buộc. |
source_assigned_priority | số | 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_details | object(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_restrictions | object(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. |
coupon | object(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_instrument | object(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. | |
subscription | object(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. | |
terms | object(Terms) | Bắt buộc | Điều khoản và điều kiện của ưu đãi. Bắt buộc. |
validity_periods | mả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_url | chuỗ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_url | chuỗi | URL đến hình ảnh sản phẩm của người bán. |
OfferDetails
Tên trường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
offer_display_text | chuỗ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_value | object(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_value | object(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_cost | object(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_unit | enum(FeeUnit) | Đơn vị của chi phí đặt phòng. Ví dụ: mỗi người, mỗi giao dịch. | |
convenience_fee | object(Fee) | ||
booking_cost_adjustable | boolean | 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_fees | mả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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
currency_code | chuỗi | Mã đơn vị tiền tệ gồm 3 chữ cái được xác định trong ISO 4217. | |
units | chuỗi | Đơn vị số nguyên của số tiền.
Ví dụ: nếu currencyCode là "USD" , thì 1 đơn vị là 1 đô la Mỹ. | |
nanos | số | 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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneOf(cost) | Bạn chỉ có thể đặt một trong các trường trong oneOf này. |
MoneyRange
Tên trường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
min_amount | object(Money) | ||
max_amount | object(Money) |
AdditionalFee
Tên trường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
name | chuỗ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. |
fee | object(Fee) |
OfferRestrictions
Tên trường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
combinable_with_other_offers | boolean | Ư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_categories | mả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_ids | mả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. | |
inclusions | mả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). | |
exclusions | mả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_guest | số | Số người tối thiểu cần thiết để sử dụng ưu đãi. | |
food_offer_restrictions | object(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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
description | chuỗi |
FoodOfferRestrictions
Tên trường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
meal_types | mả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_courses | boolean | Ư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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
text | chuỗ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. | |
code | chuỗ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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
items | mả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_name | chuỗ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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
type | enum(PaymentInstrumentType) | Bắt buộc | Loại công cụ thanh toán. Bắt buộc. |
name | chuỗ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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
name | chuỗi | Bắt buộc | Tên của gói thuê bao. Bắt buộc. |
subscription_auto_added | boolean | 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 | |
cost | object(Money) | Bắt buộc | Chi phí của gói thuê bao. Bắt buộc. |
subscription_duration | object(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_url | chuỗ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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
seconds | chuỗ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 | |
nanos | số | 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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
url | chuỗi | URL dẫn đến điều khoản và điều kiện của đối tác. | |
restricted_to_certain_users | boolean | Ưu đãi có bị giới hạn cho một số người dùng nhất định hay không. | |
terms_and_conditions | chuỗ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_conditions | mả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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
valid_period | object(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_day | mả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_exceptions | mả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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
valid_from_time | object(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_time | object(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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
seconds | chuỗ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. | |
nanos | số | 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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
time_windows | object(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_week | mả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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
open_time | object(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_time | object(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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
hours | số | 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. | |
minutes | số | 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. | |
seconds | số | 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. | |
nanos | số | 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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
exceptional_period | object(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ên | Mô tả |
---|---|
OFFER_SOURCE_UNSPECIFIED | |
OFFER_SOURCE_AGGREGATOR |
ActionType
Tên | Mô tả |
---|---|
ACTION_TYPE_UNSPECIFIED | |
ACTION_TYPE_DINING |
OfferMode
Tên | Mô 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ên | Mô 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ên | Mô tả |
---|---|
FEE_UNIT_UNSPECIFIED | |
FEE_UNIT_PER_GUEST | |
FEE_UNIT_PER_TRANSACTION |
FeeType
Tên | Mô tả |
---|---|
FEE_TYPE_UNSPECIFIED | |
FEE_TYPE_FIXED | |
FEE_TYPE_VARIABLE |
MealType
Tên | Mô tả |
---|---|
MEAL_TYPE_UNSPECIFIED | |
MEAL_TYPE_BREAKFAST | |
MEAL_TYPE_LUNCH | |
MEAL_TYPE_DINNER |
PaymentInstrumentType
Tên | Mô 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ên | Mô tả |
---|---|
DAY_OF_WEEK_UNSPECIFIED | Ngày trong tuần không được chỉ định. |
MONDAY | Thứ Hai |
TUESDAY | Tuesday (thứ Ba) |
WEDNESDAY | Wednesday (thứ Tư) |
THURSDAY | Thursday (thứ Năm) |
FRIDAY | Friday (thứ Sáu) |
SATURDAY | Saturday (thứ Bảy) |
SUNDAY | Chủ 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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
discount_percent | số | Loại trừ lẫn nhau với | 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_value | object(Money) | Loại trừ lẫn nhau với | Giá trị cố định của chiết khấu. |
other_offer_detail_text | chuỗi | Loại trừ lẫn nhau với | 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ường | Loại | Yêu cầu | Mô tả |
---|---|---|---|
amount | object(Money) | Loại trừ lẫn nhau với | |
amount_range | object(MoneyRange) | Loại trừ lẫn nhau với |
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ặcCoupon
. - Đố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ặcadd_on_offer_applicable_to_all_entities
.
- Tuỳ thuộc vào loại, bạn phải đặt dữ liệu liên quan cho
- 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 tinCoupon
.
- 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à
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
.
- Ưu đãi giảm 10% cho khách hàng đến trực tiếp phải được gắn thẻ là
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
.
- Một bản sao phải được gắn thẻ là
- 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
.
- Ưu đãi giảm giá 10% phải có
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.