Temel Türleri
Alışveriş sepeti
Siparişle ilgili ayrıntıların yanı sıra isteğin teslim alma mı yoksa teslimat için mi olduğunu içerir. Alışveriş sepetinde ayrıca teslimat ayrıntıları, bahşiş ve teslimat adresi de bulunur.Cart
nesnesi bir Checkout AppRequest
içinde tanımlanır.Sepetin bir kopyasını Checkout AppResponse
Aşağıdaki tabloda Cart
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
@type |
Devam |
Bu nesnenin türü. Üst Cart nesnesi ProposedOrder'ın parçasıysa bu alanı çıkarın. Değer: |
|
id |
String |
İsteğe bağlı olarak alışveriş sepetinin kimliği. |
|
merchant |
Merchant |
Bu sepetle ilişkili satıcı. |
|
lineItems |
List<LineItem > |
Zorunlu. Kullanıcının sipariş ettiği malların veya hizmetlerin listesi. En az 1 öğe içermelidir. |
|
promotions |
List<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 ayrıntıları (ör. sipariş tamamlama tercihleri) 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 alan kişiyle ilgili ayrıntıları belirtir. YalnızcaAppResponse
olarak kullanılabilir.
Aşağıdaki tabloda Contact
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
displayName |
String |
Siparişi teslim alacak kişinin, görünmesini istediğiniz adı. firstName ve lastName belirtilmemişse 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 teslim alacak kişinin soyadı. Örnek: |
|
phoneNumber |
String |
Siparişi teslim alacak kişinin telefon numarası (ülke kodu dahil). Örnek: |
|
emailVerified |
Boole |
Siparişi alan kişinin Google Hesabı ile oturum açıp açmadığını belirtir. |
Aşağıdaki örnekte bir Contact
öğesi gösterilmektedir:
Örnek
{ "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" }
CustomPushMessage
İsteğinOrderUpdate
değerini içerir.
Aşağıdaki tabloda CustomPushMessage
türü için özellikler listelenmektedir:
Mülk | 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
deliveryTimeIso8601 |
String |
ISO 8601 zaman damgası biçiminde tahmini teslimat süresi: "{yıl}-{ay}-{gün}T{saat}:{dakika}:{saniye}[.{frac_sec}]Z" veya süre biçiminde: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". Örneğin, PT90M 90 dakikalık bir süreyi temsil eder. "PT0M" varsayılan değeri, tercih edilen teslimat süresinin mümkün olan en kısa sürede olduğunu gösterir. Referans: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations. Ödeme yanıtı sırasında tahmini teslimat süresini güncellemek için bu seçeneği 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
predefinedMessage |
PredefinedMessage |
Zorunlu. Ödeme sırasında önceden tanımlanmış sorumluluk reddi beyanı mesajlarını gösterir. |
|
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 kapalıdır.NO_CAPACITY
: Kullanılabilir hizmet kapasitesi yoktur (ör. yoğun saatler nedeniyle geçici kesinti).NO_COURIER_AVAILABLE
: Teslimat personeli sınırlı olduğundan sipariş işlenemiyor.REQUIREMENTS_NOT_MET
: Siparişi kabul etmeyle ilgili kısıtlamalar karşılanmadı (örneğin, minimum sepet boyutu).UNAVAILABLE_SLOT
: Sipariş, DeliveryInfo veya PickupInfo tarafından belirtilen önceden sipariş verme zamanında yerine getirilemez.OUT_OF_SERVICE_AREA
: Sipariş, kullanıcının adresine teslim edilemez.PROMO_EXPIRED
: Promosyon süresi dolduğu için uygulanamadı.PROMO_NOT_APPLICABLE
: Diğer promosyon kodu hatalarından hiçbiri uygun değilse promosyon kodunu uygulamayla ilgili tüm hataları 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 kuponu kullanamaz.AVAILABILITY_CHANGED
: Öğe artık mevcut değil veya isteği karşılayacak yeterli öğe yok.INCORRECT_PRICE
: Ücretlerde veya toplamda fiyat hataları.INVALID
: Bir Satır Öğesi, FulfillmentOption veya Promosyon, geçersiz veri içeriyor.NOT_FOUND
: Satır öğesi, FulfillmentOption veya promosyon bulunamadı.PRICE_CHANGED
: Bir öğenin fiyatı değişti.
FeeAmountRange
Aşağıdaki tabloda FeeAmountRange
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
minFeeAmount |
Money |
Tahsil edilen ücret tutarının alt sınırı. |
|
maxFeeAmount |
Money |
Tahsil edilen ücret tutarının üst sınırı. |
FeePercentRange
Aşağıdaki tabloda FeePercentRange
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
minFeePercent |
Number |
Tahsil edilen ücret yüzdesinin alt sınırı. |
|
maxFeePercent |
Number |
Tahsil edilen ücret yüzdesinin üst sınırı. |
FoodCartExtension
Kullanıcıyla ilgili ayrıntıları (ör. sipariş tamamlama tercihleri) içerir.
Aşağıdaki tabloda FoodCartExtension
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
@type |
Const |
Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodCartExtension" olarak ayarlanır. Değer: |
|
contact |
Contact |
Siparişi alacak kişinin iletişim bilgileri. Ayrıntılar arasında kişinin adı, telefon numarası ve e-posta adresi yer alır. |
|
fulfillmentPreference |
FulfillmentOption |
Zorunlu. Kullanıcının sipariş karşılama tercihi. |
|
location |
Location |
CheckoutRequestMessage'de bu alan teslimat adresini belirtir. Sipariş teslimat içinse bu alan gereklidir. Paket servis veya teslim alma siparişlerinde 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
İstek işlenirken oluşan bir veya daha fazla hatayı tespit eder. Aşağıdaki tablodaFoodErrorExtension
türündeki alanlar açıklanmaktadır.
Hatalar CheckoutResponse
ile gönderilebilir.
Aşağıdaki tabloda FoodErrorExtension
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
@type |
Const | Zorunlu. Bu uzantının türü. Değer: |
|
foodOrderErrors |
List<FoodOrderError > |
Zorunlu. Oluşmuş hataları açıklayan FoodOrderError nesneleri dizisi. Her alışveriş sepeti veya öğe için bir hata önerilir. En az 1 öğe olmalıdır. |
|
correctedProposedOrder |
ProposedOrder |
Düzeltme içeren yeni bir Proposed Order. Orijinal ProposedOrder'da kurtarılabilir hatalar varsa bu nesneyi döndürün. Örneğin, sepetteki bir veya daha fazla satır öğesinin fiyatında yapılan bir değişiklik düzeltilebilir bir hatadır. Geçerli bir ProposedOrder içeren kurtarılabilir hatalar, kullanıcının alışveriş sepetini incelemesini gerektirmek yerine onay aşamasına geçirilir. |
|
paymentOptions |
PaymentOptions |
Kullanıcı için seçilen varsayılan ödeme seçenekleri. |
|
additionalPaymentOptions |
List<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 öğeleriyle ilgili eklentileri tanımlar.
Aşağıdaki tabloda FoodItemExtension
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
@type |
Const | 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 |
List<FoodItemOption > |
Seçenek, bir eklenti grubu veya eklenti grubu içeren eklenti öğesi 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
id |
String |
Google tarafından atanan benzersiz kimlik. FoodOrderError veya AsyncOrderUpdateRequest gönderdiğinizde, bir sepetin 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 |
List<FoodItemOption > |
Varsa seçenekle ilgili alt seçenekler. Ö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
'daki hatalarla ilgili ayrıntıları içerir.
Aşağıdaki tabloda FoodOrderError
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
error |
Error |
Zorunlu. |
|
id |
String | Şu durumlarda zorunludur: Bu alan, öğe düzeyindeki hatalar için zorunludur. Menü öğeleri için Google tarafından atanan LineItem.id veya eklentiler için FoodItemOption.id değeridir. |
|
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 |
Tamsayı |
Hataya neden olan öğenin kullanılabilir yeni 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
@type |
Const |
Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension" olarak ayarlanır. Değer: |
|
availableFulfillmentOptions |
List<FulfillmentOption > |
Sipariş için kullanılabilen sipariş karşılama seçeneklerini temsil eder. |
|
optinForRemarketing |
Boole |
Kullanıcının pazarlama kanallarınıza dahil olma isteği. Varsayılan olarak, kullanıcının izni olmadan pazarlama içeriği gönderemezsiniz. optinForRemarketing doğruysa kullanıcıyı abone edebilirsiniz. optinForRemarketing yanlışsa veya mevcut değilse sisteminizde abonelik durumunu olduğu gibi tutmanız gerekir. Kullanıcılar Google üzerinden kapsam dışında kalmayı seçemez, yalnızca pazarlama kanallarınızda sağlanan bir abonelikten çıkma işleviyle bunu yapabilir. Bu işaret yalnızcaSubmit OrderRequestMessage'da bulunur. |
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
FulfillmentOption
nesnesini aşağıdaki şekillerde kullanabilirsiniz:
-
Checkout AppRequest
veSubmit AppRequest
içindeCart.extension.fulfillmentPreference
: Kullanıcının tercihini (teslimat veya teslim alma) depolar. Ö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ğini tanımlar (şu anda yalnızca bir seçenek desteklenir). Varsayılan seçeneğiProposedOrder.otherItems
içindeLineItem
olarak belirtirsiniz.FulfillmentOption
öğesininofferId
özelliği,ProposedOrder.otherItems
içinde belirtilenLineItem
kimliğiyle eşleşmelidir.
Aşağıdaki tabloda FulfillmentOption
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
offerId |
String |
Varsa bu sipariş tamamlama seçeneğinin benzersiz tanımlayıcısı. |
|
fulfillmentInfo |
FulfillmentOptionInfo |
Zorunlu. |
|
expiresAt |
ISO Zaman Damgası |
Bu sipariş karşılama seçeneğinin geçerlilik süresinin sona erdiği zaman. |
|
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 listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki mülk 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 gösterir. |
Resim
Aşağıdaki tabloda Image
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
sourceUrl |
String | Zorunlu. Resmin URL'si. Resim en az 72x72 piksel olmalıdır. En iyi sonucu almak için en az 216x216 piksel çözünürlüğünde bir resim kullanın. Resim 6 MB'tan ve 64 megapikselden küçük olmalıdır. |
LineItem
Alışveriş sepetinin içeriğini (Cart.lineItems
) veya siparişle ilgili ek ücretleri (ProposedOrder.otherItems
) tanımlar.
Aşağıdaki tabloda LineItem
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
id |
String |
Alışveriş sepeti (ProposedOrder.cart.lineItems[0].id) içindeki bir satır öğesi için bu, sipariş oluşturulurken Google tarafından oluşturulan benzersiz kimliktir. Kargo ücretleri ve vergiler gibi öğeler eklemek için kullanılan ProposedOrder (ProposedOrder.otherItems[0].id) öğesindeki LineItem için kimlik değeri sağlayıcı tarafından tanımlanır. Örneğin, bir sepette farklı hazırlık talimatlarına sahip aynı öğeden iki tane varsa (ör. farklı malzemelerle hazırlanmış iki orta boy pizza) Bu durumda her iki öğe de aynı temel offerId değerine sahiptir. Bir öğenin reddedildiğini belirtmek için sipariş güncelleme isteği gönderirken bu kimliği belirsizlik giderici olarak kullanın. Diğer bir deyişle, pizzalardan biri belirli bir malzeme içermediği için reddedilirse kimlik, Google'ın siparişteki hangi öğeyi kastettiğinizi belirlemesine yardımcı olur. Bu alan, otherItems hariç 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 büyük harfleriyle yazılmalıdır ("Teslimat ücreti", "Hizmet ücreti", "Vergi" gibi). Bu alan, kullanıcılar için 100 karaktere kısaltılır. |
|
type |
LineItemType |
Zorunlu. |
|
quantity |
Tamsayı | Şu durumlarda zorunludur: Dahil edilen öğelerin sayısı. ProposedOrders.otherItems için geçerli değildir. |
|
description |
String |
Öğenin açıklaması. |
|
price |
Price |
Zorunlu. Öğe veya öğelerin fiyatıdır. Bu değer, bu satır öğesindeki tüm mal veya hizmetlerin toplam fiyatını yansıtır (yani tüm eklentilerin maliyetini ekleyin ve miktarla çarpın). Örneğin: 10 TL değerindeki bir öğenin miktarı 3 ise fiyat 30 TL olur. Taban fiyatı 5 TL ve eklentisi 1 TL olan bir pizzanın fiyatı 6 TL olur. Taban fiyatı 5 TL olan ve her birinin eklentisi 1 TL olan iki pizzanın (miktar = 2) fiyatı 12 TL olur. Her satır öğesinin, fiyatı "0" olsa bile bir fiyatı olmalıdır. Tür DISCOUNT olduğunda değeri negatif olarak belirtin (ör. "-2"). |
|
subLines |
List<SublineNote > |
İsteğe bağlıdır ve yalnızca türü "NORMAL" ise geçerlidir. Ödeme isteği ve sipariş gönderme isteğindeki bu alana kullanıcının öğeye özel bir not gönderilebilir. Notu gönderildiğinde satıcının aldığından emin olun. İstekte subLines[0].note olarak yer alır. Bu alan bir istekte mevcut olduğunda bu alanda sağlanan tek değerdir. En fazla 1 öğe olmalıdır. |
|
offerId |
String |
Öğenin MenuItem öğesinin teklif kimliği. ProposedOrder.otherItems için geçerli değildir. |
|
extension |
FoodItemExtension |
Gıda öğeleriyle ilgili 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
: İndirim 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çin SubmitOrderRequestMessage için ayrılmıştır. ProposedOrders.otherItems için geçerlidir.DELIVERY
: Yayınlama satır öğesi. ProposedOrder.otherItems için geçerlidir.SUBTOTAL
: Alt toplam satır öğesi. ProposedOrder.otherItems için geçerlidir.FEE
: Diğer türler kapsamında olmayan ek satır öğesi. ProposedOrder.otherItems için geçerlidir.
Konum
Yemek siparişi için bir adres belirtir.Location
türü, yalnızca bir teslimat siparişinin hedefini belirtmek için Cart
içinde kullanılır.
Kullanıcı sipariş verirse kesinleştirilen konum TransactionDecisionValue
içinde de bulunur. Teslim alma seçeneği belirtilen siparişlerde konum hiç dahil edilmez (boş bir konum bile dahil edilmez).
Aşağıdaki tabloda Location
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
coordinates |
Coordinates |
||
formattedAddress |
String |
Konumun görünen adresi. Örnek: |
|
postalAddress |
PostalAddress |
||
zipCode |
String |
Örnek: |
|
city |
String |
Şehrin adı. Örnek: |
|
notes |
String |
Kapı kodları gibi konumla ilgili notlar. 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
id |
String |
Satıcının kimliği. Belirtilen 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
Aşağıdaki tabloda Money
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
currencyCode |
String | Zorunlu. ISO 4217 biçiminde 3 harfli para birimi kodu. Örnek: |
|
units |
String |
Tutarın tam birimi. Örneğin, currencyCode "USD" ise "1" birimi bir ABD dolarıdır. Örnek: |
|
nanos |
Tamsayı |
Tutarın nano (10^-9) birimlerinin sayısı. Değer, -999.999.999 ile +999.999.999 arasında (değerler dahil) olmalıdır. Şu kuralları kullanın: Birimler pozitifse nanos değeri pozitif veya sıfır olmalıdır. units sıfır ise nanos pozitif, sıfır veya negatif olabilir. units negatifse nanos negatif veya sıfır olmalıdır. Örneğin, -1,75 ABD doları, units = -1 ve nanos = -750.000.000 olarak gösterilir. Ö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ş
Vergiler, ücretler ve teslimat ücretleri ile birlikte ödeme bilgilerini de içeren nihai siparişi içerir. Bu nesne, işleminiz tarafındanSubmit AppRequest
içinde alınır.
Aşağıdaki tabloda Order
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
finalOrder |
ProposedOrder |
Zorunlu. Siparişin verilmesine neden olan önerilen sipariş. |
|
googleOrderId |
String | Zorunlu. Google tarafından atanan sipariş kimliği. 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şin ödemesine karşılık gelen ö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
öğesine dahil olan OrderUpdate türündeki alanlar açıklanmaktadır.
Aşağıdaki tabloda OrderUpdate
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
actionOrderId |
String | Zorunlu. Güncellemenin gönderildiği sırayı tanımlamak için kullanılan, entegratörün sistemindeki siparişin benzersiz kimliği. receipt.user_visible_order_id, "CREATED" durumundaki bir sipariş için OrderUpdate'te en az bir kez sağlanmazsa bu kimlik, Google sipariş kartında gösterilen, girilen kullanıcı tarafından görülebilen kimlik olur. |
|
orderState |
OrderState |
Zorunlu. Siparişin yeni durumu. |
|
lineItemUpdates |
Map<String, LineItemUpdate > |
||
updateTime |
ISO Zaman Damgası | Zorunlu. Siparişin güncellendiği zaman. |
|
orderManagementActions |
Liste<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 olmalıdır. |
|
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 |
Kullanıcının görebileceği sipariş kimliğini makbuzda sağlayın. |
|
totalPrice |
Price |
Siparişin toplam fiyatı. |
|
infoExtension |
FoodOrderUpdateExtension |
Sipariş güncellemesiyle ilgili daha fazla ayrıntı (ör. tahmini teslimat veya teslim alma aralığı) 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
pickupTimeIso8601 |
String |
ISO 8601 zaman damgası biçiminde tahmini teslim alma zamanı: "{yıl}-{ay}-{gün}T{saat}:{dakika}:{saniye}[.{frac_sec}]Z" veya süre biçiminde: "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 en kısa süre olduğunu gösterir. Referans: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations. Ödeme yanıtı sırasında tahmini teslim alma süresini güncellemek için bu özelliği 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 listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
regionCode |
String | Zorunlu. İki harfli ülke kodu. Örnek: |
|
postalCode |
String |
Posta kodu. Örnek: |
|
administrativeArea |
String |
Bir ülke veya bölgenin posta adresleri için kullanılan en yüksek idari alt birim. Bu bir eyalet, il, oblast veya idari bölge olabilir. Örnek: |
|
locality |
String |
Bu konumun bulunduğu şehir veya kasaba. Dünyanın, yerleşim yerlerinin iyi tanımlanmadığı veya bu yapıya uymadığı bölgelerinde yerleşim yerini belirtmeyin ve bunun yerine addressLines alanını kullanın. Örnek: |
|
addressLines |
Liste<Dize> |
Açık adresi belirtmek için kullanabileceğiniz bir veya daha fazla satır. Bu alan, net olmayan yerellikler içerebileceği için değiştirilmemelidir. Örnek: |
|
recipients |
List<String> |
Bir siparişin alıcılarının listesi. Bu alan yalnızca billingAddress içinde 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
type |
Enum [
"ESTIMATE",
"ACTUAL"
] |
Zorunlu. Promosyon kuponu kodu. |
|
amount |
Money |
Zorunlu. |
Tanıtım
Aşağıdaki tabloda Promotion
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
coupon |
String | Zorunlu. Promosyon kuponu kodu. |
ProposedOrder
Aşağıdaki tabloda ProposedOrder
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
id |
String |
Teklif edilen siparişin isteğe bağlı kimliği. |
|
cart |
Cart |
Zorunlu. Kullanıcının öğeleri. |
|
otherItems |
List<LineItem > |
Sağlayıcı tarafından eklenen öğeler (ör. teslimat ücretleri, diğer ücretler ve vergiler). otherItems, kullanıcı tarafından eklenen bahşiş ve/veya indirimleri 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 |
List<Disclaimer > |
Sipariş verilmeden önce kullanıcı arayüzünde gösterilecek 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
note |
String | Zorunlu. |
Zaman damgası
Tarih ve saat, aşağıdaki biçimde:
"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
TransactionDecisionValue
Order
içerir.
Aşağıdaki tabloda TransactionDecisionValue
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
order |
Order |
Zorunlu. Ödeme ayrıntılarıyla birlikte 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şin karşılanması için istek
AppRequest
Aşağıdaki tabloda AppRequest
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
isInSandbox |
Boole |
Sonraki işlemlerin korumalı alanda yapılıp yapılmadığını belirtir. |
|
conversation |
Conversation |
||
inputs |
Liste<Input > |
Zorunlu. Alışveriş sepetini ödemek 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
.
Konuşma
Conversation
yalnızca bir oturuma özgüdür. Gerekirse birden fazla Checkout
ve SubmitOrder
işlemini birbirine bağlamak için kullanabilirsiniz.
Aşağıdaki tabloda Conversation
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
conversationId |
String | Zorunlu. İleti dizisinin 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ünün özellikleri listelenmektedir:
Mülk | 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", sipariş isteği mesajı ise "actions.intent.TRANSACTION_DECISION" olarak ayarlayın. |
|
arguments |
List<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 incelemek istediği yiyeceklerle ilgili ayrıntıları içerir. Ödeme için yalnızca ek süre geçerlidir. Sipariş gönderme için yalnızca transactionDecisionValue geçerlidir
Aşağıdaki tabloda Argument
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki mülk gruplarından tam olarak biri gereklidir. | |||
extension |
1. Grup | Cart |
Kullanıcının incelemek istediği yiyecek öğelerini ayrıntılı olarak gösterir. |
transactionDecisionValue |
2. Grup | TransactionDecisionValue |
Ödeme ayrıntılarıyla birlikte verilecek siparişi içerir. |
Siparişin karşılanmasına yönelik yanıt
AppResponse
Aşağıdaki tabloda AppResponse
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
expectUserResponse |
Const |
Yanlış olarak ayarlayın. Değer: |
|
finalResponse |
FinalResponse |
Zorunlu. Alışveriş sepeti ödemesine 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
'dir.
SubmitOrderResponseMessage
SubmitOrderResponseMessage
, StructuredResponse
içinde orderUpdate
bulunan bir AppResponse
'dir.
FinalResponse
Alışveriş sepeti ödemesine veya SubmitOrderRequestMessage'e verdiğiniz yanıt.
Aşağıdaki tabloda FinalResponse
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
richResponse |
RichResponse |
Zorunlu. CheckoutRequestMessage veya SubmitOrderRequestMessage mesajına verdiğiniz yanıtı içerir. |
CheckoutResponse
Aşağıdaki tabloda CheckoutResponse
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
proposedOrder |
ProposedOrder |
Zorunlu. İşlem için kullanılması önerilen sipariş. |
|
paymentOptions |
PaymentOptions |
Zorunlu. Kullanıcı için seçilen varsayılan ödeme seçeneği. |
|
additionalPaymentOptions |
Liste<PaymentOptions > |
Kullanıcının kullanabileceği 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
Alışveriş sepeti ödemesine veya SubmitOrderRequestMessage mesajına verdiğiniz yanıtı içerir.
Aşağıdaki tabloda Item
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
structuredResponse |
StructuredResponse |
Zorunlu. |
RichResponse
Alışveriş sepeti ödemesine verdiğiniz yanıtı içerir.
Aşağıdaki tabloda RichResponse
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
items |
List<Item > |
Zorunlu. Tam olarak 1 öğe içermelidir. |
StructuredResponse
CheckoutResponseMessage için bu aşağıdakilerden biri olabilir: CheckoutResponse Başarılı bir ödeme olduğunu belirtir. VEYA FoodErrorExtension: Ödeme sırasında bir hatayı gösterir. Yanıt, düzeltilmiş bir ProposedOrder ve PaymentOptions veya PaymentOptions içermeyen bir hata mesajı içerebilir. SubmitOrderResponseMessage için yalnızca orderUpdate geçerlidir.
Aşağıdaki tabloda StructuredResponse
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki mülk gruplarından tam olarak biri gereklidir. | |||
checkoutResponse |
1. Grup | CheckoutResponse |
Ödeme yapılan öğeler, vergiler ve indirimler. |
error |
2. Grup | FoodErrorExtension |
Alışveriş sepeti öğelerinde gözlemlenen hatalar. Hatanın yapısına bağlı olarak bu mülk, düzeltilmiş bir Proposed Order ve PaymentOptions veya PaymentOptions içermeyen 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önderilip onaylandıktan sonra kullanıcıyı değişikliklerden haberdar eder. Örneğin, kullanıcıya siparişin nakliyede olduğunu veya fiyatın değiştiğini bildirebilirsiniz. Daha fazla bilgi edinmek için şu sayfaya bakın:Aşağıdaki tabloda AsyncOrderUpdateRequestMessage
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
isInSandbox |
Boole |
Bu güncellemenin gönderildiği siparişin korumalı alan ödemesi olduğunu belirtir. |
|
customPushMessage |
CustomPushMessage |
Zorunlu. İsteğin OrderUpdate öğesini 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, HTTP 200 durumu ve boş gövdeyle yanıt verir. Güncelleme başarısız olursa Google, sipariş güncellemesinin neden başarısız olduğuyla ilgili ayrıntıları 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ü öğesini tanımlar.
Aşağıdaki tabloda Button
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
title |
String | Zorunlu. Görünen etiket. Oluşturma işleminin düzgün çalışması için cümle düzeninde en fazla 30 karakter 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 listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
reason |
String | Zorunlu. OrderState.state "CANCELLED" olduğunda, reddin 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 olacağı zaman için tahmini bir aralık sağlar. Bilgiler mevcut olduğunda veya son gönderildiğinde bu uzantıyı bir OrderUpdate
ile gönderin.
Kullanıcı beklentilerinin tutarlı bir şekilde karşılanabilmesi için sipariş karşılama aralığıyla ilgili ölçülü bir tahminde bulunun. Örneğin, siparişin bugün 13:00'te teslim edileceği tahmin ediliyorsa trafik koşullarından kaynaklanan değişikliklerle tutarlı bir tahmini aralık göndermeniz gerekir (ör. bugün 12:45-13:15).
ISO 8601 süresi veya zaman damgası, OrderUpdate
öğesinin updateTime
(aslında "şimdi") ile updateTime
artı duration
arasındaki aralığı anlamına gelecek şekilde yorumlanır.
"Şimdi" ifadesi makul bir beklenti değilse bu biçimi kullanmayın.
ISO 8601 aralığı, aralığın başlangıcından sonuna kadar olan aralığı ifade eder.
Aşağıdaki tabloda FoodOrderUpdateExtension
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
@type |
Const |
Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension" olarak ayarlanır. Değer: |
|
estimatedFulfillmentTimeIso8601 |
String |
Siparişin teslim edileceği veya teslim alınmaya hazır olacağı tahmini zaman. Dize ISO 8601 biçiminde olmalı ve sabit bir saat yerine bir aralığa karşılık gelmelidir. Kabul edilen kurallar şunlardır: Aralıklar, Süreler ve Tarihler/Saatler. Bu alan, bilgiler mevcut olduğunda veya erken veya gecikmeli varışlar gibi bir değişiklik olduğunda SubmitOrderResponseMessage veya AsyncOrderUpdateRequestMessage ile gönderilebilir. Örnek: |
|
foodOrderErrors |
List<FoodOrderError > |
Sipariş sonrası oluşan hataları açıklar. Her alışveriş sepeti veya öğe için bir hata önerilir. RejectionInfo kapsamında yer almayan hatalar için FoodOrderUpdateExtension.FoodOrderErrors öğesini kullanın. En az 1 öğe olmalıdır. |
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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki mülk gruplarından tam olarak biri gereklidir. | |||
deliveryTime |
1. Grup | ISO Zaman Damgası |
FoodOrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601 değerini kullanın |
pickupTime |
2. Grup | ISO Zaman Damgası |
FoodOrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601 değerini kullanın |
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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
updatedTime |
ISO Zaman Damgası |
Food OrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601'i kullanın |
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 listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
orderState |
OrderState |
||
price |
Price |
||
reason |
String |
Değişikliğin nedeni. Fiyat değişiklikleri için gereklidir. |
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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
url |
String | Zorunlu. Düğmenin tıklanması veya dokunulması ile tetiklenen işlem. Geçerli ön eklerin listesi, orderManagementActionType değerine 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ı destek almasını sağlar ve sipariş gönderme AppResponse
işleminin her bir OrderUpdate
ve sonraki her AsyncOrderUpdateRequestMessage
işleminde gönderilmelidir. Belirli bir sipariş için gönderilen sipariş yönetimi işlemleri, siparişin durumuna göre değişiklik gösterebilir.
Örneğin, "CREATED" durumunda CUSTOMER_SERVICE
, müşteri desteği telefon numaranızı referans alabilir. Ardından, "ONAYLANDI" durumunda, CUSTOMER_SERVICE
müşteri için en iyi iletişim noktası restoranın telefon numarasıysa restoranın telefon numarasına değiştirilebilir. Benzer şekilde, sipariş "TAMAMLANDI" durumundayken CUSTOMER_SERVICE
, destek e-posta adresinize referans verebilir.
Aşağıdaki tabloda OrderManagementAction
türünün özellikleri listelenmektedir:
Mülk | 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 zorunludur. openUrlAction.url ön eki "mailto", "tel", "http" veya "https" olmalıdır.EMAIL
: Yalnızca sipariş ayrıntıları sayfasında e-posta işlemi yapılır. openUrlAction.url öneki "mailto" olmalıdır.CALL_DRIVER
: Yalnızca sipariş ayrıntıları sayfasında arama işlemi. openUrlAction.url öneki "tel" olmalıdır.CALL_RESTAURANT
: İşlemi yalnızca sipariş ayrıntıları sayfasında çağırın. openUrlAction.url ön eki "tel" olmalıdır.
OrderState
Siparişinizin mevcut durumu. OrderState
olan her state
değeri, myaccount.google.com adresindeki
bir satın alma durumuna da karşılık gelir.
Aşağıdaki tabloda OrderState
türünün özellikleri listelenmektedir:
Mülk | 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 cümle 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şin integrator tarafından oluşturulduğu ve sağlayıcı tarafından onaylanması bekleniyor. "Sipariş verildi" satın alma durumuna karşılık gelir.CONFIRMED
: Sipariş sağlayıcı tarafından onaylanmış ve etkindir. "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
: Yemek teslim alınmaya hazır. "Teslim almaya 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 alındı" satın alma durumuna karşılık gelir.
Fatura
Bu türü,OrderState
"CONFIRMED", "FULFILLED" veya "IN_TRANSIT" olduğunda sipariş gönderme AppResponse
isteğiyle gönderin. userVisibleOrderId
kullanılabilir olduğunda makbuzu gönderin. Sonraki güncellemelerde makbuzu
göndermeye devam etmeniz gerekmez.
Aşağıdaki tabloda Receipt
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
userVisibleOrderId |
String | Zorunlu. Sipariş "CONFIRMED", "IN_TRANSIT" veya "FULFILLED" ise gereklidir. Bu alan, söz konusu siparişle ilgili kullanıcılara yönelik tek kimliktir (genellikle restoranın sipariş kimliğidir) ve hem entegrasyon uzmanının makbuzunda hem de Google sipariş kartında gösterilir. Kullanıcı, sağlayıcı ve entegratörle müşteri hizmetleri için siparişine referans vermek üzere bu kimliği kullanabilmelidir. Bu kimliği herhangi bir OrderUpdate'te yalnızca bir kez sağlamanız gerekir. Bu sağlanana kadar actionOrderId, userVisibleOrderId olur. Örneğin, sipariş restoran tarafından onaylanana kadar kullanıcı görünür sipariş kimliğiniz olmayabilir. Onaylandıktan sonra OrderUpdate ve Receipt 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
type |
RejectionType |
Zorunlu. |
|
reason |
String |
Dahili günlük kaydı için kullanılan ret nedeni. Bu alan kullanıcılara gösterilmez. |
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
: Ödeme işlenmesiyle ilgili bir sorun var.UNAVAILABLE_SLOT
: Sipariş, DeliveryInfo veya PickupInfo tarafından belirtilen önceden sipariş verme zamanında yerine getirilemez.PROMO_NOT_APPLICABLE
: Promosyonla ilgili bir sorun var.UNKNOWN
: Diğer nedenler.
Ö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
İşlemle sağlanan ödeme yöntemi şartları.
Aşağıdaki tabloda ActionProvidedPaymentOptions
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
paymentType |
PaymentType |
Zorunlu. |
|
displayName |
String | Zorunlu. Makbuzda gösterilen ödeme aracının adı. Örnek: |
|
onFulfillmentPaymentData |
OnFulfillmentPaymentData |
"ON_FULFILLMENT" ödeme türü için ek veriler. Örneğin, bu alanı kullanarak sipariş karşılama işleminde nakit veya kartın desteklenip desteklenmediğini belirtebilirsiniz. |
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. Döndürülen ödeme verileri, son kullanma ayı ve son kullanma tarihiyle 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 listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
format |
String |
İşlemi tamamlamak için fatura adresi biçimi gereklidir. MİN: Ad, ülke kodu ve posta kodu. TAM: Ad, açık adres, yerleşim yeri, 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 desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda CardParameters
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
allowedAuthMethods |
List<Const> | Zorunlu. Kart işleminin kimliğini doğrulamak için desteklenen alanlar. En az 1 öğe olmalıdır. |
|
allowedCardNetworks |
List<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 adresi gerekiyorsa true olarak ayarlayın. Fatura adresini yalnızca işlemin işlenmesi için gerekli olduğunda isteyin. Ek veri istekleri, ödeme sürecindeki sürtünmeyi artırabilir ve dönüşüm oranlarının düşmesine neden olabilir. |
|
billingAddressParameters |
BillingAddressParameters |
billingAddressRequired doğru olarak ayarlanırsa döndürülen beklenen alanlar. |
|
cvcRequired |
Boole |
TimesofMoney kullanılıyorsa doğru, diğer tüm ödeme işleyiciler için yanlış olarak 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
instrumentToken |
String | Zorunlu. Daha önce belirtilen GoogleProvidedPaymentOptions'a göre, kullanıcıdan katılımcı bir Google Pay işleyiciyle ödeme almak için ödeme jetonunu içeren Base64 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öntemi için şartlar.
Aşağıdaki tabloda GoogleProvidedPaymentOptions
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
facilitationSpecification |
String |
Dize olarak bir PaymentDataRequest JSON dosyası. Sitenizin Google Pay API desteğini yapılandırmak için bu nesneyi kullanın. |
|
supportedCardNetworks |
Liste<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 özelliğini kullanın. Fatura adresinin gerekli 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 desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda MerchantInfo
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
merchantId |
String |
Google Pay tarafından size verilen Google satıcı tanımlayıcısı. |
|
merchantName |
String | Zorunlu. UTF-8 olarak kodlanmış satıcı adı. Satıcı adı ödeme sayfasında oluşturulur. |
OnFulfillmentPaymentData
"ON_FULFILLMENT" ödeme türü için ek veri göndermek üzere bu nesneyi kullanın.
Aşağıdaki tabloda OnFulfillmentPaymentData
türü için özellikler listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
supportedPaymentOptions |
List<PaymentOptionsEnums > |
Sipariş karşılama sırası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 listelenmektedir:
Mülk | 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 desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda PaymentDataRequest
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
apiVersion |
Const | Zorunlu. Ana API sürümü. Değer: |
|
apiVersionMinor |
Const | Zorunlu. Alt API sürümü. Değer: |
|
merchantInfo |
MerchantInfo |
Zorunlu. (Google Pay satıcı kimliği) Ödeme verileri isteyen satıcıyla ilgili bilgiler. |
|
allowedPaymentMethods |
Liste<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 yetkilendirmesi hakkında ayrıntılar. Bu alan toplam fiyatı ve fiyat durumunu içerir. |
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şle ilgili ödeme bilgileri.
Aşağıdaki tabloda PaymentInfo
türünün özellikleri listelenmektedir:
Mülk | 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ılabilen jeton. Bunu yalnızca CheckoutResponseMessage'da ödeme seçeneği olarak GoogleProvidedPaymentOptions'ı 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'sine yönelik desteğini yapılandırmak için bu nesneyi kullanın.
Aşağıdaki tabloda PaymentMethod
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
type |
Const | 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 gereken parametreler. |
|
tokenizationSpecification |
TokenizationSpecification |
Zorunlu. Ödeme bilgilerini almak için bir hesap veya şifre çözme sağlayıcısı yapılandırın. Bu özellik, KART ö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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
Aşağıdaki mülk gruplarından tam olarak biri gereklidir. | |||
googleProvidedOptions |
1. Grup | GoogleProvidedPaymentOptions |
actionProvidedOptions ile birbirini dışlar. gPay'i kullanarak online ödeme yapmak için bunu kullanın. |
actionProvidedOptions |
2. Grup | ActionProvidedPaymentOptions |
googleProvidedOptions ile birbirini dışlar. "Teslimatta ödeme" veya "sipariş karşılığında ö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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
tokenizationType |
Enum [
"UNSPECIFIED_TOKENIZATION_TYPE",
"PAYMENT_GATEWAY"
] |
Zorunlu. Bunun yerine facilitationSpecification özelliğini kullanın. Kabul edilen jeton türü. |
|
parameters |
Parameters |
Bunun yerine facilitationSpecification özelliğini kullanın. |
TokenizationSpecification
Bu nesne, bir hesabı ücretli ödeme bilgilerini alacak şekilde yapılandırmanıza olanak tanır.
Aşağıdaki tabloda TokenizationSpecification
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
type |
Const | 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 yeteneğini belirleyen bir işlemi tanımlar. Ödeme provizyonu iletişim kutusunu göstermek için kullanılır.
Aşağıdaki tabloda TransactionInfo
türü için özellikler listelenmektedir:
Mülk | 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, Google Pay işlem denemeleri için mevcut bir kimliği kullanabilir veya belirli bir kimlik oluşturabilir. Google Transaction Events API'ye geri çağırma gönderdiğinizde bu alan gereklidir. |
|
totalPriceStatus |
Const | Zorunlu. Varsayılan olarak "ESTIMATED" değerini kullanın. Toplam fiyat, yanıtın ayrıntılarına göre (ör. fatura adresine göre tahsil edilen satış vergisi) ayarlanabilir. Değer: |
|
totalPrice |
String | Zorunlu. İsteğe bağlı olarak iki ondalık basamak hassasiyetinde ondalık değer olarak işlem tutarının toplam parasal değeri. Bu alan, cart.totalPrice ile aynı değere sahip olmalıdır. |
Aşağıdaki örnekte bir TransactionInfo
öğesi gösterilmektedir:
Örnek
{ "totalPriceStatus": "ESTIMATED", "totalPrice": "12.34", "currencyCode": "USD" }