Taban Türleri
Alışveriş sepeti
Siparişle ilgili ayrıntıları ve isteğin teslim alma mı yoksa teslimat için mi olduğunu içerir. Alışveriş sepetinde teslimat bilgileri, bahşiş ve teslimat adresi de bulunur.Cart
nesnesi Checkout AppRequest
.f dosyasında tanımlanır
Alışveriş sepetinin bir kopyasını Checkout AppResponse
öğenize eklersiniz.
Aşağıdaki tabloda Cart
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
@type |
Sabit |
Bu nesnenin türü. Üst Alışveriş sepeti nesnesi, ProposedOrder'ın bir parçasıysa bu alanı atlayın. Değer: |
|
id |
String |
İsteğe bağlı alışveriş sepeti kimliği. |
|
merchant |
Merchant |
Bu alışveriş sepetiyle ilişkili satıcı. |
|
lineItems |
Listele<LineItem > |
Zorunlu. Kullanıcının sipariş ettiği ürünlerin veya hizmetlerin listesi. En az 1 öğe içermelidir. |
|
promotions |
Listele<Promotion > |
Bu alışveriş sepetine uygulanan promosyon. Şu anda yalnızca bir promosyon desteklenmektedir. |
|
notes |
String |
Sipariş veya teslimat talimatlarıyla ilgili notlar. |
|
extension |
FoodCartExtension |
Kullanıcıyla ilgili, sipariş karşılama tercihleri gibi ayrıntıları tanımlar. |
Aşağıdaki örnekte bir Cart
öğesi gösterilmektedir:
1. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }
2. Örnek
{ "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }
İletişim
Siparişi teslim alan kişiyle ilgili ayrıntıları belirtir. YalnızcaAppResponse
olarak kullanılabilir.
Aşağıdaki tabloda Contact
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
displayName |
String |
Siparişi alan kişinin (siparişin gösterilmesini istediğiniz şekilde) adı. firstName ve lastName belirtilmezse bu alanı kullanın. Örnek: |
|
email |
String |
Siparişi alan kişinin e-posta adresi. Örnek: |
|
firstName |
String |
Siparişi alan kişinin adı. Örnek: |
|
lastName |
String |
Siparişi alan kişinin soyadı. Örnek: |
|
phoneNumber |
String |
Ülke kodu dahil olmak üzere siparişi alan kişinin telefon numarası. Örnek: |
|
emailVerified |
Boole |
Siparişi alan kişinin Google hesabıyla giriş yapıp yapmadığını belirtir. |
Aşağıdaki örnekte bir Contact
öğesi gösterilmektedir:
Örnek
{ "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" }
CustomPushMessage
İsteğinOrderUpdate
öğesini içerir.
Aşağıdaki tabloda CustomPushMessage
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
orderUpdate |
OrderUpdate |
Zorunlu. Siparişle ilgili bilgiler güncellendi. |
Aşağıdaki örnekte bir CustomPushMessage
öğesi gösterilmektedir:
Örnek
{ "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } }
DeliveryInfo
Aşağıdaki tabloda DeliveryInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
deliveryTimeIso8601 |
String |
ISO 8601 zaman damgası biçiminde tahmini teslimat süresi: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" veya süre biçimi: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". Örneğin, PT90M, 90 dakikalık bir süreyi temsil eder. Varsayılan değer olan "PT0M", tercih edilen teslimat süresinin mümkün olan en kısa zaman olduğunu gösterir. Referans: https://en.wikipedia.org/wiki/ISO_8601#Merged_date_and_time_representations. Ödeme yanıtı sırasında tahmini teslimat süresini güncellemek için bunu kullanın. Örnek: |
Aşağıdaki örnekte bir DeliveryInfo
öğesi gösterilmektedir:
Örnek
{ "deliveryTimeIso8601": "PT90M" }
Sorumluluk Reddi Beyanı
Aşağıdaki tabloda Disclaimer
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
predefinedMessage |
PredefinedMessage |
Zorunlu. Ödeme sırasında önceden tanımlanmış sorumluluk reddi beyanı mesajlarının gösterilmesi için. |
|
feeAmount |
Money |
İş ortağı, bu sipariş için satıcıdan N tutarında ücret alır. |
|
feeAmountRange |
FeeAmountRange |
İş ortağı, restorandan sipariş başına N ila M tutarında ücret alır. |
|
feePercent |
Number |
İş ortağı, bu sipariş için satıcıdan% N oranında ücret alır. |
|
feePercentRange |
FeePercentRange |
İş ortağı, satıcıdan sipariş başına% N ila% M oranında ücret alır. |
Aşağıdaki örnekte bir Disclaimer
öğesi gösterilmektedir:
1. Örnek
{ "predefinedMessage": "NEW_YORK_DELIVERY_FEE_TIP_DISCLAIMER" }
2. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE" }
3. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feePercent": 25 }
4. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feePercentRange": { "minFeePercent": 20, "maxFeePercent": 30 } }
Örnek 5
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feeAmount": { "currencyCode": "AUD", "units": 2, "nanos": 500000000 } }
6. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feeAmountRange": { "minFeeAmount": { "currencyCode": "AUD", "units": 2, "nanos": 500000000 }, "maxFeeAmount": { "currencyCode": "AUD", "units": 10, "nanos": 0 } } }
Hata
Error
türü aşağıdaki olası değerlere sahiptir:
CLOSED
: Restoran, sipariş sırasında işletme için kapalıdır.NO_CAPACITY
: Kullanılabilir hizmet kapasitesi yok (örneğin, yoğun saatler nedeniyle geçici kesinti).NO_COURIER_AVAILABLE
: Teslimat personeli sınırlı olduğundan sipariş işlenemiyor.REQUIREMENTS_NOT_MET
: Siparişin kabul edilmesine ilişkin kısıtlamalar karşılanmadı (örneğin, minimum sepet boyutu).UNAVAILABLE_SLOT
: Sipariş, DeliveryInfo veya PickupInfo tarafından belirtilen zamanında yerine getirilemez.OUT_OF_SERVICE_AREA
: Sipariş, kullanıcının adresine teslim edilemiyor.PROMO_EXPIRED
: Promosyonun süresi dolduğu için uygulanamadı.PROMO_NOT_APPLICABLE
: Diğer promosyon kodu hatalarının hiçbiri sığmadığı takdirde promosyon kodunun uygulanamadığı tüm durumları yakalamak için kullanılan genel hata kodu.PROMO_NOT_RECOGNIZED
: Kupon kodu tanınmadı.PROMO_ORDER_INELIGIBLE
: Mevcut sipariş bu kupon için uygun değil.PROMO_USER_INELIGIBLE
: Mevcut kullanıcı bu kupon için uygun değil.AVAILABILITY_CHANGED
: Öğe artık mevcut değil veya isteği yerine getirmek için yeterli öğe yok.INCORRECT_PRICE
: Ücret veya toplam fiyat hataları.INVALID
: Bir Satır Öğesi, FulfillmentOption veya Promosyon geçersiz veri içeriyor.NOT_FOUND
: Bir Satır Öğesi, FulfillmentOption veya Promosyon bulunamıyor.PRICE_CHANGED
: Bir öğenin fiyatı değişti.
FeeAmountRange
Aşağıdaki tabloda FeeAmountRange
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
minFeeAmount |
Money |
Alınan ücret tutarının alt sınırı. |
|
maxFeeAmount |
Money |
Alınan ücret tutarının üst sınırı. |
FeePercentRange
Aşağıdaki tabloda FeePercentRange
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
minFeePercent |
Number |
Alınan ücret yüzdesinin alt sınırı. |
|
maxFeePercent |
Number |
Alınan ücret yüzdesinin üst sınırı. |
FoodCartExtension
Kullanıcıyla ilgili, sipariş karşılama tercihleri gibi ayrıntıları içerir.
Aşağıdaki tabloda FoodCartExtension
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
@type |
Sabit |
Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodCartExtension" değerine ayarlanır. Değer: |
|
contact |
Contact |
Siparişi alan kişinin iletişim bilgileri. Ayrıntılar arasında kişinin adı, telefon numarası ve e-posta adresi bulunur. |
|
fulfillmentPreference |
FulfillmentOption |
Zorunlu. Kullanıcının sipariş karşılama tercihi. |
|
location |
Location |
CheckoutRequestMessage'da bu alan, siparişin teslim edilmesi için gerekli olan teslimat adresini belirtir. Paket servisi veya teslim alma için verilen siparişlerde bu alan mesaja dahil edilmez. |
Aşağıdaki örnekte bir FoodCartExtension
öğesi gösterilmektedir:
1. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } }
2. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } }
FoodErrorExtension
Bir istek işlenirken oluşan bir veya daha fazla hatayı tanımlar. Aşağıdaki tablodaFoodErrorExtension
türündeki alanlar açıklanmaktadır.
Hatalar CheckoutResponse
içinde gönderilebilir.
Aşağıdaki tabloda FoodErrorExtension
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
@type |
Sabit | Zorunlu. Bu uzantının türü. Değer: |
|
foodOrderErrors |
Listele<FoodOrderError > |
Zorunlu. Oluşan hataları açıklayan FoodOrderError nesneleri dizisi. Alışveriş sepeti veya öğe başına bir hata önerilir. En az 1 öğe içermelidir. |
|
correctedProposedOrder |
ProposedOrder |
Düzeltmeler içeren yeni bir ProposedOrder. Orijinal ProposedOrder'da kurtarılabilir hatalar varsa bu nesneyi döndürün. Örneğin, alışveriş sepetindeki bir veya daha fazla satır öğesinin fiyatındaki değişiklik kurtarılabilir bir hatadır. Geçerli bir ProposedOrder ile ilgili kurtarılabilir hatalar, kullanıcının alışveriş sepetini incelemesini gerektirmeden onay aşamasına geçilir. |
|
paymentOptions |
PaymentOptions |
Kullanıcı için varsayılan ödeme seçenekleri belirlendi. |
|
additionalPaymentOptions |
Listele<PaymentOptions > |
Kullanıcıya sunulan alternatif ödeme seçenekleri. |
Aşağıdaki örnekte bir FoodErrorExtension
öğesi gösterilmektedir:
Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension", "foodOrderErrors": [ { "error": "PRICE_CHANGED", "id": "sample_item_offer_id_1", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, { "error": "PRICE_CHANGED", "id": "sample_item_offer_id_2", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "8" } } ], "correctedProposedOrder": { "id": "sample_corrected_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "JCB", "VISA" ], "prepaidCardDisallowed": true } } }
FoodItemExtension
Gıda öğeleri için eklentileri tanımlar.
Aşağıdaki tabloda FoodItemExtension
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
@type |
Sabit | Zorunlu. Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" olarak ayarlanır. Değer: |
|
options |
Listele<FoodItemOption > |
Bir seçenek, bir eklenti grubu içeren bir eklenti öğesi veya eklenti grubu olabilir. |
Aşağıdaki örnekte bir FoodItemExtension
öğesi gösterilmektedir:
Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1, "subOptions": [ { "id": "10239138", "offerId": "912391723", "name": "Fries", "price": { "currencyCode": "USD", "units": "2", "nanos": 230000000 }, "quantity": 1 } ] } ] }
FoodItemOption
Aşağıdaki tabloda FoodItemOption
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
id |
String |
Google tarafından atanan benzersiz kimlik. Bir FoodOrderError veya AsyncOrderUpdateRequest gönderdiğinizde bir alışveriş sepetinin aynı offerId değerine sahip birden fazla öğe içerdiği durumları ayırt etmek için bu alanı kullanın. Örnek: |
|
offerId |
String |
Öğenin teklif kimliği. Örnek: |
|
name |
String |
Seçenek adı. Örnek: |
|
price |
Money |
||
note |
String |
Seçenekle ilgili not. |
|
quantity |
Number |
Öğe olan seçenekler için öğe sayısı. Örnek: |
|
subOptions |
Listele<FoodItemOption > |
Seçeneğin alt seçenekleri (varsa). Örnek: |
Aşağıdaki örnekte bir FoodItemOption
öğesi gösterilmektedir:
1. Örnek
{ "id": "10293231", "offerId": "1918491", "name": "Honey Mustard", "price": { "currencyCode": "USD", "units": "1", "nanos": 250000000 }, "quantity": 5 }
2. Örnek
{ "id": "123166552", "offerId": "912849184", "name": "Make It A Meal", "price": { "currencyCode": "USD", "units": "3", "nanos": 730000000 }, "quantity": 1, "subOptions": [ { "id": "10239138", "offerId": "912391723", "name": "Fries", "price": { "currencyCode": "USD", "units": "2", "nanos": 230000000 }, "quantity": 1 }, { "id": "57159183", "offerId": "81837123", "name": "Drink", "price": { "currencyCode": "USD", "units": "3", "nanos": 130000000 }, "quantity": 1 } ] }
FoodOrderError
CheckoutResponse
içindeki hatalarla ilgili ayrıntıları içerir.
Aşağıdaki tabloda FoodOrderError
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
error |
Error |
Zorunlu. |
|
id |
String |
Bu alan, öğe düzeyindeki hatalar için gereklidir. Menü öğeleri için Google tarafından atanan LineItem.id veya eklentiler için FoodItemOption.id'dir. |
|
description |
String |
Hatanın açıklaması. Bu açıklama dahili günlük kaydı içindir ve kullanıcılar tarafından görülemez. |
|
updatedPrice |
Money |
Hataya neden olan öğenin yeni fiyatı. Bu yalnızca hata "PRICE_CHANGED" olduğunda gereklidir. |
|
availableQuantity |
Integer |
Hataya neden olan öğenin yeni kullanılabilir miktarı. Bu yalnızca hata "INVALID" veya "NOT_FOUND" olduğunda gereklidir. "INVALID" ve "NOT_FOUND" için değer sıfır olmalıdır. |
Aşağıdaki örnekte bir FoodOrderError
öğesi gösterilmektedir:
1. Örnek
{ "error": "CLOSED", "description": "This store is currently reachable. Please try again later." }
2. Örnek
{ "error": "PRICE_CHANGED", "id": "french_fries", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }
FoodOrderExtension
Siparişle ilgili sipariş karşılama bilgilerini içerir.
Aşağıdaki tabloda FoodOrderExtension
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
@type |
Sabit |
Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension" olarak ayarlanır. Değer: |
|
availableFulfillmentOptions |
Listele<FulfillmentOption > |
Sipariş için mevcut sipariş karşılama seçeneklerini gösterir. |
|
optinForRemarketing |
Boole |
Kullanıcı, pazarlama kanallarınıza kaydolmayı talep ediyor. Varsayılan olarak, kullanıcının izni olmadan pazarlama içeriği gönderemezsiniz. optinForYeniden Pazarlama doğruysa kullanıcıyı abone yapabilirsiniz. optinForYeniden Pazarlama yanlışsa veya mevcut değilse, abonelik durumunu sisteminizde olduğu gibi tutmanız gerekir. Kullanıcılar Google aracılığıyla bu özelliği devre dışı bırakamaz, yalnızca pazarlama kanallarınızda sağlanan bir abonelik iptali işleviyle bu özelliği devre dışı bırakabilirler. Bu işaret yalnızcaSubmitOrderRequestMessage'da mevcuttur. |
Aşağıdaki örnekte bir FoodOrderExtension
öğesi gösterilmektedir:
1. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] }
2. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2020-08-20T11:41:00Z" } ], "optinForRemarketing": true }
FulfillmentOption
BirFulfillmentOption
nesnesini aşağıdaki şekillerde kullanabilirsiniz:
-
Checkout AppRequest
veSubmit AppRequest
içindeCart.extension.fulfillmentPreference
: Kullanıcının tercihini depolar (teslimat veya teslim alma). Ödeme isteği gönderildiğinde fiyat her zaman 0 olur. -
Checkout AppResponse
içindeProposedOrder.extension.availableFulfillmentOptions
: Bir veya daha fazla yayınlama seçeneği tanımlar (şu anda yalnızca bir seçenek desteklenmektedir).ProposedOrder.otherItems
ürününde varsayılan seçeneğiLineItem
olarak belirtirsiniz.FulfillmentOption
öğesininofferId
öğesi,ProposedOrder.otherItems
özelliğinde belirtilenLineItem
kimliğiyle eşleşmelidir.
Aşağıdaki tabloda FulfillmentOption
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
offerId |
String |
Varsa bu sipariş karşılama seçeneğinin benzersiz tanımlayıcısı. |
|
fulfillmentInfo |
FulfillmentOptionInfo |
Zorunlu. |
|
expiresAt |
ISO Zaman Damgası |
Bu sipariş karşılama seçeneğinin süresinin dolacağı saat. |
|
price |
Money |
Bu seçeneğin maliyeti. |
Aşağıdaki örnekte bir FulfillmentOption
öğesi gösterilmektedir:
Örnek
{ "offerId": "offer5", "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2019-05-02T00:00:00-07:00", "price": { "currencyCode": "USD", "units": "5", "nanos": 230000000 } }
FulfillmentOptionInfo
FulfillmentInfo
ile ilgili bilgileri tanımlar.
Aşağıdaki tabloda FulfillmentOptionInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki tesis gruplarından tam olarak biri gereklidir. | |||
delivery |
1. Grup | DeliveryInfo |
Varsa teslimat sırasını belirtir. |
pickup |
2. Grup | PickupInfo |
Varsa, teslim alma siparişini belirtir. |
Resim
Aşağıdaki tabloda Image
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
sourceUrl |
String | Zorunlu. Resmin URL'si Resim en azından 72x72 piksel olmalıdır. En iyi sonuçlar için en az 216x216 piksel boyutunda bir resim kullanın. Resim 6 MB'tan küçük ve 64 megapiksel olmalıdır. |
LineItem
Bir alışveriş sepetinin içeriğini (Cart.lineItems
) veya sipariş için ek ödemeleri (ProposedOrder.otherItems
) tanımlar.
Aşağıdaki tabloda LineItem
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
id |
String |
Alışveriş Sepetindeki bir Satır Öğesi (ProposedOrder.cart.lineItems[0].id) için, Google tarafından siparişi oluştururken oluşturulan benzersiz kimliktir. Teslimat ücretleri ve vergiler gibi öğeleri eklemek için kullanılan ProposedOrder (ProposedOrder.otherItems[0].id) içindeki bir Satır Öğesi için kimliğin değeri sağlayıcı tarafından tanımlanır. Örneğin, bir alışveriş sepetinde aynı öğelerden iki tanesi farklı hazırlama talimatlarına sahip (farklı malzeme setleri olan iki orta boy pizza gibi). Bu durumda, her iki öğe de aynı temel OfferId'ye sahiptir. Bir öğenin reddedildiğini belirtmek için sipariş güncelleme isteği gönderdiğinizde, açıklayıcı olarak bu kimliği kullanın. Diğer bir deyişle, pizzalardan biri belirli bir malzemesi olmadığı için reddedilirse kimlik Google'ın hangi siparişte bahsettiğiniz öğeyi belirlemesine yardımcı olur. Bu alan, otherItems dışında zorunludur. |
|
name |
String | Zorunlu. Satır öğesinin adı. Bu, kullanıcı tarafından görülebilen bir dizedir ve mümkün olduğunda cümle düzeninde olmalıdır (ör. "Teslimat ücreti", "Hizmet ücreti", "Vergi"). Bu alan, kullanıcılar için 100 karakter olacak şekilde kısaltılmıştır. |
|
type |
LineItemType |
Zorunlu. |
|
quantity |
Integer |
Dahil edilen öğe sayısı. ProposedOrder.otherItems için geçerli değildir. |
|
description |
String |
Öğenin açıklaması. |
|
price |
Price |
Zorunlu. Öğenin veya öğelerin fiyatı. Bu değer, bu satır öğesi için tüm ürün veya hizmetlerin toplam fiyatını yansıtır (başka bir deyişle, tüm eklentilerin maliyetini ekleyin ve miktarla çarpın). Örneğin: 10 TL'lik bir öğenin miktarı 3 ise fiyat 30 TL olur. Taban fiyatı 5 TL ve eklenti fiyatı 1 TL olan bir pizzanın fiyatı 6 TL olur. Taban fiyatı 5 TL olan ve her birinin eklentisi 1 TL olan iki pizza (miktar = 2) için fiyat 12 TL olur. Fiyat "0" olsa bile her bir Satır Öğesinin bir fiyatı olmalıdır. Tür DISCOUNT olduğunda değeri negatif olarak belirtin (örneğin, "-2"). |
|
subLines |
Listele<SublineNote > |
İsteğe bağlıdır ve yalnızca tür "DÜZENLİ" ise geçerlidir. Ödeme ve sipariş gönderme isteklerindeki bu alana kullanıcıdan öğeye özel bir not gönderilebilir. Notun, satıcıya ulaştığından emin olun. Bu değer, istekte subLines[0].note olarak yer alacaktır. Bu, bir istekte mevcut olduğunda bu alanda sağlanan tek değerdir. En fazla 1 öğe içermelidir. |
|
offerId |
String |
Öğenin Menü Öğesinin teklif kimliği. ProposedOrder.otherItems için geçerli değildir. |
|
extension |
FoodItemExtension |
Gıda öğeleri için eklentileri tanımlar. |
Aşağıdaki örnekte bir LineItem
öğesi gösterilmektedir:
1. Örnek
{ "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }
2. Örnek
{ "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }
LineItemType
LineItemType
türü aşağıdaki olası değerlere sahiptir:
REGULAR
: Ürün satır öğesi. Cart.lineItems için geçerlidir.TAX
: Vergi satır öğesi. ProposedOrder.otherItems için geçerlidir.DISCOUNT
: İndirimli satır öğesi. Fiyatın negatif olması gerektiğini unutmayın. ProposedOrder.otherItems için geçerlidir.GRATUITY
: Bahşiş satır öğesi. Genellikle kullanıcı tarafından seçilen bir ipucu içinSubmitOrderRequestMessage için ayrılmıştır. ProposedOrder.otherItems için geçerlidir.DELIVERY
: Yayınlama satır öğesi. ProposedOrder.otherItems için geçerlidir.SUBTOTAL
: Satır öğesinin ara toplamı. ProposedOrder.otherItems için geçerlidir.FEE
: Diğer türlerin kapsamına girmeyen ek satır öğesi. ProposedOrder.otherItems için geçerlidir.
Konum
Yemek siparişi için bir adres belirtir.Location
türü, Cart
içinde yalnızca teslimat siparişinin hedefini belirtmek için kullanılır.
Kullanıcı siparişi verirse nihai konum TransactionDecisionValue
'da da gösterilir. Teslim alma değerini belirten siparişlerde konum hiçbir şekilde dahil edilmez (boş bir yer bile dahil).
Aşağıdaki tabloda Location
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
coordinates |
Coordinates |
||
formattedAddress |
String |
Konumun adresini görüntüleyin. Örnek: |
|
postalAddress |
PostalAddress |
||
zipCode |
String |
Örnek: |
|
city |
String |
Şehrin adı. Örnek: |
|
notes |
String |
Konumla ilgili notlar (ör. kapı kodları.) Ad en fazla 500 karakter olmalıdır. Örnek: |
Aşağıdaki örnekte bir Location
öğesi gösterilmektedir:
Örnek
{ "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" }
Satıcı
Aşağıdaki tabloda Merchant
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
id |
String |
Satıcının kimliği. Belirtilmişse Restoran feed'indeki Restaurant.@id ile eşleşir. Örnek: |
|
name |
String | Zorunlu. Satıcının, kullanıcı tarafından görülebilen adı. Örnek: |
Aşağıdaki örnekte bir Merchant
öğesi gösterilmektedir:
Örnek
{ "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }
Para birimi
Aşağıdaki tabloda Money
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
currencyCode |
String | Zorunlu. ISO 4217 biçiminde 3 harfli para birimi kodu. Örnek: |
|
units |
String |
Tutarın tam birimleri. Örneğin currencyCode "USD" ise "1" birimi bir ABD dolarıdır. Örnek: |
|
nanos |
Integer |
Tutarın nano (10^-9) birimlerinin sayısı. Değer, -999.999.999 ile +999.999.999 (ikisi de dahil) arasında olmalıdır. Şu kuralları kullanın: Birim sayısı pozitifse nanos değeri pozitif veya sıfır olmalıdır. Units değeri sıfırsa nanos değeri pozitif, sıfır veya negatif olabilir. Units değeri negatifse nanos değeri negatif veya sıfır olmalıdır. Örneğin,$-1,75 birimler = -1 ve nanos = -750.000.000 olarak ifade edilir. Örnek: |
Aşağıdaki örnekte bir Money
öğesi gösterilmektedir:
1. Örnek
{ "currencyCode": "USD", "units": "36", "nanos": 730000000 }
2. Örnek
{ "currencyCode": "EUR", "units": "10" }
Sipariş verin
Vergiler, ücretler ve teslimat ücretleri dahil son siparişi ve ödeme bilgilerini içerir. Bu nesne,Submit AppRequest
içindeki işleminiz tarafından alındı.
Aşağıdaki tabloda Order
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
finalOrder |
ProposedOrder |
Zorunlu. Siparişe neden olan sipariş. |
|
googleOrderId |
String | Zorunlu. Sipariş kimliği Google tarafından atanır. Bu kimlik, siparişin tüm yaşam döngüsü boyunca sabit olmalıdır. Bu kimlik son kullanıcı tarafından görülemez. |
|
orderDate |
ISO Zaman Damgası | Zorunlu. Siparişin oluşturulduğu tarih ve saat. |
|
paymentInfo |
PaymentInfo |
Zorunlu. Bu sipariş için ödemeyle ilgili ödeme bilgileri. |
Aşağıdaki örnekte bir Order
öğesi gösterilmektedir:
Örnek
{ "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } }
OrderUpdate
Aşağıdaki tabloda,AppResponse
'e dahil olan OrderUpdate türündeki alanlar açıklanmaktadır.
Aşağıdaki tabloda OrderUpdate
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
actionOrderId |
String | Zorunlu. Güncellemenin gönderildiği sırayı tanımlamak için kullanılan ve entegratörün sistemindeki siparişin benzersiz kimliği. makbuz.user_visible_order_id, "CREATED" siparişi için OrderUpdate'de en az bir kez sağlanmazsa bu kimlik, Google sipariş kartında görüntülenen ve girilen kullanıcı tarafından görülebilen kimlik olacaktır. |
|
orderState |
OrderState |
Zorunlu. Siparişin yeni durumu. |
|
lineItemUpdates |
Harita<Dize, LineItemUpdate > |
||
updateTime |
ISO Zaman Damgası | Zorunlu. Siparişin güncellendiği saat. |
|
orderManagementActions |
Listele<OrderManagementAction > |
Destek ekibiyle iletişime geçme ve sipariş ayrıntılarını görüntüleme gibi sipariş sonrası işlemler. En az 1 öğe ve en fazla 6 öğe içermelidir. |
|
rejectionInfo |
RejectionInfo |
|
|
cancellationInfo |
CancellationInfo |
|
|
inTransitInfo |
InTransitInfo |
Bu alan kullanımdan kaldırılmıştır. |
|
fulfillmentInfo |
FulfillmentInfo |
Bu alan kullanımdan kaldırılmıştır. |
|
receipt |
Receipt |
Makbuzda kullanıcının görebildiği sipariş kimliğini girin. |
|
totalPrice |
Price |
Siparişin toplam fiyatı. |
|
infoExtension |
FoodOrderUpdateExtension |
Tahmini teslimat veya teslim alma aralığı gibi sipariş güncellemesiyle ilgili daha fazla ayrıntıyı tanımlar. |
Aşağıdaki örnekte bir OrderUpdate
öğesi gösterilmektedir:
Örnek
{ "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "41", "nanos": 600000000 } }, "lineItemUpdates": { "sample_item_id_1": { "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "reason": "This item has an updated price." } }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } }
PickupInfo
Aşağıdaki tabloda PickupInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
pickupTimeIso8601 |
String |
ISO 8601 zaman damgası biçiminde tahmini teslim alma zamanı: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" veya süre biçimi: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". Örneğin, PT90M, 90 dakikalık bir süreyi temsil eder. Varsayılan değer olan "PT0M", tercih edilen teslim alma süresinin mümkün olan en kısa zaman olduğunu gösterir. Referans: https://en.wikipedia.org/wiki/ISO_8601#Merged_date_and_time_representations. Ödeme yanıtı sırasında tahmini teslim alma süresini güncellemek için bunu kullanın. Örnek: |
Aşağıdaki örnekte bir PickupInfo
öğesi gösterilmektedir:
Örnek
{ "pickupTimeIso8601": "PT90M" }
PostalAddress
Aşağıdaki tabloda PostalAddress
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
regionCode |
String | Zorunlu. İki harfli ülke kodu. Örnek: |
|
postalCode |
String |
Posta kodu. Örnek: |
|
administrativeArea |
String |
Bir ülkenin veya bölgenin posta adresleri için kullanılan en yüksek idari alt bölüm. Bu bir eyalet, il, oblast veya il olabilir. Örnek: |
|
locality |
String |
Bu konumun bulunduğu şehir veya ilçe. Dünyanın iyi tanımlanmadığı veya bu yapıya uymayan bölgelerinde, yerellik belirtmeyin ve bunun yerine addressLines alanını kullanın. Örnek: |
|
addressLines |
List<String> |
Açık adresi belirtmek için kullanabileceğiniz bir veya daha fazla satır. Bu alan, belirsiz yerler içerebileceği için değiştirilmemelidir. Örnek: |
|
recipients |
List<String> |
Siparişin alıcılarının listesi. Bu alan yalnızca billingAddress alanında kullanılabilir. |
Aşağıdaki örnekte bir PostalAddress
öğesi gösterilmektedir:
Örnek
{ "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }
Fiyat
Aşağıdaki tabloda Price
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
type |
Enum [
"ESTIMATE",
"ACTUAL"
] |
Zorunlu. Promosyon kupon kodu. |
|
amount |
Money |
Zorunlu. |
Tanıtım
Aşağıdaki tabloda Promotion
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
coupon |
String | Zorunlu. Promosyon kupon kodu. |
ProposedOrder
Aşağıdaki tabloda ProposedOrder
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
id |
String |
Önerilen sipariş için isteğe bağlı kimlik. |
|
cart |
Cart |
Zorunlu. Kullanıcının öğeleri. |
|
otherItems |
Listele<LineItem > |
Teslimat ücretleri, diğer ücretler ve vergiler gibi sağlayıcı tarafından eklenen öğeler. Diğer öğeler, kullanıcı tarafından eklenen bahşiş ve/veya indirimi de içerebilir. En fazla 10 öğe içermelidir. |
|
image |
Image |
Önerilen siparişle ilişkili resim. |
|
totalPrice |
Price |
Zorunlu. Önerilen siparişin toplam fiyatı. |
|
extension |
FoodOrderExtension |
Zorunlu. Yemek siparişleri için sipariş karşılama bilgilerini tanımlar. |
|
disclaimers |
Listele<Disclaimer > |
Sipariş verilmeden önce kullanıcı arayüzünde gösterilen sorumluluk reddi beyanı mesajlarına karşılık gelir. |
Aşağıdaki örnekte bir ProposedOrder
öğesi gösterilmektedir:
Örnek
{ "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }
SublineNote
Aşağıdaki tabloda SublineNote
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
note |
String | Zorunlu. |
Zaman damgası
Şu biçimde tarih ve saat:
"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
TransactionDecisionValue
Order
öğesini içerir.
Aşağıdaki tabloda TransactionDecisionValue
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
order |
Order |
Zorunlu. Ödeme ayrıntılarıyla verilecek sipariş. |
Aşağıdaki örnekte bir TransactionDecisionValue
öğesi gösterilmektedir:
Örnek
{ "order": { "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } } }
Sipariş Karşılama İsteği
AppRequest
Aşağıdaki tabloda AppRequest
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
isInSandbox |
Boole |
Sonraki işlemlerin korumalı alan ortamında yapılıp yapılmadığını belirtir. |
|
conversation |
Conversation |
||
inputs |
Listele<Input > |
Zorunlu. Alışveriş sepetini ödeme için beklenen bağımsız değişkenleri içerir. Tam olarak 1 öğe olmalıdır. |
Aşağıdaki örnekte bir AppRequest
öğesi gösterilmektedir:
1. Örnek
{ "isInSandbox": true, "inputs": [ { "intent": "actions.foodordering.intent.CHECKOUT", "arguments": [ { "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } } } ] } ] }
2. Örnek
{ "isInSandbox": true, "inputs": [ { "intent": "actions.intent.TRANSACTION_DECISION", "arguments": [ { "transactionDecisionValue": { "order": { "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } } } } ] } ] }
CheckoutRequestMessage
CheckoutRequestMessage
, actions.foodordering.intent.CHECKOUT
amacına sahip bir AppRequest
'dir.
SubmitOrderRequestMessage
SubmitOrderRequestMessage
, actions.foodordering.intent.TRANSACTION_DECISION
amacına sahip bir AppRequest
'dir.
Etkileşim
Conversation
yalnızca bir oturuma özgüdür. Gerekirse birden fazla Checkout
ve SubmitOrder
işlemini birbirine bağlamak için bu alanı kullanabilirsiniz.
Aşağıdaki tabloda Conversation
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
conversationId |
String | Zorunlu. Görüşmenin benzersiz kimliği. |
Aşağıdaki örnekte bir Conversation
öğesi gösterilmektedir:
Örnek
{ "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ" }
Giriş
Alışveriş sepetini ödeme için beklenen bağımsız değişkenler.
Aşağıdaki tabloda Input
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
intent |
Enum [
"actions.foodordering.intent.CHECKOUT",
"actions.intent.TRANSACTION_DECISION"
] |
Zorunlu. Ödeme isteği mesajı için "actions.foodordering.intent.CHECKOUT" veya sipariş isteği mesajı göndermek için "actions.intent.TRANSACTION_DECISION" olarak ayarlayın. |
|
arguments |
Listele<Argument > |
Zorunlu. Ödeme yapılacak alışveriş sepetini veya verilecek siparişi içerir Tam olarak 1 öğe olmalıdır. |
Argüman
Kullanıcının göz atmak istediği gıda ürünleriyle ilgili ayrıntıları içerir. Ödeme için yalnızca uzantı kullanılabilir. Sipariş göndermek için yalnızca transactionDecisionValue geçerlidir
Aşağıdaki tabloda Argument
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki tesis gruplarından tam olarak biri gereklidir. | |||
extension |
1. Grup | Cart |
Kullanıcının göz atmak istediği gıda ürünlerini ayrıntılı bir şekilde gösterir. |
transactionDecisionValue |
2. Grup | TransactionDecisionValue |
Verilecek siparişi ve ödeme ayrıntılarını içerir. |
Sipariş Karşılama Yanıtı
AppResponse
Aşağıdaki tabloda AppResponse
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
expectUserResponse |
Sabit |
Yanlış değerine ayarlayın. Değer: |
|
finalResponse |
FinalResponse |
Zorunlu. Alışveriş sepeti ödeme işlemine verdiğiniz yanıtı içerir. |
Aşağıdaki örnekte bir AppResponse
öğesi gösterilmektedir:
1. Örnek
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "checkoutResponse": { "proposedOrder": { "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }, "additionalPaymentOptions": [ { "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Cash on delivery." } } ] } } } ] } } }
2. Örnek
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "CUSTOMER_SERVICE", "button": { "title": "Call customer service", "openUrlAction": { "url": "tel:+18005554679" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } } } ] } } }
3. Örnek
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "error": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension", "foodOrderErrors": [ { "error": "CLOSED", "description": "The restaurant is closed." } ] } } } ] } } }
4. Örnek
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "checkoutResponse": { "proposedOrder": { "otherItems": [ { "name": "Delivery Fees", "subLines": [], "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "subLines": [], "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } }, "type": "TAX" }, { "name": "Promotion", "subLines": [], "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": 0 } }, "id": "OWG_ACTIVE_CODE", "type": "DISCOUNT" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "promotions": [ { "coupon": "OWG_ACTIVE_CODE" } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "14", "nanos": 860000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2018-04-10T01:20:08.471Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "VISA", "JCB" ], "prepaidCardDisallowed": true, "billingAddressRequired": true } } } } } ] } } }
CheckoutResponseMessage
CheckoutResponseMessage
, StructuredResponse
içinde checkoutResponse
veya error
bulunan bir AppResponse
öğesidir.
SubmitOrderResponseMessage
SubmitOrderResponseMessage
, StructuredResponse
içinde orderUpdate
bulunan bir AppResponse
'dir.
FinalResponse
Alışveriş sepetinde ödeme işlemine veya SendOrderRequestMessage'a verdiğiniz yanıt.
Aşağıdaki tabloda FinalResponse
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
richResponse |
RichResponse |
Zorunlu. CheckoutRequestMessage veya SendOrderRequestMessage için verdiğiniz yanıtı içerir. |
CheckoutResponse
Aşağıdaki tabloda CheckoutResponse
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
proposedOrder |
ProposedOrder |
Zorunlu. İşlem için kullanılması önerilen sıra. |
|
paymentOptions |
PaymentOptions |
Zorunlu. Kullanıcı için varsayılan ödeme seçeneği belirlendi. |
|
additionalPaymentOptions |
Listele<PaymentOptions > |
Kullanıcıya sunulan alternatif ödeme seçenekleri. |
Aşağıdaki örnekte bir CheckoutResponse
öğesi gösterilmektedir:
Örnek
{ "proposedOrder": { "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }, "additionalPaymentOptions": [ { "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Cash on delivery." } } ] }
Öğe
Bir alışveriş sepeti ödemesine veya submitOrderRequestMessage'a verdiğiniz yanıtı içerir.
Aşağıdaki tabloda Item
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
structuredResponse |
StructuredResponse |
Zorunlu. |
RichResponse
Alışveriş sepeti ödemelerine verdiğiniz yanıtı içerir.
Aşağıdaki tabloda RichResponse
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
items |
Listele<Item > |
Zorunlu. Tam olarak 1 öğe olmalıdır. |
StructuredResponse
CheckoutResponseMessage için bu şunlardan biri olabilir: CheckoutResponse Başarılı ödeme işlemini belirtir. VEYA FoodErrorExtension: Ödeme sırasında bir hatayı gösterir. Yanıtta, düzeltilmiş bir ProposedOrder ve PaymentOptions veya PaymentOptions'ın olmadığı bir hata mesajı yer alabilir. PurchaseOrderResponseMessage için yalnızca orderUpdate geçerlidir.
Aşağıdaki tabloda StructuredResponse
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki tesis gruplarından tam olarak biri gereklidir. | |||
checkoutResponse |
1. Grup | CheckoutResponse |
Öğeler, vergiler ve indirimler ödemesi yapıldı. |
error |
2. Grup | FoodErrorExtension |
Alışveriş sepeti öğelerinde gözlemlenen hatalar. Hatanın niteliğine bağlı olarak bu özellik, düzeltilmiş bir ProposedOrder ve PaymentOptions veya sadece PaymentOptions öğesi olmayan bir hata mesajı içerebilir. |
orderUpdate |
3. Grup | OrderUpdate |
Eşzamansız sipariş güncellemeleri
Bu bölümde, tipik bir yemek siparişi yerleşik işlem etkileşiminin isteklerini ve yanıtlarını oluşturan üst düzey türler açıklanmaktadır.AsyncOrderUpdateRequestMessage
Sipariş gönderildikten ve onaylandıktan sonra kullanıcıyı değişiklikler hakkında bilgilendirir. Örneğin, kullanıcıya siparişin nakliye sürecinde olduğunu veya fiyatın değişip değişmediğini bildirebilirsiniz. Daha fazla bilgi edinmek için şu sayfaya bakın:Aşağıdaki tabloda AsyncOrderUpdateRequestMessage
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
isInSandbox |
Boole |
Bu güncellemenin gönderildiği siparişin bir korumalı alan ödemesi olduğunu belirtir. |
|
customPushMessage |
CustomPushMessage |
Zorunlu. İsteğin Sipariş Güncellemesi'ni içerir. |
Aşağıdaki örnekte bir AsyncOrderUpdateRequestMessage
öğesi gösterilmektedir:
Örnek
{ "isInSandbox": true, "customPushMessage": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } } }
AsyncOrderUpdateResponseMessage
AsyncOrderUpdateRequestMessage
başarıyla gönderildikten sonra, Google bir HTTP 200 durumu ve boş bir gövdeyle yanıt verir. Güncelleme başarısız olduysa Google, sipariş güncellemesinin neden başarısız olduğuyla ilgili ayrıntıları da içeren bir yanıt verir.
Sipariş güncelleme türleri
Düğme
Kullanıcı etkileşimi sağlamak için ekleyebileceğiniz bir kullanıcı arayüzü öğesi tanımlar.
Aşağıdaki tabloda Button
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
title |
String | Zorunlu. Görüntü etiketi. Düzgün şekilde oluşturulması için en fazla 30 karakterden oluşan cümle düzeni kullanın. Örnek: |
|
openUrlAction |
OpenUrlAction |
Zorunlu. |
Aşağıdaki örnekte bir Button
öğesi gösterilmektedir:
Örnek
{ "title": "Send us feedback", "openUrlAction": { "url": "mailto:person@example.com" } }
CancellationInfo
Aşağıdaki tabloda CancellationInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
reason |
String | Zorunlu. OrderState.state "CANCELLED" olduğunda, ret için görüntülenebilir metin nedeni. Örnek: |
Aşağıdaki örnekte bir CancellationInfo
öğesi gösterilmektedir:
Örnek
{ "reason": "Insufficient inventory" }
FoodOrderUpdateExtension
Bu tür, kullanıcıya siparişin teslim edileceği veya teslim alınmaya hazır hale geleceği tahmini aralığı sunar. Bilgiler mevcut olduğunda veya son gönderimlerinden sonra her değiştiğinde bu uzantıyı OrderUpdate
ile gönderin.
Kullanıcı beklentilerinin tutarlı bir şekilde karşılanması için sipariş karşılama aralığı için ölçülü bir tahmin sağlayın. Örneğin, siparişin bugün saat 13:00'te teslim edileceği tahmin ediliyorsa trafik koşullarından kaynaklanan değişikliklerle tutarlı olan tahmini bir aralık göndermeniz gerekir (ör. bugün saat 12:45 ile 13:15).
ISO 8601 süresi veya zaman damgası, OrderUpdate
için updateTime
(aslında "şimdi") ile updateTime
artı duration
arasındaki aralığı ifade edecek şekilde yorumlanır.
"Şimdi" ifadesi aslında makul bir beklenti olmadığı sürece bu biçimi kullanmayın.
ISO 8601 aralığı, aralığın başlangıcından sonuna kadar olan aralığı ifade edecek şekilde yorumlanır.
Aşağıdaki tabloda FoodOrderUpdateExtension
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
@type |
Sabit |
Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension" değerine ayarlanır. Değer: |
|
estimatedFulfillmentTimeIso8601 |
String |
Siparişin teslim edileceği veya teslim alınmaya hazır olacağı tahmini süre. Dize ISO 8601 biçiminde olmalı ve tek bir sabit zaman yerine bir aralığa karşılık gelmelidir. Kabul edilebilir kurallar şunlardır: Aralıklar, Süreler ve Tarihler/Saatler. Bu alan, bilgiler kullanıma sunulduğunda veya erken ya da gecikmeli varışlar gibi bir değişiklik olduğunda FromOrderResponseMessage veya AsyncOrderUpdateRequestMessage aracılığıyla gönderilebilir. Örnek: |
|
foodOrderErrors |
Listele<FoodOrderError > |
Sipariş sonrası oluşan hataları açıklar. Alışveriş sepeti veya öğe başına bir hata önerilir. Reddetme Bilgileri kapsamına girmeyen hatalar için FoodOrderUpdateExtension.FoodOrderErrors öğesini kullanın. En az 1 öğe içermelidir. |
Aşağıdaki örnekte bir FoodOrderUpdateExtension
öğesi gösterilmektedir:
1. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" }
2. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "foodOrderErrors": [ { "error": "NO_CAPACITY", "description": "Sorry, the restaurant cannot take your order right now." } ] }
FulfillmentInfo
Aşağıdaki tabloda FulfillmentInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki tesis gruplarından tam olarak biri gereklidir. | |||
deliveryTime |
1. Grup | ISO Zaman Damgası |
FoodOrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601 değerini kullan |
pickupTime |
2. Grup | ISO Zaman Damgası |
FoodOrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601 değerini kullan |
Aşağıdaki örnekte bir FulfillmentInfo
öğesi gösterilmektedir:
1. Örnek
{ "deliveryTime": "2017-05-10T02:36:38.803Z" }
2. Örnek
{ "pickupTime": "2019-12-26T07:24:27.803Z" }
InTransitInfo
Aşağıdaki tabloda InTransitInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
updatedTime |
ISO Zaman Damgası |
FoodOrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601 değerini kullan |
Aşağıdaki örnekte bir InTransitInfo
öğesi gösterilmektedir:
Örnek
{ "updatedTime": "2017-05-10T02:36:38.803Z" }
LineItemUpdate
Aşağıdaki tabloda LineItemUpdate
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
orderState |
OrderState |
||
price |
Price |
||
reason |
String |
Değişikliğin nedeni. Fiyat değişiklikleri için zorunludur. |
Aşağıdaki örnekte bir LineItemUpdate
öğesi gösterilmektedir:
Örnek
{ "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "5", "nanos": 500000000 } }, "reason": "Menu updated prices." }
OpenUrlAction
Aşağıdaki tabloda OpenUrlAction
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
url |
String | Zorunlu. Düğmenin tıklanması veya düğmeye dokunulmasıyla tetiklenen işlem. Geçerli ön eklerin listesi orderManagementActionType'a bağlıdır. "EMAIL": Önek "mailto" olmalıdır. "CALL": Önek "tel" olmalıdır. "CUSTOMER_SERVICE": Önek "mailto", "tel", "http" veya "https" olmalıdır. Örnek: |
OrderManagementAction
Sipariş yönetimi, kullanıcıların sipariş sonrası desteği almasına olanak tanır. Sipariş gönderme AppResponse
sırasında her OrderUpdate
içinde gönderilmelidir. Belirli bir sipariş için gönderilen sonraki her AsyncOrderUpdateRequestMessage
sipariş yönetimi işlemi, eyalete göre değişiklik gösterebilir.
Örneğin, "OLUŞTURULDU" durumunda CUSTOMER_SERVICE
, müşteri desteği telefonunuza başvurabilir. Daha sonra CUSTOMER_SERVICE
, "ONAYLANDI" durumunda müşteri için en iyi iletişim noktası haline gelirse restoranın telefonuna geçebilir. Benzer şekilde, sipariş "TAMAMLANDI" durumuna geldiğinde, CUSTOMER_SERVICE
destek e-posta adreslerinize referans verebilir.
Aşağıdaki tabloda OrderManagementAction
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
type |
OrderManagementActionType |
Zorunlu. |
|
button |
Button |
Zorunlu. |
Aşağıdaki örnekte bir OrderManagementAction
öğesi gösterilmektedir:
1. Örnek
{ "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }
2. Örnek
{ "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }
OrderManagementActionType
OrderManagementAction
ile ilgili türleri tanımlar.
OrderManagementActionType
türü aşağıdaki olası değerlere sahiptir:
CUSTOMER_SERVICE
: Sipariş onay sayfasında gösterilecek müşteri hizmetlerinin e-posta adresi ve/veya iletişim numarası. Bu gereklidir. openUrlAction.url ön eki "mailto", "tel", "http" veya "https" olmalıdır.EMAIL
: E-posta işlemi yalnızca sipariş ayrıntıları sayfasında. openUrlAction.url ön eki "mailto" olmalıdır.CALL_DRIVER
: Çağrı işlemi yalnızca sipariş ayrıntıları sayfasında yapılır. openUrlAction.url ön eki "tel" olmalıdır.CALL_RESTAURANT
: Çağrı işlemi yalnızca sipariş ayrıntıları sayfasında yapılır. openUrlAction.url ön eki "tel" olmalıdır.
OrderState
Siparişin mevcut durumu. Her OrderState
state
değeri, myaccount.google.com adresindeki bir satın alma durumuna da karşılık gelir.
Aşağıdaki tabloda OrderState
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
state |
OrderStateEnum |
Zorunlu. |
|
label |
String | Zorunlu. Durum için kullanıcı tarafından görülebilen görüntüleme dizesi. Normal tümce düzeni kullanın. Örnek: |
Aşağıdaki örnekte bir OrderState
öğesi gösterilmektedir:
Örnek
{ "state": "CONFIRMED", "label": "Provider confirmed" }
OrderStateEnum
OrderState
ile ilgili türleri tanımlar.
OrderStateEnum
türü aşağıdaki olası değerlere sahiptir:
CREATED
: Sipariş, entegratör tarafından oluşturuldu ve sağlayıcı tarafından onay bekleniyor. "Sipariş verildi" satın alma durumuna karşılık gelir.CONFIRMED
: Sipariş, sağlayıcı tarafından onaylandı ve etkin. "Kabul edildi" satın alma durumuna karşılık gelir.REJECTED
: Sipariş, entegratör veya sağlayıcı tarafından reddedildi. "Reddedildi" satın alma durumuna karşılık gelir.CANCELLED
: Kullanıcı siparişi iptal etti. "İptal edildi" satın alma durumuna karşılık gelir.IN_PREPARATION
: Yemek hazırlanıyor. "Durum bilinmiyor" satın alma durumuna karşılık gelir.READY_FOR_PICKUP
: Yiyecek teslim alınmaya hazır. "Teslim alma için hazır" satın alma durumuna karşılık gelir.IN_TRANSIT
: Sipariş teslim ediliyor. "Devam ediyor" satın alma durumuna karşılık gelir.FULFILLED
: Kullanıcı, siparişi aldı. "Teslim edildi" satın alma durumuna karşılık gelir.
Fatura
Bu türü,OrderState
değerinin "ONAYLANDI", "FULFILLED" veya "IN_TRANSIT" olduğu AppResponse
gönderim siparişiyle gönderin. Makbuzu, userVisibleOrderId
hazır olduğunda gönderin. Sonraki güncellemelerde makbuzu
göndermeye devam etmeniz gerekmez.
Aşağıdaki tabloda Receipt
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
userVisibleOrderId |
String | Zorunlu. Sipariş "ONAYLANDI", "IN_TRANSIT" veya "FULFILLED" ise gereklidir. Bu alan, bu sipariş için kullanıcıya gösterilen tek kimliktir (genellikle restoranın sipariş kimliği). Hem entegratörün makbuzunda hem de Google sipariş kartında gösterilir. Kullanıcı, sağlayıcı ve entegratörle müşteri hizmetleri siparişine referans vermek için bu kimliği kullanabilmelidir. Bu kimliği herhangi bir Sipariş Güncellemesi'nde yalnızca bir kez sağlamanız yeterlidir. Bu sağlanana kadar actionOrderId, uservisibleOrderId olacaktır. Örneğin, sipariş restoran tarafından onaylanana kadar uservisibleOrderId değeriniz olmayabilir. Onaylandıktan sonra, OrderUpdate ve Makbuz içeren bir AsyncOrderUpdateRequestMessage göndermeniz gerekir. |
Aşağıdaki örnekte bir Receipt
öğesi gösterilmektedir:
Örnek
{ "userVisibleOrderId": "userVisibleId1234" }
RejectionInfo
Aşağıdaki tabloda RejectionInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
type |
RejectionType |
Zorunlu. |
|
reason |
String |
Dahili günlük kaydı için kullanılan reddetme nedeni. Bu alan kullanıcılar tarafından görülemez. |
Aşağıdaki örnekte bir RejectionInfo
öğesi gösterilmektedir:
Örnek
{ "type": "PAYMENT_DECLINED", "reason": "There is an issue with payment processing." }
RejectionType
RejectionType
türü aşağıdaki olası değerlere sahiptir:
INELIGIBLE
: Kullanıcı, politikayla veya riskle ilgili endişeler nedeniyle uygun değil.PAYMENT_DECLINED
: Ödemenin işlenmesiyle ilgili bir sorun var.UNAVAILABLE_SLOT
: Sipariş, DeliveryInfo veya PickupInfo tarafından belirtilen zamanında yerine getirilemez.PROMO_NOT_APPLICABLE
: Promosyonla ilgili bir sorun var.UNKNOWN
: Başka herhangi bir nedenden ötürü.
Ödemeyle ilgili türler
Bu bölümde, yemek siparişi karşılama için kullanılan ödemeyle ilgili türler açıklanmaktadır.ActionProvidedPaymentOptions
İşlem tarafından sağlanan ödeme yöntemiyle ilgili koşullar.
Aşağıdaki tabloda ActionProvidedPaymentOptions
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
paymentType |
PaymentType |
Zorunlu. |
|
displayName |
String | Zorunlu. Makbuzda gösterilen ödeme aracının adı. Örnek: |
|
onFulfillmentPaymentData |
OnFulfillmentPaymentData |
"ON_FULFILLMENT" paymentType için ek veriler. Örneğin, sipariş karşılamada nakit veya kart desteklenip desteklenmediğini belirtmek için bu alanı kullanabilirsiniz. |
Aşağıdaki örnekte bir ActionProvidedPaymentOptions
öğesi gösterilmektedir:
Örnek
{ "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } }
AllowedAuthMethods
AllowedAuthMethods
türü aşağıdaki olası değerlere sahiptir:
PAN_ONLY
: Kullanıcının Google Hesabında kayıtlı ödeme kartlarıyla ilişkili kimlik doğrulama yöntemi. İade edilen ödeme verileri, son kullanma ayı ve son kullanma yılı ile birlikte kişisel hesap numarasını (PAN) içerir.
AllowedCardNetworks
AllowedCardNetworks
türü aşağıdaki olası değerlere sahiptir:
AMEX
DISCOVER
INTERAC
JCB
MASTERCARD
VISA
BillingAddressParameters
Bu nesne, istenen fatura adresi için döndürülecek ek alanları ayarlamanıza olanak tanır.
Aşağıdaki tabloda BillingAddressParameters
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
format |
String |
İşlemi tamamlamak için fatura adresi biçimi gereklidir. MIN: Ad, ülke kodu ve posta kodu. TAM: Ad, açık adres, şehir, bölge, ülke kodu ve posta kodu. |
Aşağıdaki örnekte bir BillingAddressParameters
öğesi gösterilmektedir:
1. Örnek
{ "format": "MIN" }
2. Örnek
{ "format": "FULL" }
CardParameters
Sitenizin Google Pay API'ye yönelik desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda CardParameters
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
allowedAuthMethods |
List<Const> | Zorunlu. Kart işlemlerinin kimliğini doğrulamak için desteklenen alanlar. En az 1 öğe içermelidir. |
|
allowedCardNetworks |
Listele<AllowedCardNetworks > |
Zorunlu. Desteklediğiniz ve Google Pay API tarafından da desteklenen bir veya daha fazla kart ağı. En az 1 öğe içermelidir. |
|
billingAddressRequired |
Boole |
Fatura adresine ihtiyacınız varsa değeri true olarak ayarlayın. Yalnızca işlemin gerçekleştirilmesi için fatura adresi gerekiyorsa istekte bulunun. Ek veri istekleri, ödeme sürecindeki zorlukları artırabilir ve daha düşük dönüşüm oranlarına yol açabilir. |
|
billingAddressParameters |
BillingAddressParameters |
billingAddressRequired doğru değerine ayarlanırsa beklenen alanlar döndürülür. |
|
cvcRequired |
Boole |
TimesofMoney kullanılıyorsa "true" (doğru), diğer tüm ödeme işleyiciler için "false" (yanlış) değerine ayarlayın. |
Aşağıdaki örnekte bir CardParameters
öğesi gösterilmektedir:
1. Örnek
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": false, "cvcRequired": false }
2. Örnek
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": true, "billingAddressParameters": { "format": "MIN" }, "cvcRequired": false }
GoogleProvidedPaymentInstrument
Aşağıdaki tabloda GoogleProvidedPaymentInstrument
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
instrumentToken |
String | Zorunlu. Daha önce belirtilen GoogleProvidedPaymentOptions'a göre, kullanıcıdan katılımcı bir Google Pay işlemcisinden ödeme almak için ödeme jetonunu içeren temel 64 kodlu dize. |
|
billingAddress |
PostalAddress |
Ödemenin fatura adresi. |
Aşağıdaki örnekte bir GoogleProvidedPaymentInstrument
öğesi gösterilmektedir:
Örnek
{ "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] } }
GoogleProvidedPaymentOptions
Google tarafından sağlanan ödeme yöntemiyle ilgili koşullar.
Aşağıdaki tabloda GoogleProvidedPaymentOptions
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
facilitationSpecification |
String |
Dize olarak bir PaymentDataRequest JSON dosyası. Sitenizin Google Pay API'ye yönelik desteğini yapılandırmak için bu nesneyi kullanın. |
|
supportedCardNetworks |
Listele<SupportedCardNetworks > |
Bunun yerine facilitationSpecification'ı kullanın. Temsilci tarafından desteklenen kart ağlarının türü. Bu alan kullanımdan kaldırılmıştır. |
|
prepaidCardDisallowed |
Boole |
Bunun yerine facilitationSpecification'ı kullanın. Ödeme türü olarak ön ödemeli karta izin verilip verilmediği. Bu alan kullanımdan kaldırılmıştır. |
|
billingAddressRequired |
Boole |
Bunun yerine facilitationSpecification'ı kullanın. Fatura adresinin zorunlu olup olmadığı. Bu alan kullanımdan kaldırılmıştır. |
|
tokenizationParameters |
TokenizationParameters |
Bu alan kullanımdan kaldırılmıştır. |
Aşağıdaki örnekte bir GoogleProvidedPaymentOptions
öğesi gösterilmektedir:
1. Örnek
{ "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" }
2. Örnek
{ "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "braintree", "braintree:apiVersion": "v1", "braintree:sdkVersion": "1.4.0", "braintree:merchantId": "a1b2c3d4e5", "braintree:clientKey": "production_braintree_client_key", "braintree:authorizationFingerprint": "same_as_client_key" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "JCB", "VISA" ], "prepaidCardDisallowed": true }
3. Örnek
{ "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "VISA", "JCB" ], "prepaidCardDisallowed": true, "billingAddressRequired": true }
MerchantInfo
Sitenizin Google Pay API'ye yönelik desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda MerchantInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
merchantId |
String |
Google Pay tarafından size verilen Google satıcı tanımlayıcısı. |
|
merchantName |
String | Zorunlu. Satıcı adı UTF-8 olarak kodlanmış. Satıcı adı, ödeme sayfasında oluşturulur. |
OnFulfillmentPaymentData
PaymentType "ON_FULFILLMENT" için ek veri göndermek amacıyla bu nesneyi kullanın.
Aşağıdaki tabloda OnFulfillmentPaymentData
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
supportedPaymentOptions |
Listele<PaymentOptionsEnums > |
Sipariş karşılandığında kullanıcının kullanabileceği ödeme seçeneklerinin listesi. |
Aşağıdaki örnekte bir OnFulfillmentPaymentData
öğesi gösterilmektedir:
Örnek
{ "supportedPaymentOptions": [ "Cash", "Card" ] }
Parametreler
TokenizationParameters
ile ilgili türleri tanımlar.
Aşağıdaki tabloda Parameters
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
gateway |
String | Zorunlu. Örnek: |
|
gatewayMerchantId |
String | ||
[additionalKey: string] |
String | Ek anahtar/değer çiftleri |
Aşağıdaki örnekte bir Parameters
öğesi gösterilmektedir:
1. Örnek
{ "gatewayMerchantId": "90412491", "gateway": "olo" }
2. Örnek
{ "gateway": "braintree", "braintree:apiVersion": "v1", "braintree:sdkVersion": "1.4.0", "braintree:merchantId": "YOUR_MERCHANT_ID", "braintree:clientKey": "YOUR_BRAINTREE_SANDVOX_OR_PRODUCTION_KEY" }
PaymentDataRequest
Sitenizin Google Pay API'ye yönelik desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda PaymentDataRequest
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
apiVersion |
Sabit | Zorunlu. Ana API sürümü. Değer: |
|
apiVersionMinor |
Sabit | Zorunlu. Küçük API sürümü. Değer: |
|
merchantInfo |
MerchantInfo |
Zorunlu. (Google Pay satıcı kimliği) Ödeme verilerini isteyen satıcıyla ilgili bilgiler. |
|
allowedPaymentMethods |
Listele<PaymentMethod > |
Zorunlu. Google Pay API tarafından desteklenen bir veya daha fazla ödeme yönteminin desteğini belirtir. |
|
transactionInfo |
TransactionInfo |
Zorunlu. Kullanıcının işlemi kabul edip etmediğine bağlı olarak işlemin yetkilendirilmesiyle ilgili ayrıntılar. Bu alanda toplam fiyat ve fiyat durumu yer alır. |
Aşağıdaki örnekte bir PaymentDataRequest
öğesi gösterilmektedir:
Örnek
{ "apiVersion": 2, "apiVersionMinor": 0, "merchantInfo": { "merchantId": "10391231", "merchantName": "Burrito Town" }, "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": true, "billingAddressParameters": { "format": "FULL" }, "cvcRequired": false }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:version": "2019-05-16", "stripe:publishableKey": "pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA" } } } ], "transactionInfo": { "currencyCode": "INR", "totalPriceStatus": "ESTIMATED", "totalPrice": "185.00" } }
PaymentInfo
Bir sipariş için ödemeyle ilgili bilgiler.
Aşağıdaki tabloda PaymentInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
displayName |
String | Zorunlu. Makbuzda gösterilecek ödeme aracının kullanıcı tarafından görülebilen adı. |
|
paymentType |
PaymentType |
Zorunlu. |
|
googleProvidedPaymentInstrument |
GoogleProvidedPaymentInstrument |
İşlem tarafından kullanılabilecek jeton. Bunu yalnızca, CheckoutResponseMessage'da GoogleProvidedPaymentOptions'ı bir ödeme seçeneği olarak belirttiyseniz belirtin. |
Aşağıdaki örnekte bir PaymentInfo
öğesi gösterilmektedir:
1. Örnek
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" }
2. Örnek
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "123 Random Street", "Unit ABC" ], "recipients": [ "sample_receipient" ] } }, "paymentType": "PAYMENT_CARD" }
PaymentMethod
Sitenizin Google Pay API'ye yönelik desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda PaymentMethod
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
type |
Sabit | Zorunlu. Desteklenen ödeme yönteminin kısa tanımlayıcısı. Şu anda yalnızca CARD desteklenmektedir. Değer: |
|
parameters |
CardParameters |
Zorunlu. Sağlanan ödeme yöntemi türünü yapılandırmak için gerekli parametreler. |
|
tokenizationSpecification |
TokenizationSpecification |
Zorunlu. Ödeme bilgilerini almak için bir hesap veya şifre çözme sağlayıcısı yapılandırın. Bu özellik, CARD ödeme yöntemi için gereklidir. |
Aşağıdaki örnekte bir PaymentMethod
öğesi gösterilmektedir:
Örnek
{ "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": false }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "90412491", "gateway": "olo" } } }
PaymentOptions
Aşağıdaki tabloda PaymentOptions
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki tesis gruplarından tam olarak biri gereklidir. | |||
googleProvidedOptions |
1. Grup | GoogleProvidedPaymentOptions |
actionProvidedOptions ile birlikte kullanılamaz. Bu numarayı, gPay ile online ödeme yapmak için kullanın. |
actionProvidedOptions |
2. Grup | ActionProvidedPaymentOptions |
googleProvidedOptions ile kullanılamaz. Bunu "teslimatta nakit ödeme" veya "sipariş karşılamada ödeme" için kullanın. |
Aşağıdaki örnekte bir PaymentOptions
öğesi gösterilmektedir:
1. Örnek
{ "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }
2. Örnek
{ "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\":true, \"billingAddressParameters\": { \"format\":\"MIN\" } }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }
3. Örnek
{ "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } } }
PaymentOptionsEnums
PaymentOptionsEnums
türü aşağıdaki olası değerlere sahiptir:
Cash
Card
UPI
Paytm
PaymentType
PaymentType
türü aşağıdaki olası değerlere sahiptir:
PAYMENT_CARD
: GoogleProvidedPaymentOptions için.ON_FULFILLMENT
: ActionProvidedPaymentOptions için.
SupportedCardNetworks
GoogleProvidedPaymentOptions
ile ilgili türleri tanımlar.
SupportedCardNetworks
türü aşağıdaki olası değerlere sahiptir:
UNSPECIFIED_CARD_NETWORK
AMEX
DISCOVER
JCB
MASTERCARD
VISA
TokenizationParameters
GoogleProvidedPaymentOptions
ile ilgili türleri tanımlar.
Aşağıdaki tabloda TokenizationParameters
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
tokenizationType |
Enum [
"UNSPECIFIED_TOKENIZATION_TYPE",
"PAYMENT_GATEWAY"
] |
Zorunlu. Bunun yerine facilitationSpecification'ı kullanın. Kabul edilebilir jeton türleri. |
|
parameters |
Parameters |
Bunun yerine facilitationSpecification'ı kullanın. |
TokenizationSpecification
Bu nesne, ücretlendirilebilir ödeme bilgilerini almak için bir hesap yapılandırmanıza olanak tanır.
Aşağıdaki tabloda TokenizationSpecification
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
type |
Sabit | Zorunlu. |
|
parameters |
Parameters |
Zorunlu. |
Aşağıdaki örnekte bir TokenizationSpecification
öğesi gösterilmektedir:
1. Örnek
{ "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "1247192", "gateway": "cybersource" } }
2. Örnek
{ "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:version": "2018-10-31", "stripe:publishableKey": "12378127" } }
TransactionInfo
Bu nesne, ödeyenin ödeme yapma durumunu belirleyen bir işlemi açıklar. Ödeme yetkilendirmesi iletişim kutusunu göstermek için kullanılır.
Aşağıdaki tabloda TransactionInfo
türü için özellikler listelenmiştir:
Özellik | Tür | Açıklama | |
---|---|---|---|
currencyCode |
String | Zorunlu. ISO 4217 alfabetik para birimi kodu. |
|
transactionId |
String |
Bir işlem denemesini tanımlayan benzersiz kimlik. Satıcılar mevcut bir kimliği kullanabilir veya Google Pay işlem denemeleri için belirli bir kimlik oluşturabilir. Google Transaction Events API'ye geri çağırmalar gönderdiğinizde bu alan gereklidir. |
|
totalPriceStatus |
Sabit | Zorunlu. Varsayılan olarak "TAHMİNİ" kullan. Toplam fiyat, yanıtın ayrıntılarına (ör. fatura adresi temel alınarak alınan satış vergisi) göre değişebilir. Değer: |
|
totalPrice |
String | Zorunlu. İşlemin, isteğe bağlı olarak iki ondalık basamakluk ondalık basamak içeren toplam parasal değeri. Bu alanın, shopping.totalPrice ile aynı değere sahip olması gerekir. |
Aşağıdaki örnekte bir TransactionInfo
öğesi gösterilmektedir:
Örnek
{ "totalPriceStatus": "ESTIMATED", "totalPrice": "12.34", "currencyCode": "USD" }