Fırsat feed'i entegrasyonu sunar

Teklifler

Fırsatlar entegrasyonu, satıcı promosyonları ve belirli zamanlarda belirli hizmetlere uygulanan indirimler hakkında yapılandırılmış bilgiler iletmenize olanak tanır. Teklifler; gerçek teklif (yüzde indirim, belirli bir tutarda indirim vb.), geçerlilik süreleri (belirli zamanlar, haftanın belirli günleri vb.) ve geçerli kullanımların (teklif yalnızca belirli hizmetlerde kullanılabilir) yanı sıra karmaşık kısıtlama kombinasyonlarından oluşur.

Fırsat örnekleri:

  • Aralık ayında çarşamba ve perşembe günleri 12:00-17:00 saatleri arasında başlangıç yemeklerinde %50 indirim
  • Anneler Günü akşam yemeğinde 18:00-22:00 saatleri arasında bir alana bir tatlı bedava
  • Her pazar 10:00-14:00 arasında brunch yemeğinde 5 ABD doları indirim
  • %10 indirim (Premium abonelere% 5 indirim ve kullanıcı uygulamanız üzerinden ödeme yaparsa% 5 indirim ile birleştirilebilir)

Bir teklifin entegrasyona dahil edilebilmesi için teknik veri modeline uygun olması ve uygunluk koşullarımızı karşılaması gerekir. Entegrasyonunuzun uygun olduğundan emin olmak ve teknik koşullara uymayan tekliflerle ilgili ne yapmanız gerektiği hakkında talimat almak için fırsat politikalarımızı inceleyin.

Uygulama hizmeti sunuyor

Fırsatlar entegrasyonu, günlük olarak veya yüksek doğruluk sağlayacak (yani eskimeyi azaltacak) sıklıkta yüklenecek iki feed'den oluşur:

OfferFeed

Alan AdıTürGereksinimAçıklama
datanesne dizisi
(Offer)

Teklif

Alan AdıTürGereksinimAçıklama
offer_iddize

Zorunlu

Teklifin benzersiz kimliği. Zorunlu.
entity_idsdize dizisi

Bu teklife katılan satıcıların listesi.
add_on_offer_applicable_to_all_entitiesboole

Doğruysa bu teklif, toplayıcı altındaki tüm tüzel kişiler için geçerlidir. Yalnızca eklenti teklifleri için geçerlidir.
offer_sourceenum
(OfferSource)

Zorunlu

Teklifler, toplayıcı, bağımsız satıcı veya hatta üçüncü taraf tarafından eklenti olarak sunulabilir. Zorunlu.
action_typeenum
(ActionType)

Zorunlu

Teklifi sağlayan hizmet. Bir offer_id yalnızca bir action_type'a ait olabilir. Bir teklif birden fazla hizmet türünde paylaşılıyorsa her hizmet türü için benzersiz kimliklere sahip teklifler oluşturulması gerekir. Zorunlu.
offer_modesenum dizisi
(OfferMode)

Zorunlu

Tekliften yararlanma yöntemleri (mağazaya gelme, rezervasyon, online vb.) Zorunludur.
offer_categoryenum
(OfferCategory)

Zorunlu

Teklifin kategorisi. Zorunlu.
source_assigned_prioritysayı

Kaynağın teklife atadığı öncelik düzeyini gösteren, negatif olmayan tam sayı ([1-100], burada 1 en yüksek önceliği temsil eder). Aynı satıcı için birden fazla teklif olduğunda bu, tekliflerin sıralanması için bir sinyal olur. 0, önceliğin ayarlanmadığını gösterir.
offer_detailsobject
(OfferDetails)

Zorunlu

İndirim, rezervasyon maliyeti gibi teklifin ayrıntıları. Zorunlu.
offer_restrictionsobject
(OfferRestrictions)

Zorunlu

Teklifin nasıl kısıtlandığını (ör.abonelik/ödeme aracı gerekip gerekmediği, bu teklifin diğer tekliflerle (ve hangi türlerle) birleştirilip birleştirilemeyeceği vb.) açıklar. Zorunludur.
couponobject
(Coupon)

Kupon ayrıntıları. offer_category için zorunlu: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.
payment_instrumentobject
(PaymentInstrument)

Ödeme aracının ayrıntıları. offer_category: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER için gereklidir.
subscriptionobject
(Subscription)

Abonelik ayrıntıları. offer_category: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER için zorunludur.
termsobject
(Terms)

Zorunlu

Teklifin hüküm ve koşulları. Zorunlu.
validity_periodsnesne dizisi
(ValidityPeriod)

Zorunlu

Teklifin geçerlilik süresi. Teklifin geçerli olduğu dönem (başlangıç ve bitiş saatleri, haftanın günleri vb.) açıklanır. Zorunludur.
offer_urldize

Satıcının teklif sayfasının URL'si. offer_category için zorunlu: OFFER_CATEGORY_BASE_OFFER.
tagsenum dizisi
(OfferTag)

Teklifle ilişkili özel etiketler. Bu, "Festival", "En Çok Puan Alan", "En Çok Rezervasyon Yapılan" gibi özel teklifleri belirlemek için kullanılır.
brand_iddize

Hediye kartı fırsatlarında fırsatı sunan markayı tanımlamak için gereklidir.
availability_levelenum
(AvailabilityLevel)

Teklifin kullanılabilirlik düzeyi.

OfferDetails

Alan AdıTürGereksinimAçıklama
offer_display_textdize

Zorunlu

Teklif sağlayıcının arama sonuçları sayfasında müşterilere göstermek istediği teklif metni. Bu açıklamanın kullanıcılara gösterilenle tam olarak aynı olmayabileceğini ve yeniden yazmak/ifade etmek için başka meta veriler kullanabileceğimizi unutmayın. Zorunlu.
oneOf
(offer_specification)

Zorunlu

Bu oneOf'taki alanlardan yalnızca biri ayarlanabilir.
max_discount_valueobject
(Money)

Faydalanılabilecek maksimum indirim. Örneğin, 100 TL'ye kadar% 10 indirim.
min_spend_valueobject
(Money)

İndirimden yararlanmak için yapılması gereken minimum harcama tutarı. Örneğin, toplam fiyat 100 TL veya daha fazla olduğunda% 10 indirim.
booking_costobject
(Money)

Bu teklifi kullanmanın maliyeti. Örneğin, 15 ABD doları karşılığında masa ayırtıldığında nihai faturada 100 ABD doları indirim.
booking_cost_unitenum
(FeeUnit)

Rezervasyon maliyetinin birimi. Örneğin, kişi başına, işlem başına.
convenience_feeobject
(Fee)

booking_cost_adjustableboole

Rezervasyon maliyetinin ayarlanabilir olup olmadığı (ör. rezervasyon maliyetinin nihai faturadan düşülüp düşülmediği). Örneğin: Rezervasyonla akşam yemeğinde% 30 indirim. Rezervasyon maliyeti 15 ABD dolarıdır ve nihai faturaya yansıtılır. Dolayısıyla nihai fatura: Toplam harcama - %30 - 15 ABD doları
additional_feesnesne dizisi
(AdditionalFee)

Kullanıcıdan alınan ek ücretler. Örnekler: kolaylık, sevkiyata hazırlık, teslimat, paketleme, hizmet ücreti vb.
offer_discount_typeenum
(OfferDiscountType)

İndirimin türü.
gift_card_infoobject
(GiftCardInfo)

Özellikle hediye kartı fırsatlarıyla ilgili ayrıntılar.

Para

Para birimi türüyle birlikte bir para tutarını gösterir.

Alan AdıTürGereksinimAçıklama
currency_codedize

ISO 4217'de tanımlanan üç harfli para birimi kodu.
unitssayı

Tutarın tam birimleri. Örneğin, currencyCode "USD" ise 1 birim, 1 ABD dolarıdır.
nanossayı

Tutarın nano (10^-9) birim sayısı. Değer, -999.999.999 ile +999.999.999 arasında (değerler dahil) olmalıdır. units pozitifse nanos pozitif veya sıfır olmalıdır. units sıfırsa nanos pozitif, sıfır veya negatif olabilir. units negatifse nanos negatif veya sıfır olmalıdır. Örneğin $-1,75,units=-1 ve nanos=-750.000.000 olarak gösterilir.

Ücret

Alan AdıTürGereksinimAçıklama
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

Bu oneOf'taki alanlardan yalnızca biri ayarlanabilir.

MoneyRange

Alan AdıTürGereksinimAçıklama
min_amountobject
(Money)

max_amountobject
(Money)

AdditionalFee

Alan AdıTürGereksinimAçıklama
namedize

Zorunlu

Ek ücretin adı. Örnekler: özel ödeme yöntemi ücreti, sevkiyata hazırlık ücreti vb. Zorunludur.
feeobject
(Fee)

GiftCardInfo

Alan AdıTürGereksinimAçıklama
oneOf
(denomination_type)

Bu oneOf'taki alanlardan yalnızca biri ayarlanabilir.

FixedDenominations

Alan AdıTürGereksinimAçıklama
amountsnesne dizisi
(Money)

Kullanılabilir tüm ayrı birimlerin listesi (ör. [100, 500, 1000]).

OfferRestrictions

Alan AdıTürGereksinimAçıklama
combinable_with_other_offersboole

Bu teklifin diğer tekliflerle birleştirilip birleştirilemeyeceği. Doğru olduğunda iş ortakları, bu teklifin hangi tekliflerle birleştirilebileceğini belirtebilir. Hem combinable_offer_categories hem de combinable_offer_ids ayarlanırsa yukarıdaki koşullardan birini karşılayan tüm teklifler birleştirilebilir.
combinable_offer_categoriesenum dizisi
(OfferCategory)

Bu teklifin birleştirilebileceği teklif türlerinin listesi. Örneğin, bu teklif diğer kuponlarla birleştirilebilir. combinable_with_other_offers doğruysa ve bu alan ayarlanmamışsa tüm türler birleştirilebilir.
combinable_offer_idsdize dizisi

Bu teklifin birleştirilebileceği offer_id'lerin listesi. Bazı teklifler yalnızca belirli diğer offer_id'lerle (üst teklifler olarak kabul edilebilir) birleştirilebilir. combinable_with_other_offers doğruysa ve bu alan ayarlanmamışsa tüm teklif kimlikleri birleştirilebilir.
inclusionsnesne dizisi
(OfferCondition)

Teklifin geçerli olması için karşılanması gereken koşulların listesi (ör. alkolsüz içecekler, yiyecekler).
exclusionsnesne dizisi
(OfferCondition)

Teklifi geçersiz kılacak koşulların listesi (ör. açık büfe, paket teklifler ve kokteyller).
min_guestsayı

Tekliften yararlanmak için gereken minimum kişi sayısı. Not: Bu alan yalnızca yemek rezervasyonları için geçerlidir ve diğer sektörlerde kullanılmamalıdır.
food_offer_restrictionsobject
(FoodOfferRestrictions)

Yemek tekliflerine özgü kısıtlamalar.
max_redemption_countsayı

Bu teklifin kaç kez kullanılabileceğine ilişkin kısıtlamalar. 0 değeri, sınır olmadığını belirtir. Örneğin, 3 değeri, kullanıcının bu teklifi 3 kez kullanabileceği anlamına gelir.
max_total_discount_valueobject
(Money)

Bu teklifin birden fazla işleminde kullanılabilecek maksimum indirim.
special_conditionsdize dizisi

Bu teklifle ilgili, kullanıcıya gösterilmesi gereken özel koşullar. Örnekler: "Yalnızca [alan] bölgesinde ödeme için geçerlidir", "Online ödemeler hariçtir", "Hediye çeki, indirim döneminde KULLANILABİLİR."

OfferCondition

Alan AdıTürGereksinimAçıklama
descriptiondize

FoodOfferRestrictions

Alan AdıTürGereksinimAçıklama
meal_typesenum dizisi
(MealType)

Teklifin uygulanabileceği yemek türleri (ör. öğle veya akşam yemeği). Ayarlanmamışsa teklif tüm yemek türlerine uygulanabilir.
restricted_to_certain_coursesboole

Teklifin yalnızca belirli kurslara uygulanıp uygulanamayacağı.

Kupon

Alan AdıTürGereksinimAçıklama
textdize

Teklif sağlayıcının kullanıcılara göstermek istediği kupon metni.
codedize

Zorunlu

Tekliften yararlanmak için kupon kodu gerekir. Zorunlu.

PaymentInstrument

Alan AdıTürGereksinimAçıklama
itemsnesne dizisi
(PaymentInstrumentItem)

Zorunlu

Teklifi kullanmak için kullanılabilecek ödeme araçlarının listesi. Zorunlu.
provider_namedize

Ödeme aracı sağlayıcısının adı. Bankacılık iş ortağı, banka adı vb. olabilir. Örneğin: American Express, HDFC, ICICI.

PaymentInstrumentItem

Alan AdıTürGereksinimAçıklama
typeenum
(PaymentInstrumentType)

Zorunlu

Ödeme aracının türü. Zorunlu.
namedize

Zorunlu

Ödeme aracı öğesinin adı (ör. kredi kartının adı). Örneğin: HDFC Infinia, American Express Platinum. Zorunlu.

Abonelik

Alan AdıTürGereksinimAçıklama
namedize

Zorunlu

Aboneliğin adı. Zorunlu.
subscription_auto_addedboole

Kullanıcı bu tekliften yararlandığında aboneliğin otomatik olarak eklenip eklenmediği
costobject
(Money)

Zorunlu

Aboneliğin maliyeti Zorunlu.
subscription_durationobject
(Duration)

Zorunlu

Aboneliğin subscription_cost karşılığında geçerli olduğu süre. Zorunlu.
terms_and_conditions_urldize

Bu abonelikle ilgili iş ortağının hükümler ve koşullarının URL'si.

Süre

Alan AdıTürGereksinimAçıklama
secondssayı

Zaman aralığının imzalı saniye sayısı. -315.576.000.000 ile +315.576.000.000 arasında (her iki değer de dahil) olmalıdır. Not: Bu sınırlar şu şekilde hesaplanır: 60 sn/dk * 60 dk/sa * 24 sa/gün * 365,25 gün/yıl * 10.000 yıl
nanossayı

Zaman aralığının nanosaniye çözünürlüğünde, saniyenin işaretli kesirleri. Bir saniyeden kısa süreler, 0 seconds alanı ve pozitif veya negatif nanos alanı ile gösterilir. Bir saniye veya daha uzun süreler için nanos alanının sıfır olmayan değeri, seconds alanıyla aynı işarete sahip olmalıdır. -999.999.999 ile +999.999.999 arasında (her iki değer de dahil) olmalıdır.

Şartlar

Alan AdıTürGereksinimAçıklama
urldize

İş ortağının hüküm ve koşullarının URL'si.
restricted_to_certain_usersboole

Teklifin belirli kullanıcılarla sınırlı olup olmadığı.
terms_and_conditionsdize

İş ortağı tarafından sağlanan birincil H&K metni.
additional_terms_and_conditionsdize dizisi

İş ortağının birincil Hükümler ve Koşulları'na ek olarak geçerli olan hükümler ve koşullar.

ValidityPeriod

Alan AdıTürGereksinimAçıklama
valid_periodobject
(ValidityRange)

Fırsatın geçerli olduğu başlangıç ve bitiş zaman damgası. Bu zamanlar farklı günleri temsil etmelidir. Örneğin, başlangıç zamanı 00:00 (günün başlangıcı) olmalı ve geçerlilik süresinin sona erdiği gün bitiş zamanı 00:00 (hariç) olmalıdır.
time_of_daynesne dizisi
(TimeOfDayWindow)

Belirli bir günde geçerli olan zaman aralığını ve teklifin kullanılabileceği günleri belirtir. Gece yarısını geçen zaman aralıkları (ör. 22:00-02:00) için her gün ayrı pencereler kullanın: biri 23:59:59'da sona erer, diğeri ise sonraki gün 00:00'da başlar. Örneğin: Pazartesi: 10:00-17:00 Salı: 10:00-14:00 Salı: 17:00-19:00 Çarşamba, Perşembe, Cuma, Cumartesi, Pazar: 15:00-19:00 Hiçbiri ayarlanmamışsa teklifin valid_period içinde her zaman kullanılabileceği anlamına gelir.
time_exceptionsnesne dizisi
(ValidTimeException)

Yukarıdaki valid_period ve valid_time_of_week için istisnaları belirtir.
date_exceptionsnesne dizisi
(Date)

Yukarıdaki valid_period ve time_of_day için günlerdeki istisnaları belirtir.
validity_scopeenum
(ValidityScope)

Geçerlilik süresinin kapsamını belirtir.
validity_duration_in_dayssayı

Voucher/kuponun satın alındıktan sonra geçerli olduğu süre (gün cinsinden).

ValidityRange

Kapalı-açık zaman damgası aralığı.

Alan AdıTürGereksinimAçıklama
valid_from_timeobject
(Timestamp)

Zorunlu

Aralığın başlangıç zamanı (dahil). Zorunlu.
valid_through_timeobject
(Timestamp)

Aralığın bitiş zamanı (dahil değildir). Ayarlanmamışsa bu dönemin hiç bitmeyeceği anlamına gelir. İsteğe bağlıdır.

Zaman damgası

Alan AdıTürGereksinimAçıklama
secondssayı

Unix epoch 1970-01-01T00:00:00Z tarihinden itibaren geçen UTC süresini saniye cinsinden gösterir. -62135596800 ile 253402300799 arasında (0001-01-01T00:00:00Z ile 9999-12-31T23:59:59Z'ye karşılık gelir) olmalıdır.
nanossayı

Nanosaniye çözünürlüğünde, negatif olmayan saniyenin kesirleri. Bu alan, saniyenin alternatifi değil, sürenin nanosaniye kısmıdır. Kesirli negatif saniye değerlerinde, zaman içinde ileriye doğru sayan negatif olmayan nanos değerleri bulunmalıdır. 0 ile 999.999.999 (her iki değer de dahil) arasında olmalıdır.

TimeOfDayWindow

TimeWindow nesnesi, kullanıcının siparişinin verilebileceği veya karşılanabileceği bir zaman aralıkları listesini açıklayan bileşik bir öğedir.

Alan AdıTürGereksinimAçıklama
time_windowsobject
(TimeOfDayRange)

Zorunlu

Siparişin verilebileceği/karşılanabileceği zaman aralığı. Zorunlu.
day_of_weekenum dizisi
(DayOfWeek)

Pencerelerin uygulandığı haftanın günlerinin listesi. Hiçbiri ayarlanmamışsa haftanın tüm günleri için geçerli olduğu anlamına gelir. İsteğe bağlıdır.
day_of_monthnesne dizisi
(DayOfMonthRange)

Pencerelerin uygulandığı günler. Hiçbiri ayarlanmamışsa ayın tüm günleri için geçerli olduğu anlamına gelir. İsteğe bağlıdır.

TimeOfDayRange

Kapalı-açık zaman aralığı.

Alan AdıTürGereksinimAçıklama
open_timeobject
(TimeOfDay)

Aralığın gününün başlangıç saatini gösteren zaman (dahil). Ayarlanmazsa 00:00:00 anlamına gelir. İsteğe bağlıdır.
close_timeobject
(TimeOfDay)

Aralığın gününün bitiş zamanını gösteren bir saat (hariç). Ayarlanmamışsa 23:59:59 anlamına gelir. İsteğe bağlıdır.

TimeOfDay

Alan AdıTürGereksinimAçıklama
hourssayı

24 saat biçiminde günün saatleri. 0'dan büyük veya 0'a eşit olmalı ve genellikle 23'ten küçük veya 23'e eşit olmalıdır. Bir API, işletmenin kapanış saati gibi senaryolarda "24:00:00" değerine izin vermeyi seçebilir.
minutessayı

Saatin dakikaları. 0'dan büyük veya 0'a eşit ve 59'dan küçük veya 59'a eşit olmalıdır.
secondssayı

Bir dakikanın saniyeleri. 0'dan büyük veya 0'a eşit olmalı ve genellikle 59'dan küçük veya 59'a eşit olmalıdır. Bir API, artık saniyelere izin veriyorsa 60 değerine izin verebilir.
nanossayı

Saniyenin nanosaniye cinsinden kesirleri. 0'dan büyük veya 0'a eşit ve 999.999.999'dan küçük veya 999.999.999'a eşit olmalıdır.

DayOfMonthRange

Yılın tüm ayları için geçerli olan, ayın belirli günleri aralığı.

Alan AdıTürGereksinimAçıklama
valid_from_daysayı

Zorunlu

Aralığın başlangıç günü (dahil). Zorunlu.
valid_through_daysayı

Aralığın bitiş günü (dahil). Ayarlanmamışsa bu aralığın tek bir günü (valid_from_day) temsil ettiği anlamına gelir. İsteğe bağlıdır.

ValidTimeException

Alan AdıTürGereksinimAçıklama
exceptional_periodobject
(ValidityRange)

Fırsatın geçerli olmadığı başlangıç ve bitiş zaman damgası. Bu zamanlar farklı günleri temsil etmelidir. Yani başlangıç zamanı 00:00 (günün başlangıcı) olmalı ve bitiş zamanı, istisna döneminin sona erdiği gün 00:00 (hariç) olmalıdır.

Tarih

Alan AdıTürGereksinimAçıklama
yearsayı

Tarihin yılı. 1 ile 9999 arasında olmalıdır veya yıl içermeyen bir tarih belirtmek için 0 olmalıdır.
monthsayı

Yılın ayı. 1 ile 12 arasında olmalıdır veya ay ve gün içermeyen bir yılı belirtmek için 0 olmalıdır.
daysayı

Ayın günü. 1 ile 31 arasında olmalı ve yıl ile ay için geçerli olmalıdır veya 0 olmalıdır. 0, yılı tek başına ya da günün önemli olmadığı bir yıl ve ay olarak belirtmek için kullanılır.

OfferSource

AdAçıklama
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

ActionType

Fırsatın yerine getirme modunu gösterir. Bir teklif birden fazla karşılama modunda paylaşılabiliyorsa her karşılama modu için yinelenen teklifler oluşturulması beklenir.

AdAçıklama
ACTION_TYPE_UNSPECIFIED
ACTION_TYPE_FOOD_DELIVERYTeklif, paket yemek servisi hizmetleri için geçerlidir.
ACTION_TYPE_FOOD_TAKEOUTTeklif, paket servis veya teslim alma yemek siparişleri için geçerlidir.
ACTION_TYPE_DININGFırsat, restoranda yemek yemek için geçerlidir.
ACTION_TYPE_SHOPPING_IN_STORETeklif, çevrimdışı ve mağaza içi alışverişlerde geçerlidir.

OfferMode

Kullanıcının tekliften yararlanabileceği yöntemi veya kanalı belirtir.

AdAçıklama
OFFER_MODE_OTHERDiğer belirli modların kapsamadığı karşılama yöntemleri için kullanılır.
OFFER_MODE_WALK_INTeklif, önceden rezervasyon yapılmadan yerinde ziyaretler için geçerlidir.
OFFER_MODE_FREE_RESERVATIONTeklif, kullanıcının ön ödeme gerektirmeyen bir rezervasyon yapması durumunda geçerlidir.
OFFER_MODE_PAID_RESERVATIONTeklif, kullanıcının ön ödeme gerektiren bir rezervasyon yapması durumunda geçerlidir.
OFFER_MODE_ONLINE_ORDERTeklif, web sitesi veya dijital platform üzerinden verilen siparişlerde geçerlidir.
OFFER_MODE_GIFT_CARD_PURCHASEFırsattan yararlanmak için hediye kartı satın almanın gerekli olduğunu gösterir.

OfferCategory

Teklifin kategorisi. Temel teklif, tüm müşterilerin yararlanabileceği standart bir tekliftir (ör. 100 TRY üzeri harcamalarda% 10 indirim). Kupon veya ödeme aracıyla sınırlanan temel tekliflerde ilgili alanlar ayarlanır. Ayrıca ADD_ON_PAYMENT_OFFER gibi ek ürün tekliflerimiz de var. Bu tür teklifler, ek indirimlerden yararlanmak için diğer tekliflere eklenebilir.

AdAçıklama
OFFER_CATEGORY_UNSPECIFIEDUNSPECIFIED veya varsayılan enum değeri feed'lerde kullanılmamalıdır.
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

AdAçıklama
FEE_UNIT_UNSPECIFIEDUNSPECIFIED veya varsayılan enum değeri feed'lerde kullanılmamalıdır.
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

AdAçıklama
FEE_TYPE_UNSPECIFIEDUNSPECIFIED veya varsayılan enum değeri feed'lerde kullanılmamalıdır.
FEE_TYPE_FIXED
FEE_TYPE_VARIABLE

OfferDiscountType

AdAçıklama
OFFER_DISCOUNT_TYPE_UNSPECIFIED
OFFER_DISCOUNT_TYPE_INSTANT_DISCOUNT
OFFER_DISCOUNT_TYPE_CASHBACK
OFFER_DISCOUNT_TYPE_REWARD_POINT

MealType

AdAçıklama
MEAL_TYPE_UNSPECIFIEDUNSPECIFIED veya varsayılan enum değeri feed'lerde kullanılmamalıdır.
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

AdAçıklama
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIEDUNSPECIFIED veya varsayılan enum değeri feed'lerde kullanılmamalıdır.
PAYMENT_INSTRUMENT_CREDIT_CARD
PAYMENT_INSTRUMENT_DEBIT_CARD
PAYMENT_INSTRUMENT_BANK_ACCOUNT
PAYMENT_INSTRUMENT_UPI
PAYMENT_INSTRUMENT_ONLINE_WALLET
PAYMENT_INSTRUMENT_NETBANKING

HaftanınGünü

Haftanın bir gününü temsil eder.

AdAçıklama
DAY_OF_WEEK_UNSPECIFIEDHaftanın günü belirtilmemiş.
MONDAYPazartesi
TUESDAYSalı
WEDNESDAYÇarşamba
THURSDAYPerşembe
FRIDAYCuma
SATURDAYCumartesi
SUNDAYPazar

ValidityScope

Geçerlilik döneminin kapsamı (ör. bu geçerlilik döneminin tam olarak hangi işlemler için geçerli olduğu).

AdAçıklama
VALIDITY_SCOPE_UNSPECIFIED
VALIDITY_SCOPE_CLAIM
VALIDITY_SCOPE_REDEEM

OfferTag

AdAçıklama
OFFER_TAG_UNSPECIFIEDUNSPECIFIED veya varsayılan enum değeri feed'lerde kullanılmamalıdır.
OFFER_TAG_NEW_YEAR_SPECIAL
OFFER_TAG_VALENTINES_SPECIAL

AvailabilityLevel

Bir teklifin stok veya kullanılabilirlik durumunu gösterir.

AdAçıklama
AVAILABILITY_LEVEL_UNSPECIFIED
AVAILABILITY_LEVEL_LOWTeklifin stokta azaldığını gösterir. Kullanıcıların, stoklar tükenmeden önce bu teklifi kullanmaları önerilir. MEDIUM ve HIGH seçeneklerini daha sonra ekleyebiliriz.

offer_specification

İndirim, toplam değerden çıkarılan bir yüzde veya sabit bir değer olabilir. Örneğin: 1. Nihai faturada% 10 indirim. 2. Siparişlerde 15 ABD doları indirim. Satıcılar, ilgili spesifikasyon alanları aracılığıyla "bir alana bir bedava" gibi özel indirimler de sunabilir. Zorunlu.

Alan AdıTürGereksinimAçıklama
discount_percentsayı

discount_value, other_offer_detail_text ile karşılıklı olarak hariç tutulur.

Faturanın indirimli yüzdesi. [0, 100] Yemeğin tamamında geçerli olan 1+1 veya% 50 indirim teklifleri için (ör. açık büfe 1+1, tüm hesapta 1+1, set menüde 1+1) bu değer 50 olarak ayarlanabilir.
discount_valueobject
(Money)

discount_percent, other_offer_detail_text ile karşılıklı olarak hariç tutulur.

İndirimin sabit değeri.
other_offer_detail_textdize

discount_percent, discount_value ile karşılıklı olarak hariç tutulur.

İndirimi açıklamak için serbest biçimli metin. Belirli 1+1 teklifleri (ör. 1+1 içecek, +1 ana yemek, 1+1 seçili menü öğeleri) için bu ayrıntılar burada açıklanmalıdır.

maliyet

Alan AdıTürGereksinimAçıklama
amountobject
(Money)

amount_range ile karşılıklı olarak birbirini dışlar.

amount_rangeobject
(MoneyRange)

amount ile karşılıklı olarak birbirini dışlar.

denomination_type

Alan AdıTürGereksinimAçıklama
fixed_denominationsobject
(FixedDenominations)

custom_range ile karşılıklı olarak birbirini dışlar.

Hediye kartı belirli, sabit tutarlarda sunulduğunda kullanılır.
custom_rangeobject
(MoneyRange)

fixed_denominations ile karşılıklı olarak birbirini dışlar.

Markanın, kullanıcıların tanımlı bir aralıkta özel (esnek) bir nominal değer seçmesine izin verdiği durumlarda kullanılır.

Feed yükleme

Fırsatlar feed'i, Generic feed'i SFTP sunucusuna yüklenmelidir. Talimatlar için Jenerik feed SFTP sunucusu nasıl kullanılır? başlıklı eğiticideki adımları uygulayın ve açıklama dosyanızda name değerini google.offer olarak ayarlayın.

Yükleme sıklığı

Genel olarak Google, günde 1 feed yüklemesi bekler. Sürekli olarak yüksek bir hassasiyet sağlamak için, teklif güncellemelerinin sıklığına bağlı olarak sıklık artırılabilir veya azaltılabilir. Google'daki ilgili kişinize danışın.

Verilerin Google'da görünmesi birkaç saat sürer.

Fırsatları kategorilere ayırma

  • OFFER_CATEGORY_BASE_OFFER: Başka bir teklifle birleştirilmeden bağımsız olarak kullanılabilen teklifler. Bu kanallar aşağıdakileri kapsar:
    • Tüm faturada sabit indirimler (ör. %20 indirim)
    • Abonelik teklifleri (ör. üyelikle birlikte ücretsiz tatlı)
    • Restoran için başka temel tekliflerin olmadığı durumlarda ödeme teklifleri
    • Not: Platform genelinde ücret muafiyeti veya ücret indirimi teklifleri temel teklif olarak ayarlanmamalıdır.
  • Ek Teklifler: Kullanılabilmesi için temel teklifin kullanılması gereken teklifler. Bunlar arasında:
    • OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER (ör. Belirli bir kredi kartıyla% 10 ek indirim)
    • OFFER_CATEGORY_ADD_ON_COUPON_OFFER (ör. belirli bir kupon koduyla ücretsiz içecek)
    • OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER (ör. abonelere ek% 10 indirim)
    • OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER (ör. ücretsiz teslimat veya indirimli ücret)

Dikkat edilmesi gereken diğer noktalar:

  • Platform genelinde ücret muafiyeti veya indirim teklifleri temel teklif (OFFER_CATEGORY_BASE_OFFER) olarak ayarlanmamalıdır. Bu teklifler, yalnızca etkin bir temel teklifi tamamlamak için OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER olarak ayarlanmalıdır.
  • Bir restoranda Temel Fırsat ayarlanmamışsa ek fırsatlar gösterilmez. Temel Teklif yoksa başka bir teklife eklenmesi gerekmeksizin kullanılabilen tüm Ödeme, Abonelik veya Kupon Teklifleri OFFER_CATEGORY_BASE_OFFER olarak etiketlenmelidir.
    • Türe bağlı olarak, PaymentInstrument, Subscription veya Coupon için ilgili veriler ayarlanmalıdır.
    • İş ortakları, hem temel teklif hem de ek teklif olarak işlev gördükleri senaryoları kapsamak için bu tekliflerin her birinden 2 kopya sağlamalıdır. Eklenti teklifi metni, entity_ids veya add_on_offer_applicable_to_all_entities kullanılarak birden fazla restoran için ayarlanabilir.
  • Bir restoranda birleştirilebilen birden fazla Temel Teklif varsa tüm Temel Teklifler OFFER_CATEGORY_BASE_OFFER olarak etiketlenmeli, ödeme, abonelik veya kupon teklifi olan Temel Teklifler ise ilgili Eklenti Teklif türü olarak ayrıca gönderilmelidir.
  • ValidityPeriod yalnızca etkin bir Base Offer yoksa Base Offer olarak eklenti tekliflerini etkinleştirmek için kullanılmalıdır.
  • Ödeme aracına göre aynı tekliflerin birleştirilmesi: Birden fazla ödeme aracı tam olarak aynı indirim değerini paylaşıyorsa (örneğin, kredi kartı, banka kartı ve internet bankacılığı% 5 indirim sunuyorsa) bunları ayrı ayrı teklifler göndermek yerine tek bir birleştirilmiş Offer nesnesi altında gruplandırın. Bunun için payment_instrument.items listesini geçerli tüm ödeme araçlarıyla doldurun. Bu sayede, Google arayüzündeki düzen karmaşası azaltılır ve aşırı yinelenen kısıtlamalar nedeniyle sıralamada düşüş yaşanması önlenir.

Örnek senaryolar:

  • Bir restoran, belirli bir kredi kartıyla ödeme yapıldığında% 5 indirim ve belirli bir kupon koduyla ücretsiz içecek sunuyor.

    • %5 indirimli kredi kartı teklifi, 2 kopya olarak gönderilmelidir. Kopyalardan biri OFFER_CATEGORY_BASE_OFFER, diğeri ise PaymentInstrument ayrıntılarıyla birlikte OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER olarak etiketlenmelidir.
    • Kupon kodu teklifiyle ücretsiz içecek promosyonu, Coupon ayrıntılarıyla birlikte OFFER_CATEGORY_ADD_ON_COUPON_OFFER olarak gönderilmelidir.
  • Bir restoran, hem kapıdan gelen müşterilere% 10 indirim hem de belirli bir kredi kartıyla ödeme yapıldığında% 5 indirim sunuyor. Bu iki indirim birleştirilebilir.

    • %10 indirimli mağaza teklifi OFFER_CATEGORY_BASE_OFFER olarak etiketlenmelidir.
    • %5 indirimli kredi kartı teklifinin 2 kopyası olmalıdır. Kopyalardan biri OFFER_CATEGORY_BASE_OFFER, diğeri ise OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER olarak etiketlenmelidir.
  • Bir restoran, hafta içi yalnızca öğle yemeğinde% 10, belirli bir kredi kartıyla ödeme yapıldığında ise her zaman% 5 indirim sunuyor.

    • %10 indirim teklifi, hafta içi yalnızca restoranın öğle yemeği saatlerinde geçerli olduğunu belirtecek şekilde ValidityPeriod ayarlanmalıdır.
    • Kredi kartı teklifindeki% 5 indirim, 2 kopya olarak gönderilmelidir.
      • Bir kopya, OFFER_CATEGORY_BASE_OFFER olarak etiketlenmeli ve PaymentInstrument ayrıntıları eklenmelidir. ValidityPeriod değeri, %10 indirimli öğle yemeği teklifi etkin olduğunda hafta içi öğle yemeği saatlerini hariç tutacak şekilde ayarlanmalıdır.
      • Bir kopya, OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER ile etiketlenmeli ve PaymentInstrument ayrıntıları eklenmelidir.
    • Bu restoranla ilgili diğer tüm ödeme teklifleri OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER olarak etiketlenmelidir.

Geliştirme ve lansman süreci

Entegrasyonunuz boyunca İş Ortağı Portalı, geliştirme sürecinize göre bilgi ve geri bildirimlerle size yardımcı olabilir. Geliştirme süreci şu akışı izler:

  • Entegrasyon ilk olarak Sandbox ortamında geliştirilir. Google Sandbox ortamında üretim verilerinin (hatta doğrudan üretim verilerinin) dışa aktarılmış bir sürümünü kullanmalısınız. Bu, geliştirme sürecinizin tüm uç durumları yakalamasına yardımcı olur ve Google'ın veri kalitesini değerlendirerek veri modelinize göre size daha iyi yardımcı olmasını sağlar.
  • Google Sandbox ortamına Merchant, Services ve Deals feed'ini eksiksiz ve günlük olarak yüklemeye başladığınızda Google Ekibi feed'lerinizi değerlendirir. Google ekibi onay verdikten sonra kodunuzu üretime aktarabilir ve Google üretim ortamına üretim verileri göndermeye başlayabilirsiniz.
  • Üretim entegrasyonunu tamamen test ettikten sonra Google ekibi de test eder. Tüm testler tamamlandıktan sonra entegrasyonunuz kullanıma sunulur.

İzleme

Google, iyi bir kullanıcı deneyimi sağlamak için sunulan tekliflerin geçerli, doğru ve politika ölçütlerimize uygun olup olmadığını lansman öncesinde ve sonrasında kontrol eder. Google, bu işlemi gerçekleştirmek için hem uzman incelemesinden hem de otomatik incelemeden yararlanır. Bu incelemelerin sonucu, İşlem Merkezi'nin Fırsat Kontrol Paneli'nde (yalnızca üretim) erişilebilir olacaktır. Bu izlemenin sonucu, tekliflerin sıralamasını etkilemek için kullanılabilir.

Sayfanın, tekliflerle birlikte tamamen yüklenmesinin 5 saniyeden kısa sürdüğünden emin olun. Aksi takdirde bu durum başarısızlık olarak kabul edilir ve Bad link olarak işaretlenir.

Otomatik kontroller (tarayıcılar)

Google Kalite Ekibi, tarayıcıları uygular. Tarayıcılar, yalnızca kalite testi amacıyla bazı tıklamaları gerçekleştirmek ve teklif bilgilerini ayıklamak için web tarayıcısını otomatikleştiren komut dosyalarıdır.

Sorgu sayısı

Örneğin, günde 5.000 kontrol göndermeye karar verirsek bu, günde 5.000 kez (gün boyunca eşit sıklıkta dağıtılır, yani yaklaşık olarak her 17 saniyede bir) tarayıcımızın normal bir kullanıcının yapacağı tüm işlemleri yapacağı anlamına gelir:

  • Google Arama'dan başlayın ve iş ortağı bağlantısını tıklayın.
  • Teklif bilgilerini bulun.
  • Fırsat için rezervasyon yapılması gerekiyorsa belirtilen zamanda fırsatın kullanılabilir olduğunu onaylamak için rezervasyon akışına devam edilir (rezervasyon yapılmaz).

Web kazıyıcı tespiti

Web kazıyıcının yasaklanmaması (bu durum, tekliflerin kullanılamadığı sonucuna varılmasına neden olabilir) için sisteminizin, web kazıyıcımızın sayfanızı her zaman sorgulamasına izin verdiğinden emin olun. Web kazıyıcımızı tanımlamak için:

  • Web kazıyıcı kullanıcı aracısı, "Google-Offers" dizesini içerir:
    • Örnek: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
  • Ayrıca, "Googlebot'u ve diğer Google tarayıcılarını doğrulama" başlıklı makalede önerildiği gibi ters DNS kullanarak aramaların Google'dan gelip gelmediğini de kontrol edebilirsiniz. Özel durumumuzda, ters DNS çözümlemesi şu kalıbı izler: google-proxy-***-***-***-***.google.com.

Teknik davranış

Önbelleğe alma

Tarayıcılarımız, iş ortağı web sitesindeki yükü azaltmak amacıyla genellikle yanıtta bulunan tüm standart HTTP önbelleğe alma üstbilgilerine uyacak şekilde yapılandırılır. Bu, doğru şekilde yapılandırılmış web sitelerinde nadiren değişen içeriklerin (ör. JavaScript kitaplıkları) tekrar tekrar getirilmesini önlediğimiz anlamına gelir. Önbelleğe almayı uygulama hakkında daha fazla bilgi için HTTP önbelleğe alma dokümanlarını inceleyin.