Temel Türleri
Alışveriş sepeti
Siparişle ilgili ayrıntıların yanı sıra isteğin teslim alma veya teslimat için olup olmadığını içerir. Alışveriş sepeti, teslimat ayrıntılarını, bahşişi ve teslimat adresini de içerir.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 |
Const |
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 olmalıdır. |
|
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 teslim alacak 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ünün özellikleri 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. Varsayılan değer olan "PT0M", tercih edilen teslimat 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 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östermek için. |
|
feeAmount |
Money |
İş ortağı, bu sipariş için satıcıdan N tutarında ücret alır. |
|
feeAmountRange |
FeeAmountRange |
İş ortağı, restorandan sipariş başına N ila M tutarında ücret alır. |
|
feePercent |
Number |
İş ortağı, bu sipariş için satıcıdan% N oranında ücret alır. |
|
feePercentRange |
FeePercentRange |
İş ortağı, satıcıdan sipariş başına% N ila% M oranında ücret alır. |
Aşağıdaki örnekte bir Disclaimer
öğesi gösterilmektedir:
1. Örnek
{ "predefinedMessage": "NEW_YORK_DELIVERY_FEE_TIP_DISCLAIMER" }
2. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE" }
3. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feePercent": 25 }
4. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feePercentRange": { "minFeePercent": 20, "maxFeePercent": 30 } }
Örnek 5
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feeAmount": { "currencyCode": "AUD", "units": 2, "nanos": 500000000 } }
6. Örnek
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feeAmountRange": { "minFeeAmount": { "currencyCode": "AUD", "units": 2, "nanos": 500000000 }, "maxFeeAmount": { "currencyCode": "AUD", "units": 10, "nanos": 0 } } }
Hata
Error
türü aşağıdaki olası değerlere sahiptir:
CLOSED
: Restoran, sipariş sırasında kapalıdır.NO_CAPACITY
: Kullanılabilir hizmet kapasitesi yoktur (ör. yoğun saatler nedeniyle geçici kesinti).NO_COURIER_AVAILABLE
: Sınırlı teslimat personeli nedeniyle sipariş işlenemiyor.REQUIREMENTS_NOT_MET
: Siparişi kabul etmeyle ilgili kısıtlamalar (ör. minimum sepet boyutu) karşılanmadı.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
: Satır öğesi, SiparişinTemini veya Promosyon geçersiz veriler 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ünün özellikleri 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şleri için bu alan mesaja dahil edilmez. |
Aşağıdaki örnekte bir FoodCartExtension
öğesi gösterilmektedir:
1. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } }
2. Örnek
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } }
FoodErrorExtension
Bir istek işlenirken oluşan bir veya daha fazla hatayı tanımlar. Aşağıdaki tablodaFoodErrorExtension
türündeki alanlar açıklanmaktadır.
Hatalar CheckoutResponse
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üzeltmelerin yer aldığı yeni bir ProposedOrder. 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ının kullanabileceği 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çenkle 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
dosyasında bulunan 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 |
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 yeni mevcut 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ıların pazarlama kanallarınızı etkinleştirme isteği. Varsayılan olarak, kullanıcı 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ızca SubmitOrderRequestMessage içinde 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
'teCart.extension.fulfillmentPreference
: Kullanıcının tercihini (teslimat veya teslim alma) saklar. Ö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
'unofferId
,ProposedOrder.otherItems
'da 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ünün özellikleri 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. Teslimat ücretleri ve vergiler gibi öğeler eklemek için kullanılan ProposedOrder (ProposedOrder.otherItems[0].id) öğesindeki satır öğesi 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 öğeden bahsettiğ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ı |
Dahil edilen öğe sayısı. ProposedOrder.otherItems için geçerli değildir. |
|
description |
String |
Öğenin açıklaması. |
|
price |
Price |
Zorunlu. Öğe veya öğelerin fiyatı. 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. Baz fiyatı 5 TL olan ve her biri 1 TL ek ücrete sahip 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 (örneğin, "-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ğinde bu alanda kullanıcıdan ürüne özel bir not gönderilebilir. Satıcıya notu sağladığınızda notun kendisine ulaşmasını sağlayın. İ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. ProposedOrder.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 adresini gösterin. Ö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 |
Tutardaki tam birimler. Örneğin, currencyCode "USD" ise "1" birimi bir ABD dolarıdır. Örnek: |
|
nanos |
Tamsayı |
Miktardaki nano (10^-9) birim sayısı. Değer, -999.999.999 ile +999.999.999 arasında (değerler dahil) olmalıdır. Aşağıdaki kuralları kullanın: units pozitifse nanos 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. Entegratörün sistemindeki siparişin benzersiz kimliği. Güncellemenin gönderildiği siparişi tanımlamak için kullanılır. 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 |
List<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 |
Tahmini teslimat veya teslim alma aralığı gibi sipariş güncellemesiyle ilgili daha fazla ayrıntıyı tanımlar. |
Aşağıdaki örnekte bir OrderUpdate
öğesi gösterilmektedir:
Örnek
{ "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "41", "nanos": 600000000 } }, "lineItemUpdates": { "sample_item_id_1": { "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "reason": "This item has an updated price." } }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } }
PickupInfo
Aşağıdaki tabloda PickupInfo
türü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ünün özellikleri 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 |
List<String> |
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. |
Promosyon
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 |
Önerilen sipariş için isteğe bağlı kimlik. |
|
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 indirimi de içerebilir. En fazla 10 öğe içermelidir. |
|
image |
Image |
Önerilen siparişle ilişkili resim. |
|
totalPrice |
Price |
Zorunlu. Önerilen siparişin toplam fiyatı. |
|
extension |
FoodOrderExtension |
Zorunlu. Yemek siparişleriyle ilgili 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
isInSandbox |
Boole |
Sonraki işlemlerin korumalı alanda yapılıp yapılmadığını belirtir. |
|
conversation |
Conversation |
||
inputs |
List<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
'dir.
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 ödemeye alma işlemi 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" VEYA sipariş gönderme isteği mesajı için "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şin gönderilmesi 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ılacak önerilen sipariş. |
|
paymentOptions |
PaymentOptions |
Zorunlu. Kullanıcı için seçilen varsayılan ödeme seçeneği. |
|
additionalPaymentOptions |
List<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 olmalıdır. |
StructuredResponse
CheckoutResponseMessage için bu aşağıdakilerden biri olabilir: CheckoutResponse Başarılı bir ödeme işlemini gösterir. 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 niteliğine bağlı olarak bu özellik, düzeltilmiş bir ProposedOrder ve PaymentOptions öğesi veya yalnızca PaymentOptions içermeyen bir hata mesajı içerebilir. |
orderUpdate |
3. Grup | OrderUpdate |
Eşzamansız sipariş güncellemeleri
Bu bölümde, yerleşik bir yemek siparişi işleminin 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, siparişin transfer sürecinde olduğunu veya fiyatın değiştiğini kullanıcıya bildirebilirsiniz. Daha fazla bilgi edinmek için şu sayfaya bakın:Aşağıdaki tabloda AsyncOrderUpdateRequestMessage
türünün özellikleri 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
gönderdikten sonra Google, HTTP 200 durumu ve boş bir 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
title |
String | Zorunlu. Görünen etiket. Doğru şekilde oluşturulmasını sağlamak için 30 karakter veya daha kısa tümce düzeni kullanın. Örnek: |
|
openUrlAction |
OpenUrlAction |
Zorunlu. |
Aşağıdaki örnekte bir Button
öğesi gösterilmektedir:
Örnek
{ "title": "Send us feedback", "openUrlAction": { "url": "mailto:person@example.com" } }
CancellationInfo
Aşağıdaki tabloda CancellationInfo
türünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
reason |
String | Zorunlu. OrderState.state "İPTAL EDİLDİ" 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ğı 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şılanması için yerine getirme aralığıyla ilgili ihtiyatlı bir tahmin sağlayın. Ö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üre veya zaman damgası, OrderUpdate
'un updateTime
değerinden (özünde "şimdi") updateTime
artı duration
değerine kadar olan aralığı ifade eder.
"Ş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ü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.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ı |
FoodOrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601 değerini 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ünün özellikleri 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": Ön ek "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 telefonuysa restoranın telefonuyla 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ındaki e-posta işlemi. openUrlAction.url ön eki "mailto" olmalıdır.CALL_DRIVER
: İşlemi yalnızca sipariş ayrıntıları sayfasında çağırın. openUrlAction.url ön eki "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
değerinin 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şini teslim 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, bu sipariş için kullanıcıya yönelik tek kimliktir (genellikle restoranın sipariş kimliğidir) ve hem entegratörü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 userVisibleOrderId değerine sahip olmayabilirsiniz. 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ı, politika veya riskle ilgili endişeler nedeniyle uygun değil.PAYMENT_DECLINED
: Ödeme işlenirken bir sorun oluştu.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 yılını içeren 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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
format |
String |
İşlemi tamamlamak için fatura adresi biçimi gereklidir. MIN: Ad, ülke kodu ve posta kodu. TAM: Ad, açık adres, 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 olmalıdır. |
|
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ünün özellikleri listelenmektedir:
Mülk | Tür | Açıklama | |
---|---|---|---|
facilitationSpecification |
String |
PaymentDataRequest JSON'u dize olarak. Sitenizin Google Pay API desteğini yapılandırmak için bu nesneyi kullanın. |
|
supportedCardNetworks |
List<SupportedCardNetworks > |
Bunun yerine facilitationSpecification özelliğini 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 özelliğini 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ünün özellikleri 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ünün özellikleri 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 |
List<PaymentMethod > |
Zorunlu. Google Pay API tarafından desteklenen bir veya daha fazla ödeme yönteminin desteklendiğ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 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ünün özellikleri 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, fatura adresine göre tahsil edilen satış vergisi gibi yanıtın ayrıntılarına göre 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" }