Sipariş karşılama işlemleri şeması

. Bu sayfada, Sipariş Uçtan Uca Yerleşik İşlem API'si ile çalışırken sipariş karşılama web hizmetinin (Sipariş Uçtan Uca Sipariş API'si) yükü açıklanmaktadır. Bu bilgilerin makine tarafından okunabilen bir sürümü için JSON şemasını indirebilirsiniz.

Ayak Türleri

Alışveriş sepeti

Siparişle ilgili ayrıntıların yanı sıra isteğin teslim alma için olup olmadığı bilgisini içerir veya teslimatla ilgili. Bir alışveriş sepetinde teslimat bilgileri, bahşiş ve teslimat bilgileri de yer alır. girin. Cart nesnesi, Checkout AppRequest.f içinde tanımlanır. Alışveriş sepetinin bir kopyasını Checkout AppResponse sayfanıza eklerseniz

Aşağıdaki tabloda Cart türü için özellikler listelenmektedir:

Özellik Tür Açıklama
@type Devam

Bu nesnenin türü. Üst Cart nesnesi Proposed Order'ın bir parçasıysa bu alanı atlayın.

Değer: type.googleapis.com/google.actions.v2.orders.Cart

id String

Alışveriş sepetinin isteğe bağlı kimliği.

merchant Merchant

Bu alışveriş sepetiyle ilişkilendirilmiş satıcı.

lineItems Liste<LineItem>

Zorunlu.

Kullanıcının sipariş ettiği mal veya hizmetlerin listesi.

En az 1 öğe içermelidir.

promotions Liste<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ş karşılama 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ızca aşağıdaki ülkelerde kullanılabilir: AppResponse.

Aşağıdaki tabloda Contact türü için özellikler listelenmektedir:

Özellik Tür Açıklama
displayName String

Siparişi alan kişinin, sizin görüntülenmesini istediğiniz adı. firstName ve lastName belirtilmediyse bu alanı kullanın.

Örnek: Lovefood Ordering

email String

Siparişi alan kişinin e-posta adresi.

Örnek: ilovefood@example.com

firstName String

Siparişi alan kişinin adı.

Örnek: Lovefood

lastName String

Siparişi alan kişinin soyadı.

Örnek: Ordering

phoneNumber String

Ülke kodu dahil olmak üzere siparişi alan kişinin telefon numarası.

Örnek: +16501234567

emailVerified Boole

Siparişi alan kişinin Google hesabıyla giriş yapıp yapmadığını belirtir.

Aşağıdaki örnekte bir Contact öğesi gösterilmektedir:

Örnek

{
  "displayName": "Lovefood Ordering",
  "email": "ilovefood@example.com",
  "phoneNumber": "+16501234567"
}

CustomPushMessage

İsteğin OrderUpdate değerini içerir.

Aşağıdaki tabloda CustomPushMessage türü için özellikler listelenmektedir:

Özellik Tür Açıklama
orderUpdate OrderUpdate

Zorunlu.

Siparişle ilgili bilgiler güncellendi.

Aşağıdaki örnekte bir CustomPushMessage öğesi gösterilmektedir:

Örnek

{
  "orderUpdate": {
    "actionOrderId": "sample_action_order_id",
    "orderState": {
      "state": "IN_TRANSIT",
      "label": "Order is on the way"
    },
    "inTransitInfo": {
      "updatedTime": "2017-07-17T12:00:00Z"
    },
    "updateTime": "2017-07-17T12:00:00Z",
    "orderManagementActions": [
      {
        "type": "CUSTOMER_SERVICE",
        "button": {
          "title": "Contact customer service",
          "openUrlAction": {
            "url": "mailto:support@example.com"
          }
        }
      },
      {
        "type": "EMAIL",
        "button": {
          "title": "Email restaurant",
          "openUrlAction": {
            "url": "mailto:person@example.com"
          }
        }
      },
      {
        "type": "CALL_RESTAURANT",
        "button": {
          "title": "Call restaurant",
          "openUrlAction": {
            "url": "tel:+16505554679"
          }
        }
      }
    ],
    "receipt": {
      "userVisibleOrderId": "userVisibleId1234"
    },
    "infoExtension": {
      "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
      "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
    }
  }
}

DeliveryInfo

Aşağıdaki tabloda DeliveryInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
deliveryTimeIso8601 String

ISO 8601 zaman damgası biçiminde tahmini teslimat süresi: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" ya da süre biçimi: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". Örneğin, PT90M 90 dakikalık bir süreyi temsil eder. "PT0M" varsayılan değeri, tercih edilen teslimat süresinin mümkün olan en kısa sürede olduğunu gösterir. Referans: https://en.wikipedia.org/wiki/ISO_8601#United_date_and_time_representations. Ödeme yanıtı sırasında bu tahmini teslimat süresini güncellemek için bu seçeneği kullanın.

Örnek: PT90M

Aşağıdaki örnekte bir DeliveryInfo öğesi gösterilmektedir:

Örnek

{
  "deliveryTimeIso8601": "PT90M"
}

Sorumluluk Reddi Beyanı

Aşağıdaki tabloda Disclaimer türü için özellikler listelenmektedir:

Özellik 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 ödeme alacak.

feeAmountRange FeeAmountRange

İş ortağı, restorandan sipariş başına N ila M tutarında bir ücret alır.

feePercent Number

İş ortağı, bu sipariş için satıcıdan% N bir ücret alır.

feePercentRange FeePercentRange

İş ortağı, satıcıdan sipariş başına% N ila% M oranında bir ü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 hizmet verilmemiştir.
  • NO_CAPACITY: Kullanılabilir hizmet kapasitesi yoktur (örneğin, yoğun saatler nedeniyle yaşanan geçici kesinti).
  • NO_COURIER_AVAILABLE: Teslimat personeli sınırlı olduğundan sipariş işlenemiyor.
  • REQUIREMENTS_NOT_MET: Siparişi kabul etmeyle ilgili kısıtlamalar karşılanmadı (örneğin, minimum sepet boyutu).
  • UNAVAILABLE_SLOT: Sipariş, DeliveryInfo veya PickupInfo tarafından belirtilen zamanında yerine getirilemiyor.
  • OUT_OF_SERVICE_AREA: Sipariş, kullanıcının adresine teslim edilemez.
  • PROMO_EXPIRED: Promosyonun süresi dolduğundan uygulanamadı.
  • PROMO_NOT_APPLICABLE: Diğer promosyon kodu hatalarından hiçbiri geçerli değilse promosyon kodu uygulanamadığından tüm durumları yakalayan genel hata kodu.
  • PROMO_NOT_RECOGNIZED: Kupon kodu tanınmadı.
  • PROMO_ORDER_INELIGIBLE: Geçerli sipariş bu kupon için uygun değil.
  • PROMO_USER_INELIGIBLE: Geçerli kullanıcı bu kuponu almak için uygun değil.
  • AVAILABILITY_CHANGED: Öğe artık mevcut değil veya isteği yerine getirmek için yeterli sayıda öğe yok.
  • INCORRECT_PRICE: Ücretlerde veya toplamda fiyat hataları var.
  • INVALID: Bir Satır Öğesi, FulfillmentOption veya Promosyon, geçersiz veri içeriyor.
  • NOT_FOUND: Bir Satır Öğesi, FulfillmentOption veya Promosyon bulunamıyor.
  • PRICE_CHANGED: Bir öğenin fiyatı değişti.

FeeAmountRange

Aşağıdaki tabloda FeeAmountRange türü için özellikler listelenmektedir:

Özellik Tür Açıklama
minFeeAmount Money

Alınan ücret tutarının alt sınırı.

maxFeeAmount Money

Alınan ücret tutarının üst sınırı.

FeePercentRange

Aşağıdaki tabloda FeePercentRange türü için özellikler listelenmektedir:

Özellik Tür Açıklama
minFeePercent Number

Alınan ücret yüzdesinin alt sınırı.

maxFeePercent Number

Alınan ücret yüzdesinin üst sınırı.

FoodCartExtension

Kullanıcıyla ilgili, sipariş karşılama tercihleri gibi ayrıntıları içerir.

Aşağıdaki tabloda FoodCartExtension türü için özellikler listelenmektedir:

Özellik Tür Açıklama
@type Devam

Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodCartExtension" olarak ayarlanır.

Değer: type.googleapis.com/google.actions.v2.orders.FoodCartExtension

contact Contact

Siparişi alan 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'daki bu alan, sipariş teslimat içinse gerekli olan teslimat adresini belirtir. Paket servisi veya gel-al siparişler 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

İstek işlenirken oluşan bir veya daha fazla hatayı tespit eder. Aşağıdaki tabloda FoodErrorExtension türünün alanları açıklanmaktadır. Hatalar CheckoutResponse içinde gönderilebilir.

Aşağıdaki tabloda FoodErrorExtension türü için özellikler listelenmektedir:

Özellik Tür Açıklama
@type Devam

Zorunlu.

Bu uzantının türü.

Değer: type.googleapis.com/google.actions.v2.orders.FoodErrorExtension

foodOrderErrors Liste<FoodOrderError>

Zorunlu.

Oluşan hataları açıklayan FoodOrdersError nesneleri dizisi. Alışveriş sepeti veya öğe başına bir hata kullanılması önerilir.

En az 1 öğe içermelidir.

correctedProposedOrder ProposedOrder

Şu durumda zorunludur: foodOrderErrors.error = "UNAVAILABLE_SLOT", "PROMO_EXPIRED", "PROMO_NOT_APPLICABLE", "PROMO_NOT_RECOGNIZED", "PROMO_ORDER_INELIGIBLE", "PROMO_USER_INELIGIBLE", "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "INVALID", "NOT_FOUND", or "PRICE_CHANGED"

Düzeltme içeren yeni bir Proposed Order. Orijinal Proposed Order'da kurtarılabilir hatalar varsa bu nesneyi döndürün. Örneğin, alışveriş sepetindeki bir veya daha fazla satır öğesinin fiyatının değişmesi kurtarılabilir bir hatadır. Geçerli bir ProposedOrders'a sahip olan kurtarılabilir hatalar, kullanıcının alışveriş sepetini incelemesini gerektirmek yerine, onay aşamasına ilerletilir.

paymentOptions PaymentOptions

Şu durumda zorunludur: foodOrderErrors.error = "UNAVAILABLE_SLOT", "PROMO_EXPIRED", "PROMO_NOT_APPLICABLE", "PROMO_NOT_RECOGNIZED", "PROMO_ORDER_INELIGIBLE", "PROMO_USER_INELIGIBLE", "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "INVALID", "NOT_FOUND", or "PRICE_CHANGED"

Kullanıcı için belirlenen varsayılan ödeme seçenekleri.

additionalPaymentOptions Liste<PaymentOptions>

Kullanıcıya sunulan alternatif ödeme seçenekleri.

Aşağıdaki örnekte bir FoodErrorExtension öğesi gösterilmektedir:

Örnek

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension",
  "foodOrderErrors": [
    {
      "error": "PRICE_CHANGED",
      "id": "sample_item_offer_id_1",
      "description": "The price has changed.",
      "updatedPrice": {
        "currencyCode": "USD",
        "units": "2",
        "nanos": 750000000
      }
    },
    {
      "error": "PRICE_CHANGED",
      "id": "sample_item_offer_id_2",
      "description": "The price has changed.",
      "updatedPrice": {
        "currencyCode": "USD",
        "units": "8"
      }
    }
  ],
  "correctedProposedOrder": {
    "id": "sample_corrected_proposed_order_id_1",
    "otherItems": [
      {
        "name": "New customer discount",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "-5",
            "nanos": -500000000
          }
        },
        "type": "DISCOUNT"
      },
      {
        "name": "Delivery fee",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "3",
            "nanos": 500000000
          }
        },
        "type": "DELIVERY"
      },
      {
        "name": "Tax",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "1",
            "nanos": 500000000
          }
        },
        "type": "TAX"
      }
    ],
    "cart": {
      "merchant": {
        "id": "https://www.exampleprovider.com/merchant/id1",
        "name": "Falafel Bite"
      },
      "lineItems": [
        {
          "name": "Pita Chips",
          "type": "REGULAR",
          "id": "sample_item_offer_id_1",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "2",
              "nanos": 750000000
            }
          },
          "subLines": [
            {
              "note": "Notes for this item."
            }
          ],
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
            "options": [
              {
                "id": "sample_addon_offer_id_1",
                "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                "name": "Honey Mustard",
                "price": {
                  "currencyCode": "USD"
                },
                "quantity": 1
              },
              {
                "id": "sample_addon_offer_id_2",
                "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
                "name": "BBQ Sauce",
                "price": {
                  "currencyCode": "USD",
                  "nanos": 500000000
                },
                "quantity": 1
              }
            ]
          }
        },
        {
          "name": "Chicken Shwarma Wrap",
          "type": "REGULAR",
          "id": "sample_item_offer_id_2",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id2",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "8"
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        },
        {
          "name": "Greek Salad",
          "type": "REGULAR",
          "id": "sample_item_offer_id_3",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id3",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "9",
              "nanos": 990000000
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        },
        {
          "name": "Prawns Biryani",
          "type": "REGULAR",
          "id": "sample_item_offer_id_4",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id4",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "15",
              "nanos": 990000000
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        }
      ],
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
        "fulfillmentPreference": {
          "fulfillmentInfo": {
            "delivery": {
              "deliveryTimeIso8601": "P90M"
            }
          }
        },
        "location": {
          "coordinates": {
            "latitude": 37.788783,
            "longitude": -122.41384
          },
          "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
          "zipCode": "94043",
          "city": "Mountain View",
          "postalAddress": {
            "regionCode": "US",
            "postalCode": "94043",
            "administrativeArea": "CA",
            "locality": "Mountain View",
            "addressLines": [
              "1350 Charleston Road"
            ]
          },
          "notes": "Gate code is #111"
        }
      }
    },
    "totalPrice": {
      "type": "ESTIMATE",
      "amount": {
        "currencyCode": "USD",
        "units": "36",
        "nanos": 730000000
      }
    },
    "extension": {
      "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
      "availableFulfillmentOptions": [
        {
          "fulfillmentInfo": {
            "delivery": {
              "deliveryTimeIso8601": "P90M"
            }
          },
          "expiresAt": "2017-07-17T12:30:00Z"
        }
      ]
    }
  },
  "paymentOptions": {
    "googleProvidedOptions": {
      "tokenizationParameters": {
        "tokenizationType": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "stripe",
          "stripe:publishableKey": "pk_live_stripe_client_key",
          "stripe:version": "2017-04-06"
        }
      },
      "supportedCardNetworks": [
        "AMEX",
        "DISCOVER",
        "MASTERCARD",
        "JCB",
        "VISA"
      ],
      "prepaidCardDisallowed": true
    }
  }
}

FoodItemExtension

Gıda öğeleri için eklentileri tanımlar.

Aşağıdaki tabloda FoodItemExtension türü için özellikler listelenmektedir:

Özellik Tür Açıklama
@type Devam

Zorunlu.

Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" değerine ayarlanır.

Değer: type.googleapis.com/google.actions.v2.orders.FoodItemExtension

options Liste<FoodItemOption>

Seçenek, eklenti öğesi veya eklenti grubu içeren bir eklenti grubu olabilir.

Aşağıdaki örnekte bir FoodItemExtension öğesi gösterilmektedir:

Örnek

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
  "options": [
    {
      "id": "sample_addon_offer_id_1",
      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
      "name": "Honey Mustard",
      "price": {
        "currencyCode": "USD"
      },
      "quantity": 1
    },
    {
      "id": "sample_addon_offer_id_2",
      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
      "name": "BBQ Sauce",
      "price": {
        "currencyCode": "USD",
        "nanos": 500000000
      },
      "quantity": 1,
      "subOptions": [
        {
          "id": "10239138",
          "offerId": "912391723",
          "name": "Fries",
          "price": {
            "currencyCode": "USD",
            "units": "2",
            "nanos": 230000000
          },
          "quantity": 1
        }
      ]
    }
  ]
}

FoodItemOption

Aşağıdaki tabloda FoodItemOption türü için özellikler listelenmektedir:

Özellik Tür Açıklama
id String

Google tarafından atanan benzersiz kimlik. Food OrderError veya Async OrderUpdateRequest gönderirken bir alışveriş sepetinin aynı offerId değerine sahip birden fazla öğe içerdiği durumları ayırt etmek için bu alanı kullanın.

Örnek: 39231093

offerId String

Öğenin teklif kimliği.

Örnek: 912835081

name String

Seçenek adı.

Örnek: Honey Mustard

price Money
note String

Seçenekle ilgili not.

quantity Number

Öğe olan seçenekler için öğe sayısıdır.

Örnek: 3

subOptions Liste<FoodItemOption>

Varsa seçeneğin alt seçenekleri.

Örnek: [ { "id": "71283712", "offerId": "51209121", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "units": "3", "nanos": 780000000 }, "quantity": 2 }, { "id": "102941024", "offerId": "12084102", "name": "Ketchup", "price": { "currencyCode": "USD", "units": "2", "nanos": 980000000 }, "quantity": 6 } ]

Aşağıdaki örnekte bir FoodItemOption öğesi gösterilmektedir:

1. Örnek

{
  "id": "10293231",
  "offerId": "1918491",
  "name": "Honey Mustard",
  "price": {
    "currencyCode": "USD",
    "units": "1",
    "nanos": 250000000
  },
  "quantity": 5
}

2. Örnek

{
  "id": "123166552",
  "offerId": "912849184",
  "name": "Make It A Meal",
  "price": {
    "currencyCode": "USD",
    "units": "3",
    "nanos": 730000000
  },
  "quantity": 1,
  "subOptions": [
    {
      "id": "10239138",
      "offerId": "912391723",
      "name": "Fries",
      "price": {
        "currencyCode": "USD",
        "units": "2",
        "nanos": 230000000
      },
      "quantity": 1
    },
    {
      "id": "57159183",
      "offerId": "81837123",
      "name": "Drink",
      "price": {
        "currencyCode": "USD",
        "units": "3",
        "nanos": 130000000
      },
      "quantity": 1
    }
  ]
}

FoodOrderError

CheckoutResponse'daki hatalarla ilgili ayrıntıları içerir.

Aşağıdaki tabloda FoodOrderError türü için özellikler listelenmektedir:

Özellik Tür Açıklama
error Error

Zorunlu.

id String

Şu durumda zorunludur: error = "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "PRICE_CHANGED", "INVALID", or "NOT_FOUND"

Bu alan, öğe düzeyindeki hatalar için gereklidir. Menü öğeleri için Google tarafından atanan LineItem.id veya eklentiler için FoodItemOption.id öğesidir.

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

Şu durumda zorunludur: error = "PRICE_CHANGED"

Hataya neden olan bir öğenin yeni fiyatıdır. Bu yalnızca hata "PRICE_CHANGED" olduğunda gereklidir.

availableQuantity Tamsayı

Şu durumda zorunludur: error = "INVALID", or "NOT_FOUND"

Hataya neden olan öğenin kullanılabilir yeni miktarı. Bu yalnızca hata "GEÇERSİZ" olduğunda gereklidir veya "NOT_FOUND" olarak görünür. Değer, "INVALID" için sıfır olmalıdır ve "NOT_FOUND" olarak da bilinir.

Aşağıdaki örnekte bir FoodOrderError öğesi gösterilmektedir:

1. Örnek

{
  "error": "CLOSED",
  "description": "This store is currently reachable. Please try again later."
}

2. Örnek

{
  "error": "PRICE_CHANGED",
  "id": "french_fries",
  "description": "The price has changed.",
  "updatedPrice": {
    "currencyCode": "USD",
    "units": "2",
    "nanos": 750000000
  }
}

FoodOrderExtension

Siparişle ilgili sipariş karşılama bilgilerini içerir.

Aşağıdaki tabloda FoodOrderExtension türü için özellikler listelenmektedir:

Özellik Tür Açıklama
@type Devam

Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodOrdersExtension" değerine ayarlanır.

Değer: type.googleapis.com/google.actions.v2.orders.FoodOrderExtension

availableFulfillmentOptions Liste<FulfillmentOption>

Sipariş için mevcut sipariş karşılama seçeneklerini gösterir.

optinForRemarketing Boole

Kullanıcının pazarlama kanallarınıza dahil olma isteği. Varsayılan olarak, kullanıcının izni olmadan pazarlama içeriği gönderemezsiniz. optinForYeniden Pazarlama true ise kullanıcıyı abone yapabilirsiniz. optinForRemarketing false (yanlış) değerinde veya mevcut değilse sisteminizdeki abonelik durumunu olduğu gibi tutmanız gerekir. Kullanıcılar, bu özelliğin kapsamı dışında kalmayı Google üzerinden değil, yalnızca pazarlama kanallarınızda belirtilen bir abonelik iptali işleviyle gerçekleştirebilir. Bu işaret yalnızcaSubmit OrderRequestMessage'da bulunur.

Aşağıdaki örnekte bir FoodOrderExtension öğesi gösterilmektedir:

1. Örnek

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
  "availableFulfillmentOptions": [
    {
      "fulfillmentInfo": {
        "delivery": {
          "deliveryTimeIso8601": "P0M"
        }
      },
      "expiresAt": "2017-07-17T12:30:00Z"
    }
  ]
}

2. Örnek

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
  "availableFulfillmentOptions": [
    {
      "fulfillmentInfo": {
        "pickup": {
          "pickupTimeIso8601": "P0M"
        }
      },
      "expiresAt": "2020-08-20T11:41:00Z"
    }
  ],
  "optinForRemarketing": true
}

FulfillmentOption

FulfillmentOption nesnesini aşağıdaki şekillerde kullanabilirsiniz:
  • Checkout AppRequest içinde ve Submit AppRequest, Cart.extension.fulfillmentPreference: Kullanıcının tercihini depolar (teslimat) veya teslim alma). Ödeme isteği gönderildiğinde fiyat her zaman 0 olur.
  • Checkout AppResponse ayında, ProposedOrder.extension.availableFulfillmentOptions: Bir veya daha fazla yayınlanma seçeneği tanımlar (şu anda yalnızca bir seçenek desteklenir). Varsayılan seçeneği şurada bir LineItem olarak belirtirsiniz: ProposedOrder.otherItems. offerId FulfillmentOption kimliği ProposedOrder.otherItems içinde LineItem belirtilmiş.

Aşağıdaki tabloda FulfillmentOption türü için özellikler listelenmektedir:

Özellik Tür Açıklama
offerId String

Bu sipariş karşılama seçeneğinin (varsa) benzersiz tanımlayıcısı.

fulfillmentInfo FulfillmentOptionInfo

Zorunlu.

expiresAt ISO Zaman Damgası

Bu sipariş karşılama seçeneğinin süresinin dolacağı zaman.

price Money

Bu seçeneğin maliyeti.

Aşağıdaki örnekte bir FulfillmentOption öğesi gösterilmektedir:

Örnek

{
  "offerId": "offer5",
  "fulfillmentInfo": {
    "pickup": {
      "pickupTimeIso8601": "P0M"
    }
  },
  "expiresAt": "2019-05-02T00:00:00-07:00",
  "price": {
    "currencyCode": "USD",
    "units": "5",
    "nanos": 230000000
  }
}

FulfillmentOptionInfo

FulfillmentInfo ile ilgili bilgileri tanımlar.

Aşağıdaki tabloda FulfillmentOptionInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
Aşağıdaki tesis gruplarından tam olarak biri gereklidir.
delivery 1. Grup DeliveryInfo

Varsa teslimat sırasını belirtir.

pickup 2. Grup PickupInfo

Varsa teslim alma siparişini belirtir.

Resim

Aşağıdaki tabloda Image türü için özellikler listelenmektedir:

Özellik Tür Açıklama
sourceUrl String

Zorunlu.

Resmin URL'si. Resim en az 72x72 piksel olmalıdır. En iyi sonuçlar için en az 216x216 piksel boyutunda bir resim kullanın. Resim boyutu 6 MB'tan ve çözünürlüğü 64 megapikselden küçük olmalıdır.

LineItem

Bir alışveriş sepetinin içeriğini (Cart.lineItems) veya sipariş (ProposedOrder.otherItems).

Aşağıdaki tabloda LineItem türü için özellikler listelenmektedir:

Özellik Tür Açıklama
id String

Şu durumda zorunludur: type = "REGULAR"

Alışveriş Sepetindeki Satır Öğesi (ProposedOrders.cart.lineItems[0].id) için bu, Google tarafından siparişi oluştururken oluşturulan benzersiz kimliktir. Teslimat ücretleri ve vergiler gibi öğelerin eklenmesinde kullanılan Proposed Order (ProposedOrders.otherItems[0].id) içindeki bir Satır Öğesi için kimliğin değeri sağlayıcı tarafından tanımlanır. Örneğin, bir alışveriş sepetinde aynı üründen farklı hazırlama talimatları olan iki tane vardır (örneğin, farklı malzemeleri olan 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önderdiğinizde, netleştirme işareti olarak bu kimliği kullanın. Başka bir deyişle, pizzalardan biri belirli bir malzemesi olmadığı için reddedilirse kimlik, Google'ın hangi siparişten bahsettiğinizi belirlemesine yardımcı olur. Bu alan, otherItems dışında zorunludur.

name String

Zorunlu.

Satır öğesinin adı. Bu, kullanıcının görebildiği bir dizedir ve mümkünse cümle biçiminde olmalıdır ("Teslimat ücreti", "Hizmet ücreti", "Vergi" gibi). Bu alan, kullanıcılar için 100 karakter olacak şekilde kısaltılır.

type LineItemType

Zorunlu.

quantity Tamsayı

Şu durumda zorunludur: type = "REGULAR"

Dahil edilen öğe sayısı. ProposedOrders.otherItems için geçerli değildir.

description String

Öğenin açıklaması.

price Price

Zorunlu.

Öğe veya öğelerin fiyatıdır. Bu değer, bu satır öğesi için tüm ürün veya hizmetlerin toplam fiyatını yansıtır (başka bir deyişle, tüm eklentilerin maliyetini ekleyip miktarla çarpar). Örneğin: 10 TL'lik bir öğenin miktarı 3 ise fiyat 30 TL olur. Taban fiyatı 5 ABD doları ve 1 ABD doları eklenti olan bir pizzanın fiyatı 6 ABD doları olur. Taban fiyatı 5 TL olan ve her birinin eklentisi 1 TL olan iki pizzanın (miktar = 2) fiyatı 12 TL olur. Her Satır Öğesi'nin fiyatı "0" olsa bile bir fiyatı olmalıdır. Tür İNDİRİM ise, değeri negatif olarak belirtin (ör. "-2").

subLines Liste<SublineNote>

İsteğe bağlıdır ve yalnızca tür "REGULAR" ise geçerlidir. Ödeme isteği ve sipariş gönderme isteğindeki bu alana kullanıcının öğeye özel bir not gönderilebilir. Notu gönderildiğinde satıcının aldığından emin olun. Bu değer, istekte subLines[0].note olarak yer alır. Bu, istekte mevcut olduğunda bu alanda sağlanan tek değerdir.

En fazla 1 öğe içermelidir.

offerId String

Şu durumda zorunludur: type = "REGULAR"

Öğenin MenuItem öğesinin teklif kimliği. ProposedOrders.otherItems için geçerli değildir.

extension FoodItemExtension

Gıda öğeleri için eklentileri tanımlar.

Aşağıdaki örnekte bir LineItem öğesi gösterilmektedir:

1. Örnek

{
  "name": "New customer discount",
  "price": {
    "type": "ESTIMATE",
    "amount": {
      "currencyCode": "USD",
      "units": "-5",
      "nanos": -500000000
    }
  },
  "type": "DISCOUNT"
}

2. Örnek

{
  "name": "Pita Chips",
  "type": "REGULAR",
  "id": "sample_item_offer_id_1",
  "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
  "quantity": 1,
  "price": {
    "type": "ESTIMATE",
    "amount": {
      "currencyCode": "USD",
      "units": "2",
      "nanos": 750000000
    }
  },
  "subLines": [
    {
      "note": "Notes for this item."
    }
  ],
  "extension": {
    "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
    "options": [
      {
        "id": "sample_addon_offer_id_1",
        "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
        "name": "Honey Mustard",
        "price": {
          "currencyCode": "USD"
        },
        "quantity": 1
      },
      {
        "id": "sample_addon_offer_id_2",
        "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
        "name": "BBQ Sauce",
        "price": {
          "currencyCode": "USD",
          "nanos": 500000000
        },
        "quantity": 1
      }
    ]
  }
}

LineItemType

LineItemType türü aşağıdaki olası değerlere sahiptir:

  • REGULAR: Mal satır öğesi. Cart.lineItems için geçerlidir.
  • TAX: Vergi satır öğesi. ProposedOrders.otherItems için geçerlidir.
  • DISCOUNT: İndirim satır öğesi. Fiyatın negatif olması gerektiğini unutmayın. ProposedOrders.otherItems için geçerlidir.
  • GRATUITY: Bahşiş satır öğesi. Genel olarak kullanıcı tarafından seçilen bir ipucuna yönelikSubmit OrderRequestMessage için ayrılmıştır. ProposedOrders.otherItems için geçerlidir.
  • DELIVERY: Yayınlama satır öğesi. ProposedOrders.otherItems için geçerlidir.
  • SUBTOTAL: Ara toplam satır öğesi. ProposedOrders.otherItems için geçerlidir.
  • FEE: Diğer türler tarafından kapsanmayan ek satır öğesi. ProposedOrders.otherItems için geçerlidir.

Konum

Yemek siparişi için bir adres belirtir. Location türü, Cart özelliğini kullanın. Kesinleşmiş konum, TransactionDecisionValue kullanıcı siparişi verirse. Teslim alma belirten siparişlerde konum hiç dahil edilmez (boş bile değil).

Aşağıdaki tabloda Location türü için özellikler listelenmektedir:

Özellik Tür Açıklama
coordinates Coordinates
formattedAddress String

Konumun görünen adresi.

Örnek: 1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States

postalAddress PostalAddress
zipCode String

Örnek: 90210

city String

Şehrin adı.

Örnek: Los Angeles

notes String

Kapı kodları gibi konumla ilgili notlar. En fazla 500 karakter uzunluğunda olmalıdır.

Örnek: Gate code is #111

Aşağıdaki örnekte bir Location öğesi gösterilmektedir:

Örnek

{
  "coordinates": {
    "latitude": 37.788783,
    "longitude": -122.41384
  },
  "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
  "zipCode": "94043",
  "city": "Mountain View",
  "postalAddress": {
    "regionCode": "US",
    "postalCode": "94043",
    "administrativeArea": "CA",
    "locality": "Mountain View",
    "addressLines": [
      "1350 Charleston Road"
    ]
  },
  "notes": "Gate code is #111"
}

Satıcı

Aşağıdaki tabloda Merchant türü için özellikler listelenmektedir:

Özellik Tür Açıklama
id String

Satıcının kimliği. Belirtilmişse Restoran feed'indeki Restaurant.@id ile eşleşir.

Örnek: https://www.exampleprovider.com/merchant/id1

name String

Zorunlu.

Satıcının kullanıcı tarafından görülebilen adı.

Örnek: Falafel Bite

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ü için özellikler listelenmektedir:

Özellik Tür Açıklama
currencyCode String

Zorunlu.

ISO 4217 biçiminde, 3 harfli para birimi kodu.

Örnek: USD

units String

Tutarın tam birimi. Örneğin, currencyCode "USD" ise "1" olur. birimi bir ABD doları.

Örnek: 36

nanos Tamsayı

Tutarın nano (10^-9) birimlerinin sayısı. Değer -999.999.999 ile +999.999.999 (bu değerler dahil) arasında olmalıdır. Şu kuralları kullanın: Birimler pozitifse nanos değeri pozitif veya sıfır olmalıdır. Birim sayısı sıfırsa nanos değeri pozitif, sıfır veya negatif olabilir. Birimler negatifse nanos değeri negatif veya sıfır olmalıdır. Örneğin, -1,75 dolar birim = -1 ve nano = -750.000.000 şeklinde ifade edilir.

Örnek: 730000000

Aşağıdaki örnekte bir Money öğesi gösterilmektedir:

1. Örnek

{
  "currencyCode": "USD",
  "units": "36",
  "nanos": 730000000
}

2. Örnek

{
  "currencyCode": "EUR",
  "units": "10"
}

Sipariş

Aşağıdaki tablodaki vergiler, ücretler ve teslimat ücretleri dahil olmak üzere son siparişi içerir. ödeme bilgileri de dahildir. Bu nesne, işleminiz tarafından Submit AppRequest

Aşağıdaki tabloda Order türü için özellikler listelenmektedir:

Özellik Tür Açıklama
finalOrder ProposedOrder

Zorunlu.

Emri sağlayan önerilen sıra.

googleOrderId String

Zorunlu.

Google tarafından atanan sipariş kimliği. Bu kimlik, bir siparişin tüm yaşam döngüsü boyunca sabit olmalıdır. Bu kimlik son kullanıcı tarafından görülemez.

orderDate ISO Zaman Damgası

Zorunlu.

Siparişin oluşturulduğu tarih ve saat.

paymentInfo PaymentInfo

Zorunlu.

Bu sipariş için yapılan ödemeye 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, listelenen siparişlerinizin sipariş güncellemesi AppResponse kapsamındadır.

Aşağıdaki tabloda OrderUpdate türü için özellikler listelenmektedir:

Özellik Tür Açıklama
actionOrderId String

Zorunlu.

Güncellemenin gönderildiği sırayı tanımlamak için kullanılan, entegratörün sistemindeki siparişin benzersiz kimliği. receive.user_visible_order_id, OrderUpdate'de "CREATED" öğesi için en az bir kez sağlanmamışsa bu kimlik, Google sipariş kartında gösterilen kullanıcı tarafından görülebilen bir kimlik olacaktır.

orderState OrderState

Zorunlu.

Siparişin yeni durumu.

lineItemUpdates Harita<Dize, LineItemUpdate>
updateTime ISO Zaman Damgası

Zorunlu.

Siparişin güncellendiği saat.

orderManagementActions Liste<OrderManagementAction>

Destek ekibiyle iletişime geçme ve sipariş ayrıntılarını görüntüleme gibi sipariş sonrası işlemler.

En az 1 öğe ve En fazla 6 öğe.

rejectionInfo RejectionInfo

Şu durumda zorunludur: orderState.state = "REJECTED"

cancellationInfo CancellationInfo

Şu durumda zorunludur: orderState.state = "CANCELLED"

inTransitInfo InTransitInfo

Bu alan kullanımdan kaldırılmıştır.

fulfillmentInfo FulfillmentInfo

Bu alan kullanımdan kaldırılmıştır.

receipt Receipt

Şu durumda zorunludur: orderState.state = "CONFIRMED", "IN_PREPARATION", or "READY_FOR_PICKUP"

Makbuzda, kullanıcının görebildiği sipariş kimliğini sağlayın.

totalPrice Price

Siparişin toplam fiyatı.

infoExtension FoodOrderUpdateExtension

Sipariş güncellemesiyle ilgili daha fazla ayrıntı (ör. tahmini teslimat veya teslim alma aralığı) tanımlar.

Aşağıdaki örnekte bir OrderUpdate öğesi gösterilmektedir:

Örnek

{
  "actionOrderId": "sample_action_order_id",
  "orderState": {
    "state": "CONFIRMED",
    "label": "Provider confirmed"
  },
  "totalPrice": {
    "type": "ESTIMATE",
    "amount": {
      "currencyCode": "USD",
      "units": "41",
      "nanos": 600000000
    }
  },
  "lineItemUpdates": {
    "sample_item_id_1": {
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "3",
          "nanos": 500000000
        }
      },
      "reason": "This item has an updated price."
    }
  },
  "receipt": {
    "userVisibleOrderId": "userVisibleId1234"
  },
  "updateTime": "2017-07-17T12:00:00Z",
  "orderManagementActions": [
    {
      "type": "CUSTOMER_SERVICE",
      "button": {
        "title": "Contact customer service",
        "openUrlAction": {
          "url": "mailto:support@example.com"
        }
      }
    },
    {
      "type": "EMAIL",
      "button": {
        "title": "Email restaurant",
        "openUrlAction": {
          "url": "mailto:person@example.com"
        }
      }
    },
    {
      "type": "CALL_RESTAURANT",
      "button": {
        "title": "Call restaurant",
        "openUrlAction": {
          "url": "tel:+16505554679"
        }
      }
    }
  ],
  "infoExtension": {
    "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
    "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
  }
}

PickupInfo

Aşağıdaki tabloda PickupInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
pickupTimeIso8601 String

ISO 8601 zaman damgası biçiminde tahmini teslim alma süresi: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" ya da süre biçimi: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". Örneğin, PT90M 90 dakikalık bir süreyi temsil eder. "PT0M" varsayılan değeri, tercih edilen teslim alma süresinin mümkün olan en kısa sürede olduğunu gösterir. Referans: https://en.wikipedia.org/wiki/ISO_8601#United_date_and_time_representations. Ödeme yanıtı sırasında tahmini teslim alma süresini güncellemek için bu ayarı kullanın.

Örnek: PT90M

Aşağıdaki örnekte bir PickupInfo öğesi gösterilmektedir:

Örnek

{
  "pickupTimeIso8601": "PT90M"
}

PostalAddress

Aşağıdaki tabloda PostalAddress türü için özellikler listelenmektedir:

Özellik Tür Açıklama
regionCode String

Zorunlu.

İki harfli ülke kodudur.

Örnek: US

postalCode String

Posta kodu.

Örnek: 94043

administrativeArea String

Bir ülke veya bölgenin posta adresleri için kullanılan en yüksek idari alt bölüm. Bu bir eyalet, il, oblast veya vilayet olabilir.

Örnek: CA

locality String

Bu konumun şehir veya ilçesidir. Dünyada yerlerin iyi tanımlanmadığı veya bu yapıya uymadığı bölgelerde, yerelliği belirtmeyin ve bunun yerine addressLines alanını kullanın.

Örnek: Mountain View

addressLines Liste<Dize>

Açık adresi belirtmek için kullanabileceğiniz bir veya daha fazla satır. Bu alan, belirsiz konumlar içerebileceği için değiştirilmemelidir.

Örnek: [ "1350 Charleston Road" ]

recipients Liste<Dize>

Bir siparişin alıcılarının listesi. Bu alan yalnızca billingAddress

Aşağıdaki örnekte bir PostalAddress öğesi gösterilmektedir:

Örnek

{
  "regionCode": "US",
  "postalCode": "94043",
  "administrativeArea": "CA",
  "locality": "Mountain View",
  "addressLines": [
    "1350 Charleston Road"
  ]
}

Fiyat

Aşağıdaki tabloda Price türü için özellikler listelenmektedir:

Özellik Tür Açıklama
type Enum [ "ESTIMATE", "ACTUAL" ]

Zorunlu.

Promosyon kuponu kodu.

amount Money

Zorunlu.

Tanıtım

Aşağıdaki tabloda Promotion türü için özellikler listelenmektedir:

Özellik Tür Açıklama
coupon String

Zorunlu.

Promosyon kuponu kodu.

ProposedOrder

Aşağıdaki tabloda ProposedOrder türü için özellikler listelenmektedir:

Özellik Tür Açıklama
id String

Teklif edilen siparişin isteğe bağlı kimliği.

cart Cart

Zorunlu.

Kullanıcının öğeleri.

otherItems Liste<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

Teklif edilen siparişle ilişkilendirilen resim.

totalPrice Price

Zorunlu.

Teklif edilen siparişin toplam fiyatı.

extension FoodOrderExtension

Zorunlu.

Yemek siparişleriyle ilgili sipariş karşılama bilgilerini tanımlar.

disclaimers Liste<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ü için özellikler listelenmektedir:

Özellik Tür Açıklama
note String

Zorunlu.

Zaman damgası

Aşağıdaki biçimdeki tarih ve saat: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" .

TransactionDecisionValue

Order değerini içerir.

Aşağıdaki tabloda TransactionDecisionValue türü için özellikler listelenmektedir:

Özellik Tür Açıklama
order Order

Zorunlu.

Ödeme ayrıntılarıyla birlikte sipariş verilecek.

Aşağıdaki örnekte bir TransactionDecisionValue öğesi gösterilmektedir:

Örnek

{
  "order": {
    "finalOrder": {
      "cart": {
        "notes": "Guest prefers their food to be hot when it is delivered.",
        "merchant": {
          "id": "https://www.exampleprovider.com/merchant/id1",
          "name": "Cucina Venti"
        },
        "lineItems": [
          {
            "name": "Sizzling Prawns Dinner",
            "type": "REGULAR",
            "id": "sample_item_offer_id_1",
            "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
            "quantity": 1,
            "price": {
              "type": "ESTIMATE",
              "amount": {
                "currencyCode": "USD",
                "units": "16",
                "nanos": 750000000
              }
            },
            "subLines": [
              {
                "note": "Notes for this item."
              }
            ],
            "extension": {
              "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
              "options": [
                {
                  "id": "sample_addon_offer_id_1",
                  "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                  "name": "Honey Mustard",
                  "price": {
                    "currencyCode": "USD"
                  },
                  "quantity": 1
                },
                {
                  "id": "sample_addon_offer_id_2",
                  "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
                  "name": "BBQ Sauce",
                  "price": {
                    "currencyCode": "USD",
                    "nanos": 500000000
                  },
                  "quantity": 1
                }
              ]
            }
          }
        ],
        "extension": {
          "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
          "fulfillmentPreference": {
            "fulfillmentInfo": {
              "pickup": {
                "pickupTimeIso8601": "P0M"
              }
            }
          },
          "contact": {
            "displayName": "Lovefood Ordering",
            "email": "ilovefood@example.com",
            "phoneNumber": "+16501234567"
          }
        }
      },
      "otherItems": [
        {
          "name": "Service fee",
          "type": "FEE",
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "3",
              "nanos": 500000000
            }
          }
        },
        {
          "name": "Tax",
          "type": "TAX",
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "1",
              "nanos": 370000000
            }
          }
        },
        {
          "name": "Tip",
          "type": "GRATUITY",
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "2",
              "nanos": 590000000
            }
          }
        }
      ],
      "totalPrice": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "23",
          "nanos": 710000000
        }
      },
      "id": "sample_final_order_id",
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
        "availableFulfillmentOptions": [
          {
            "fulfillmentInfo": {
              "pickup": {
                "pickupTimeIso8601": "P0M"
              }
            },
            "expiresAt": "2017-07-17T12:30:00Z"
          }
        ],
        "optinForRemarketing": true
      }
    },
    "googleOrderId": "sample_google_order_id",
    "orderDate": "2017-07-17T12:00:00Z",
    "paymentInfo": {
      "displayName": "Visa\u2006****\u20061111",
      "googleProvidedPaymentInstrument": {
        "instrumentToken": "abcd"
      },
      "paymentType": "PAYMENT_CARD"
    }
  }
}

Sipariş Karşılama

AppRequest

Aşağıdaki tabloda AppRequest türü için özellikler listelenmektedir:

Özellik Tür Açıklama
isInSandbox Boole

Sonraki işlemlerin korumalı alan ortamında yapılıp yapılmadığını belirtir.

conversation Conversation
inputs Liste<Input>

Zorunlu.

Alışveriş sepetini ödeme için beklenen bağımsız değişkenleri içerir.

Tam olarak 1 öğe içermelidir.

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, bir AppRequest actions.foodordering.intent.CHECKOUT amacıyla.

SubmitOrderRequestMessage

SubmitOrderRequestMessage, bir AppRequest actions.foodordering.intent.TRANSACTION_DECISION amacıyla.

Konuşma

Conversation yalnızca bir oturuma özeldir. Birden fazla hesabı birbirine bağlamak için Gerekirse Checkout ve SubmitOrder İşlemleri birlikte yapın.

Aşağıdaki tabloda Conversation türü için özellikler listelenmektedir:

Özellik Tür Açıklama
conversationId String

Zorunlu.

Görüşmenin benzersiz kimliği.

Aşağıdaki örnekte bir Conversation öğesi gösterilmektedir:

Örnek

{
  "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ"
}

Giriş

Alışveriş sepetini ödeme için beklenen bağımsız değişkenler.

Aşağıdaki tabloda Input türü için özellikler listelenmektedir:

Özellik Tür Açıklama
intent Enum [ "actions.foodordering.intent.CHECKOUT", "actions.intent.TRANSACTION_DECISION" ]

Zorunlu.

"actions.foodordering.intent.checkOUT" olarak ayarlayın ödeme isteği mesajı VEYA "actions.intent.TRANSACTION_DECISION" için sipariş isteği mesajı göndermek için.

arguments Liste<Argument>

Zorunlu.

Ödemesi yapılacak alışveriş sepetini veya verilecek siparişi içerir

Tam olarak 1 öğe içermelidir.

Argüman

Kullanıcının göz atmak istediği gıda öğeleriyle ilgili ayrıntıları içerir. Ödeme için yalnızca uzatma geçerlidir. Sipariş gönderme için yalnızca transactionDecisionValue geçerlidir

Aşağıdaki tabloda Argument türü için özellikler listelenmektedir:

Özellik Tür Açıklama
Aşağıdaki tesis gruplarından tam olarak biri gereklidir.
extension 1. Grup Cart

Kullanıcının ödeme yapmak istediği gıda öğeleriyle ilgili ayrıntılar.

transactionDecisionValue 2. Grup TransactionDecisionValue

Verilecek siparişi ve ödeme ayrıntılarını içerir.

Sipariş Karşılama Yanıtı

AppResponse

Aşağıdaki tabloda AppResponse türü için özellikler listelenmektedir:

Özellik Tür Açıklama
expectUserResponse Devam

False (yanlış) değerine ayarlayın.

Değer: False

finalResponse FinalResponse

Zorunlu.

Alışveriş sepeti ödeme işlemine verdiğiniz yanıtı içerir.

Aşağıdaki örnekte bir AppResponse öğesi gösterilmektedir:

1. Örnek

{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "structuredResponse": {
            "checkoutResponse": {
              "proposedOrder": {
                "id": "sample_proposed_order_id_1",
                "otherItems": [
                  {
                    "name": "New customer discount",
                    "price": {
                      "type": "ESTIMATE",
                      "amount": {
                        "currencyCode": "USD",
                        "units": "-5",
                        "nanos": -500000000
                      }
                    },
                    "type": "DISCOUNT"
                  },
                  {
                    "name": "Delivery fee",
                    "price": {
                      "type": "ESTIMATE",
                      "amount": {
                        "currencyCode": "USD",
                        "units": "3",
                        "nanos": 500000000
                      }
                    },
                    "type": "DELIVERY"
                  },
                  {
                    "name": "Tax",
                    "price": {
                      "type": "ESTIMATE",
                      "amount": {
                        "currencyCode": "USD",
                        "units": "1",
                        "nanos": 500000000
                      }
                    },
                    "type": "TAX"
                  }
                ],
                "cart": {
                  "merchant": {
                    "id": "https://www.exampleprovider.com/merchant/id1",
                    "name": "Falafel Bite"
                  },
                  "lineItems": [
                    {
                      "name": "Pita Chips",
                      "type": "REGULAR",
                      "id": "sample_item_offer_id_1",
                      "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
                      "quantity": 1,
                      "price": {
                        "type": "ESTIMATE",
                        "amount": {
                          "currencyCode": "USD",
                          "units": "2",
                          "nanos": 750000000
                        }
                      },
                      "subLines": [
                        {
                          "note": "Notes for this item."
                        }
                      ],
                      "extension": {
                        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
                        "options": [
                          {
                            "id": "sample_addon_offer_id_1",
                            "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                            "name": "Honey Mustard",
                            "price": {
                              "currencyCode": "USD"
                            },
                            "quantity": 1
                          },
                          {
                            "id": "sample_addon_offer_id_2",
                            "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
                            "name": "BBQ Sauce",
                            "price": {
                              "currencyCode": "USD",
                              "nanos": 500000000
                            },
                            "quantity": 1
                          }
                        ]
                      }
                    },
                    {
                      "name": "Chicken Shwarma Wrap",
                      "type": "REGULAR",
                      "id": "sample_item_offer_id_2",
                      "offerId": "https://www.exampleprovider.com/menu/item/offer/id2",
                      "quantity": 1,
                      "price": {
                        "type": "ESTIMATE",
                        "amount": {
                          "currencyCode": "USD",
                          "units": "8"
                        }
                      },
                      "extension": {
                        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
                      }
                    },
                    {
                      "name": "Greek Salad",
                      "type": "REGULAR",
                      "id": "sample_item_offer_id_3",
                      "offerId": "https://www.exampleprovider.com/menu/item/offer/id3",
                      "quantity": 1,
                      "price": {
                        "type": "ESTIMATE",
                        "amount": {
                          "currencyCode": "USD",
                          "units": "9",
                          "nanos": 990000000
                        }
                      },
                      "extension": {
                        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
                      }
                    },
                    {
                      "name": "Prawns Biryani",
                      "type": "REGULAR",
                      "id": "sample_item_offer_id_4",
                      "offerId": "https://www.exampleprovider.com/menu/item/offer/id4",
                      "quantity": 1,
                      "price": {
                        "type": "ESTIMATE",
                        "amount": {
                          "currencyCode": "USD",
                          "units": "15",
                          "nanos": 990000000
                        }
                      },
                      "extension": {
                        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
                      }
                    }
                  ],
                  "extension": {
                    "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
                    "fulfillmentPreference": {
                      "fulfillmentInfo": {
                        "delivery": {
                          "deliveryTimeIso8601": "P90M"
                        }
                      }
                    },
                    "location": {
                      "coordinates": {
                        "latitude": 37.788783,
                        "longitude": -122.41384
                      },
                      "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
                      "zipCode": "94043",
                      "city": "Mountain View",
                      "postalAddress": {
                        "regionCode": "US",
                        "postalCode": "94043",
                        "administrativeArea": "CA",
                        "locality": "Mountain View",
                        "addressLines": [
                          "1350 Charleston Road"
                        ]
                      },
                      "notes": "Gate code is #111"
                    }
                  }
                },
                "totalPrice": {
                  "type": "ESTIMATE",
                  "amount": {
                    "currencyCode": "USD",
                    "units": "36",
                    "nanos": 730000000
                  }
                },
                "extension": {
                  "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
                  "availableFulfillmentOptions": [
                    {
                      "fulfillmentInfo": {
                        "delivery": {
                          "deliveryTimeIso8601": "P0M"
                        }
                      },
                      "expiresAt": "2017-07-17T12:30:00Z"
                    }
                  ]
                }
              },
              "paymentOptions": {
                "googleProvidedOptions": {
                  "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\": false    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
                }
              },
              "additionalPaymentOptions": [
                {
                  "actionProvidedOptions": {
                    "paymentType": "ON_FULFILLMENT",
                    "displayName": "Cash on delivery."
                  }
                }
              ]
            }
          }
        }
      ]
    }
  }
}

2. Örnek

{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "structuredResponse": {
            "orderUpdate": {
              "actionOrderId": "sample_action_order_id",
              "orderState": {
                "state": "CONFIRMED",
                "label": "Provider confirmed"
              },
              "receipt": {
                "userVisibleOrderId": "userVisibleId1234"
              },
              "updateTime": "2017-07-17T12:00:00Z",
              "orderManagementActions": [
                {
                  "type": "CUSTOMER_SERVICE",
                  "button": {
                    "title": "Contact customer service",
                    "openUrlAction": {
                      "url": "mailto:support@example.com"
                    }
                  }
                },
                {
                  "type": "CUSTOMER_SERVICE",
                  "button": {
                    "title": "Call customer service",
                    "openUrlAction": {
                      "url": "tel:+18005554679"
                    }
                  }
                },
                {
                  "type": "EMAIL",
                  "button": {
                    "title": "Email restaurant",
                    "openUrlAction": {
                      "url": "mailto:person@example.com"
                    }
                  }
                },
                {
                  "type": "CALL_RESTAURANT",
                  "button": {
                    "title": "Call restaurant",
                    "openUrlAction": {
                      "url": "tel:+16505554679"
                    }
                  }
                }
              ],
              "infoExtension": {
                "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
                "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
              }
            }
          }
        }
      ]
    }
  }
}

3. Örnek

{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "structuredResponse": {
            "error": {
              "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension",
              "foodOrderErrors": [
                {
                  "error": "CLOSED",
                  "description": "The restaurant is closed."
                }
              ]
            }
          }
        }
      ]
    }
  }
}

4. Örnek

{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "structuredResponse": {
            "checkoutResponse": {
              "proposedOrder": {
                "otherItems": [
                  {
                    "name": "Delivery Fees",
                    "subLines": [],
                    "price": {
                      "type": "ESTIMATE",
                      "amount": {
                        "currencyCode": "USD",
                        "units": "3",
                        "nanos": 500000000
                      }
                    },
                    "type": "DELIVERY"
                  },
                  {
                    "name": "Tax",
                    "subLines": [],
                    "price": {
                      "type": "ESTIMATE",
                      "amount": {
                        "currencyCode": "USD",
                        "units": "1",
                        "nanos": 370000000
                      }
                    },
                    "type": "TAX"
                  },
                  {
                    "name": "Promotion",
                    "subLines": [],
                    "price": {
                      "type": "ESTIMATE",
                      "amount": {
                        "currencyCode": "USD",
                        "units": "-5",
                        "nanos": 0
                      }
                    },
                    "id": "OWG_ACTIVE_CODE",
                    "type": "DISCOUNT"
                  }
                ],
                "cart": {
                  "merchant": {
                    "id": "https://www.exampleprovider.com/merchant/id1",
                    "name": "Falafel Bite"
                  },
                  "lineItems": [
                    {
                      "name": "Pita Chips",
                      "type": "REGULAR",
                      "id": "sample_item_offer_id_1",
                      "quantity": 1,
                      "price": {
                        "type": "ESTIMATE",
                        "amount": {
                          "currencyCode": "USD",
                          "units": "2",
                          "nanos": 750000000
                        }
                      },
                      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                      "extension": {
                        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
                      }
                    }
                  ],
                  "promotions": [
                    {
                      "coupon": "OWG_ACTIVE_CODE"
                    }
                  ],
                  "extension": {
                    "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
                    "fulfillmentPreference": {
                      "fulfillmentInfo": {
                        "pickup": {
                          "pickupTimeIso8601": "P0M"
                        }
                      }
                    }
                  }
                },
                "totalPrice": {
                  "type": "ESTIMATE",
                  "amount": {
                    "currencyCode": "USD",
                    "units": "14",
                    "nanos": 860000000
                  }
                },
                "extension": {
                  "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
                  "availableFulfillmentOptions": [
                    {
                      "fulfillmentInfo": {
                        "pickup": {
                          "pickupTimeIso8601": "P0M"
                        }
                      },
                      "expiresAt": "2018-04-10T01:20:08.471Z"
                    }
                  ]
                }
              },
              "paymentOptions": {
                "googleProvidedOptions": {
                  "tokenizationParameters": {
                    "tokenizationType": "PAYMENT_GATEWAY",
                    "parameters": {
                      "gateway": "stripe",
                      "stripe:publishableKey": "pk_live_stripe_client_key",
                      "stripe:version": "2017-04-06"
                    }
                  },
                  "supportedCardNetworks": [
                    "AMEX",
                    "DISCOVER",
                    "MASTERCARD",
                    "VISA",
                    "JCB"
                  ],
                  "prepaidCardDisallowed": true,
                  "billingAddressRequired": true
                }
              }
            }
          }
        }
      ]
    }
  }
}

CheckoutResponseMessage

CheckoutResponseMessage, AppResponse ve checkoutResponse veya error StructuredResponse.

SubmitOrderResponseMessage

SubmitOrderResponseMessage, AppResponse ve StructuredResponse içinde orderUpdate.

FinalResponse

Alışveriş sepetinde ödeme işlemine verdiğiniz yanıt veyaSubmit OrderRequestMessage.

Aşağıdaki tabloda FinalResponse türü için özellikler listelenmektedir:

Özellik Tür Açıklama
richResponse RichResponse

Zorunlu.

CheckoutRequestMessage veyaSubmitOrdersRequestMessage için verdiğiniz yanıtı içerir.

CheckoutResponse

Aşağıdaki tabloda CheckoutResponse türü için özellikler listelenmektedir:

Özellik Tür Açıklama
proposedOrder ProposedOrder

Zorunlu.

İşlem için kullanılması önerilen sipariş.

paymentOptions PaymentOptions

Zorunlu.

Kullanıcı için varsayılan ödeme seçeneği belirlendi.

additionalPaymentOptions Liste<PaymentOptions>

Kullanıcıya sunulan alternatif ödeme seçenekleri.

Aşağıdaki örnekte bir CheckoutResponse öğesi gösterilmektedir:

Örnek

{
  "proposedOrder": {
    "id": "sample_proposed_order_id_1",
    "otherItems": [
      {
        "name": "New customer discount",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "-5",
            "nanos": -500000000
          }
        },
        "type": "DISCOUNT"
      },
      {
        "name": "Delivery fee",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "3",
            "nanos": 500000000
          }
        },
        "type": "DELIVERY"
      },
      {
        "name": "Tax",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "1",
            "nanos": 500000000
          }
        },
        "type": "TAX"
      }
    ],
    "cart": {
      "merchant": {
        "id": "https://www.exampleprovider.com/merchant/id1",
        "name": "Falafel Bite"
      },
      "lineItems": [
        {
          "name": "Pita Chips",
          "type": "REGULAR",
          "id": "sample_item_offer_id_1",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "2",
              "nanos": 750000000
            }
          },
          "subLines": [
            {
              "note": "Notes for this item."
            }
          ],
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
            "options": [
              {
                "id": "sample_addon_offer_id_1",
                "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                "name": "Honey Mustard",
                "price": {
                  "currencyCode": "USD"
                },
                "quantity": 1
              },
              {
                "id": "sample_addon_offer_id_2",
                "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
                "name": "BBQ Sauce",
                "price": {
                  "currencyCode": "USD",
                  "nanos": 500000000
                },
                "quantity": 1
              }
            ]
          }
        },
        {
          "name": "Chicken Shwarma Wrap",
          "type": "REGULAR",
          "id": "sample_item_offer_id_2",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id2",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "8"
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        },
        {
          "name": "Greek Salad",
          "type": "REGULAR",
          "id": "sample_item_offer_id_3",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id3",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "9",
              "nanos": 990000000
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        },
        {
          "name": "Prawns Biryani",
          "type": "REGULAR",
          "id": "sample_item_offer_id_4",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id4",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "15",
              "nanos": 990000000
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        }
      ],
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
        "fulfillmentPreference": {
          "fulfillmentInfo": {
            "delivery": {
              "deliveryTimeIso8601": "P90M"
            }
          }
        },
        "location": {
          "coordinates": {
            "latitude": 37.788783,
            "longitude": -122.41384
          },
          "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
          "zipCode": "94043",
          "city": "Mountain View",
          "postalAddress": {
            "regionCode": "US",
            "postalCode": "94043",
            "administrativeArea": "CA",
            "locality": "Mountain View",
            "addressLines": [
              "1350 Charleston Road"
            ]
          },
          "notes": "Gate code is #111"
        }
      }
    },
    "totalPrice": {
      "type": "ESTIMATE",
      "amount": {
        "currencyCode": "USD",
        "units": "36",
        "nanos": 730000000
      }
    },
    "extension": {
      "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
      "availableFulfillmentOptions": [
        {
          "fulfillmentInfo": {
            "delivery": {
              "deliveryTimeIso8601": "P0M"
            }
          },
          "expiresAt": "2017-07-17T12:30:00Z"
        }
      ]
    }
  },
  "paymentOptions": {
    "googleProvidedOptions": {
      "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\": false    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
    }
  },
  "additionalPaymentOptions": [
    {
      "actionProvidedOptions": {
        "paymentType": "ON_FULFILLMENT",
        "displayName": "Cash on delivery."
      }
    }
  ]
}

Öğe

Alışveriş sepeti ödeme işlemine verdiğiniz yanıtı veya Send OrderRequestMessage yanıtını içerir.

Aşağıdaki tabloda Item türü için özellikler listelenmektedir:

Özellik 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ü için özellikler listelenmektedir:

Özellik Tür Açıklama
items Liste<Item>

Zorunlu.

Tam olarak 1 öğe içermelidir.

StructuredResponse

CheckoutResponseMessage için bu aşağıdakilerden biri olabilir: CheckoutResponse Başarılı bir ödeme olduğunu belirtir. VEYA FoodErrorExtension: Ödeme sırasında bir hata olduğunu gösterir. Yanıt, düzeltilmiş bir Proposed Order ve PaymentOptions veya PaymentOptions bulunmayan bir hata mesajı içerebilir. Send OrderResponseMessage için yalnızca orderUpdate geçerlidir.

Aşağıdaki tabloda StructuredResponse türü için özellikler listelenmektedir:

Özellik Tür Açıklama
Aşağıdaki tesis gruplarından tam olarak biri gereklidir.
checkoutResponse 1. Grup CheckoutResponse

Ödemesi yapılmış ürünler, vergiler ve indirimler.

error 2. Grup FoodErrorExtension

Alışveriş sepeti öğelerinde gözlemlenen hatalar. Hatanın yapısına bağlı olarak bu mülk, düzeltilmiş bir Proposed Order ve PaymentOptions veya PaymentOptions içermeyen bir hata mesajı içerebilir.

orderUpdate 3. Grup OrderUpdate

Eşzamansız sipariş güncellemeleri

Bu bölümde, istekleri oluşturan üst düzey türler ve tipik yemek siparişi verme yerleşik eylem etkileşiminin yanıtları.

AsyncOrderUpdateRequestMessage

Sipariş gönderildikten ve onaylandıktan sonra kullanıcıyı değişiklikler konusunda bilgilendirir. Örneğin, kullanıcıya siparişin nakliye sürecinde olduğunu veya fiyatı değişti. Daha fazla bilgi edinmek için şu sayfaya bakın:

Aşağıdaki tabloda AsyncOrderUpdateRequestMessage türü için özellikler listelenmektedir:

Özellik Tür Açıklama
isInSandbox Boole

Bu güncellemenin gönderildiği siparişin korumalı alan ödemesi olduğunu belirtir.

customPushMessage CustomPushMessage

Zorunlu.

İstekle ilgili OrderUpdate'i içerir.

Aşağıdaki örnekte bir AsyncOrderUpdateRequestMessage öğesi gösterilmektedir:

Örnek

{
  "isInSandbox": true,
  "customPushMessage": {
    "orderUpdate": {
      "actionOrderId": "sample_action_order_id",
      "orderState": {
        "state": "IN_TRANSIT",
        "label": "Order is on the way"
      },
      "inTransitInfo": {
        "updatedTime": "2017-07-17T12:00:00Z"
      },
      "updateTime": "2017-07-17T12:00:00Z",
      "receipt": {
        "userVisibleOrderId": "userVisibleId1234"
      },
      "orderManagementActions": [
        {
          "type": "CUSTOMER_SERVICE",
          "button": {
            "title": "Contact customer service",
            "openUrlAction": {
              "url": "mailto:support@example.com"
            }
          }
        },
        {
          "type": "EMAIL",
          "button": {
            "title": "Email restaurant",
            "openUrlAction": {
              "url": "mailto:person@example.com"
            }
          }
        },
        {
          "type": "CALL_RESTAURANT",
          "button": {
            "title": "Call restaurant",
            "openUrlAction": {
              "url": "tel:+16505554679"
            }
          }
        }
      ],
      "infoExtension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
        "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
      }
    }
  }
}

AsyncOrderUpdateResponseMessage

AsyncOrderUpdateRequestMessage başarıyla gönderildikten sonra Google yanıt verir bir HTTP 200 durumuna ve boş bir gövdeye sahip olmalıdır. Güncelleme başarısız olduysa Google, sipariş güncellemesinin neden başarısız olduğuyla ilgili ayrıntılarla yanıt verir.

Sipariş güncelleme türleri

Düğme

Kullanıcı etkileşimi sağlamak için ekleyebileceğiniz bir kullanıcı arayüzü öğesini tanımlar.

Aşağıdaki tabloda Button türü için özellikler listelenmektedir:

Özellik Tür Açıklama
title String

Zorunlu.

Görüntü etiketi. Oluşturma işleminin düzgün çalışması için cümle düzeninde en fazla 30 karakter kullanın.

Örnek: Contact us

openUrlAction OpenUrlAction

Zorunlu.

Aşağıdaki örnekte bir Button öğesi gösterilmektedir:

Örnek

{
  "title": "Send us feedback",
  "openUrlAction": {
    "url": "mailto:person@example.com"
  }
}

CancellationInfo

Aşağıdaki tabloda CancellationInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
reason String

Zorunlu.

OrderState.state "CANCELLED" olduğunda, reddin görüntülenebilir metin nedeni.

Örnek: Restaurant closed

Aşağıdaki örnekte bir CancellationInfo öğesi gösterilmektedir:

Örnek

{
  "reason": "Insufficient inventory"
}

FoodOrderUpdateExtension

Bu tür, kullanıcıya siparişin ne zaman tamamlanacağına dair tahmini bir aralık sağlar teslim edilmiş veya teslim alınmaya hazır olacaktır. Bu uzantıyı OrderUpdate bilgi olduğunda veya son gönderilmesinden bu yana değişmişse.

Kullanıcının sipariş karşılama aralığı için ölçülü bir tahminde ve beklentilerin tutarlı bir şekilde karşılandığını gösterir. Örneğin, siparişin 24 saat içinde saat 13:00'te teslim edilecekse trafik koşullarına bağlı dalgalanmalarla tutarlı (ör. bugün saat 12:45'te) 13:15'e kadar.

ISO 8601 süresi veya zaman damgası, updateTime, OrderUpdate (aslında "şimdi") updateTime ve duration. "Şimdi" olmadıkça bu biçimi kullanma aslında makul bir beklentidir.

ISO 8601 aralığı, başlangıcından bitiş noktasına kadarki aralık anlamına gelecek şekilde yorumlanır. izin verilir.

Aşağıdaki tabloda FoodOrderUpdateExtension türü için özellikler listelenmektedir:

Özellik Tür Açıklama
@type Devam

Bu uzantının türü. Bu alan her zaman "type.googleapis.com/google.actions.v2.orders.FoodOrdersUpdateExtension" değerine ayarlanır.

Değer: type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension

estimatedFulfillmentTimeIso8601 String

Siparişin teslim edileceği veya teslim alınmaya hazır olacağı tahmini zaman. Dize ISO 8601 biçiminde olmalı ve tek bir sabit zaman yerine bir aralığa karşılık gelmelidir. Kabul edilebilir kurallar şunlardır: Aralıklar, Süreler ve Tarihler/Saatler. Bu alan, bilgiler kullanılabilir hale geldiğinde ya da erken veya gecikmeli teslimler gibi bir değişiklik olduğunda, Submit OrderResponseMessage ya da Async OrderUpdateRequestMessage üzerinden gönderilebilir.

Örnek: 2017-07-17T13:00:00Z/2017-07-17T13:30:00Z

foodOrderErrors Liste<FoodOrderError>

Sipariş sonrası meydana gelen hataları açıklar. Alışveriş sepeti veya öğe başına bir hata kullanılması önerilir. reddedionInfo'da yer almayan tüm hatalar için Food OrderUpdateExtension.Food OrderErrors öğesini kullanın.

En az 1 öğe içermelidir.

Aşağıdaki örnekte bir FoodOrderUpdateExtension öğesi gösterilmektedir:

1. Örnek

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
  "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
}

2. Örnek

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
  "foodOrderErrors": [
    {
      "error": "NO_CAPACITY",
      "description": "Sorry, the restaurant cannot take your order right now."
    }
  ]
}

FulfillmentInfo

Aşağıdaki tabloda FulfillmentInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
Aşağıdaki tesis gruplarından tam olarak biri gereklidir.
deliveryTime 1. Grup ISO Zaman Damgası

Food OrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601'i kullanın

pickupTime 2. Grup ISO Zaman Damgası

Food OrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601'i 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ü için özellikler listelenmektedir:

Özellik Tür Açıklama
updatedTime ISO Zaman Damgası

Food OrderingUpdateExtension mesajında estimatedFulfillmentTimeIso8601'i kullanın

Aşağıdaki örnekte bir InTransitInfo öğesi gösterilmektedir:

Örnek

{
  "updatedTime": "2017-05-10T02:36:38.803Z"
}

LineItemUpdate

Aşağıdaki tabloda LineItemUpdate türü için özellikler listelenmektedir:

Özellik 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ü için özellikler listelenmektedir:

Özellik Tür Açıklama
url String

Zorunlu.

Düğme tıklanarak veya dokunularak tetiklenen işlem. Geçerli ön eklerin listesi orderManagementActionType öğesine bağlıdır. "EMAIL": Önek "mailto" olmalıdır. "CALL": Önek "tel" olmalıdır. "CUSTOMER_SERVICE": Önek "mailto", "tel", "http" veya "https" olmalıdır.

Örnek: https://www.google.com

OrderManagementAction

Sipariş yönetimi, kullanıcıların sipariş sonrası desteği alabilmelerini sağlar ve gönderme siparişindeki her OrderUpdate AppResponse ve bunu izleyen her bir AsyncOrderUpdateRequestMessage Belirli bir sipariş için gönderilen sipariş yönetimi işlemleri durumu.

Örneğin, "CREATED" durumu bilginiz varsa, CUSTOMER_SERVICE müşteri destek telefonu. Ardından, "ONAYLANDI" eyalet, CUSTOMER_SERVICE restorana geçebilmek için en iyi nokta haline gelirse aktarmalısınız. Benzer bir şekilde, sipariş "FULFILLED" durumuna getirildiğinde eyalet, CUSTOMER_SERVICE, destek e-posta adreslerinize başvurabilir.

Aşağıdaki tabloda OrderManagementAction türü için özellikler listelenmektedir:

Özellik Tür Açıklama
type OrderManagementActionType

Zorunlu.

button Button

Zorunlu.

Aşağıdaki örnekte bir OrderManagementAction öğesi gösterilmektedir:

1. Örnek

{
  "type": "CUSTOMER_SERVICE",
  "button": {
    "title": "Contact customer service",
    "openUrlAction": {
      "url": "mailto:support@example.com"
    }
  }
}

2. Örnek

{
  "type": "EMAIL",
  "button": {
    "title": "Email restaurant",
    "openUrlAction": {
      "url": "mailto:person@example.com"
    }
  }
}

OrderManagementActionType

OrderManagementAction ile ilgili türleri tanımlar.

OrderManagementActionType türü aşağıdaki olası değerlere sahiptir:

  • CUSTOMER_SERVICE: Sipariş onayı sayfasında gösterilecek müşteri hizmetlerinin e-posta adresi ve/veya iletişim numarası. Bu zorunludur. openUrlAction.url öneki "mailto", "tel", "http" veya "https" olmalıdır.
  • EMAIL: Yalnızca sipariş ayrıntıları sayfasında e-posta işlemi openUrlAction.url öneki "mailto" olmalıdır.
  • CALL_DRIVER: Yalnızca sipariş ayrıntıları sayfasında arama işlemi yapılabilir. openUrlAction.url öneki "tel" olmalıdır.
  • CALL_RESTAURANT: Yalnızca sipariş ayrıntıları sayfasında arama işlemi yapılabilir. openUrlAction.url öneki "tel" olmalıdır.

OrderState

Siparişin mevcut durumu. OrderState olan her state değeri ayrıca şu adresteki satın alma durumuna karşılık gelir: myaccount.google.com adresinde oturum açın.

Aşağıdaki tabloda OrderState türü için özellikler listelenmektedir:

Özellik Tür Açıklama
state OrderStateEnum

Zorunlu.

label String

Zorunlu.

Durum için kullanıcı tarafından görülebilen görüntüleme dizesi. Normal tümce düzeni kullanın.

Örnek: Your order has been received

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ş, entegrasyon uzmanı tarafından oluşturuldu ve sağlayıcının onayını bekliyor. "Sipariş verildi"ye karşılık gelir satın alma durumu.
  • CONFIRMED: Sipariş, sağlayıcı tarafından onaylandı ve etkin. "Kabul edildi"ye karşılık gelir satın alma durumu.
  • REJECTED: Sipariş, entegrasyon uzmanı veya sağlayıcı tarafından reddedildi. "Reddedildi"ye karşılık gelir satın alma durumu.
  • CANCELLED: Kullanıcı, siparişi iptal etti. "İptal edildi" durumuna karşılık gelir satın alma durumu.
  • IN_PREPARATION: Yiyecek hazırlanıyor. "Durum bilinmiyor" durumuna karşılık gelir satın alma durumu.
  • READY_FOR_PICKUP: Yiyecekler teslim alınmaya hazır. "Teslim alma için hazır" durumuna karşılık gelir satın alma durumu.
  • IN_TRANSIT: Sipariş teslim ediliyor. "Devam ediyor" durumuna karşılık gelir satın alma durumu.
  • FULFILLED: Kullanıcı, siparişi aldı. "Teslim alındı" durumuna karşılık gelir satın alma durumu.

Fatura

Bu türü bir sipariş gönder AppResponse, Burada OrderState değeri "CONFIRMED", "FULFILLED" veya "IN_TRANSIT" olur. Makbuzu şu adrese gönder: userVisibleOrderId öğesinin kullanıma sunulacağı zaman. Herhangi bir daha sonraki güncellemelerde makbuzu gönderebilirsiniz.

Aşağıdaki tabloda Receipt türü için özellikler listelenmektedir:

Özellik Tür Açıklama
userVisibleOrderId String

Zorunlu.

Sipariş "CONFIRMED", "IN_TRANSIT" veya "FULFILLED" ise gereklidir. Bu alan, söz konusu siparişle ilgili kullanıcılara yönelik tek kimliktir (genellikle restoranın sipariş kimliğidir) ve hem entegrasyon uzmanının makbuzunda hem de Google sipariş kartında gösterilir. Kullanıcı, sağlayıcı ve entegratör aracılığıyla müşteri hizmetleri siparişine referans vermek için bu kimliği kullanabilmelidir. Bu kimliği herhangi bir OrderUpdate'de yalnızca bir kez sağlamanız gerekir. İşlem sağlanana kadar action OrderId değeri, uservisible OrderId olacaktır. Örneğin, sipariş restoran tarafından onaylanana kadar kullanıcı görünür sipariş kimliğiniz olmayabilir. Onaylandıktan sonra, OrderUpdate ve Makbuz içeren bir Async OrderUpdateRequestMessage göndermeniz gerekir.

Aşağıdaki örnekte bir Receipt öğesi gösterilmektedir:

Örnek

{
  "userVisibleOrderId": "userVisibleId1234"
}

RejectionInfo

Aşağıdaki tabloda RejectionInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
type RejectionType

Zorunlu.

reason String

Dahili günlük kaydı için kullanılan ret nedeni. Bu alan kullanıcılar tarafından görülemez.

Aşağıdaki örnekte bir RejectionInfo öğesi gösterilmektedir:

Örnek

{
  "type": "PAYMENT_DECLINED",
  "reason": "There is an issue with payment processing."
}

RejectionType

RejectionType türü aşağıdaki olası değerlere sahiptir:

  • INELIGIBLE: Kullanıcı, politikayla veya riskle ilgili endişeler nedeniyle uygun değil.
  • PAYMENT_DECLINED: Ödemenin işlenmesiyle ilgili bir sorun var.
  • UNAVAILABLE_SLOT: Sipariş, DeliveryInfo veya PickupInfo tarafından belirtilen zamanında yerine getirilemiyor.
  • PROMO_NOT_APPLICABLE: Promosyonla ilgili bir sorun var.
  • UNKNOWN: Başka bir neden.

Ödemeyle ilgili türler

Bu bölümde, yemek siparişi için kullanılan ödemeyle ilgili türler açıklanmaktadır. istek karşılamayı da kapsar.

ActionProvidedPaymentOptions

İşlem tarafından sağlanan ödeme yöntemiyle ilgili şartlar.

Aşağıdaki tabloda ActionProvidedPaymentOptions türü için özellikler listelenmektedir:

Özellik Tür Açıklama
paymentType PaymentType

Zorunlu.

displayName String

Zorunlu.

Makbuzda gösterilen ödeme aracının adı.

Örnek: Taco Points Total

onFulfillmentPaymentData OnFulfillmentPaymentData

"ON_FULFILLMENT" ödeme türü için ek veriler. Örneğin, sipariş karşılamada nakit mi yoksa kartın mı desteklendiğini belirtmek için bu alanı kullanabilirsiniz.

Aşağıdaki örnekte bir ActionProvidedPaymentOptions öğesi gösterilmektedir:

Örnek

{
  "paymentType": "ON_FULFILLMENT",
  "displayName": "Pay when you get your food.",
  "onFulfillmentPaymentData": {
    "supportedPaymentOptions": [
      "Cash",
      "Card"
    ]
  }
}

AllowedAuthMethods

AllowedAuthMethods türü aşağıdaki olası değerlere sahiptir:

  • PAN_ONLY: Kullanıcının Google Hesabında kayıtlı olan ödeme kartlarıyla ilişkili kimlik doğrulama yöntemi. Döndürülen ödeme verileri, son kullanma ayı ve son kullanma tarihiyle birlikte kişisel hesap numarasını (PAN) içerir.

AllowedCardNetworks

AllowedCardNetworks türü aşağıdaki olası değerlere sahiptir:

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA

BillingAddressParameters

Bu nesne, istenen bir fatura adresi için döndürülecek ek alanlar ayarlamanıza olanak tanır.

Aşağıdaki tabloda BillingAddressParameters türü için özellikler listelenmektedir:

Özellik Tür Açıklama
format String

İşlemi tamamlamak için fatura adresi biçimi gereklidir. MIN: Ad, ülke kodu ve posta kodu. TAM: Ad, açık adres, şehir, bölge, ülke kodu ve posta kodu.

Aşağıdaki örnekte bir BillingAddressParameters öğesi gösterilmektedir:

1. Örnek

{
  "format": "MIN"
}

2. Örnek

{
  "format": "FULL"
}

CardParameters

Sitenizin Google Pay API'sine yönelik desteğini yapılandırmak için bu nesneyi kullanın.

Aşağıdaki tabloda CardParameters türü için özellikler listelenmektedir:

Özellik Tür Açıklama
allowedAuthMethods Liste<Const>

Zorunlu.

Kart işleminin kimliğini doğrulamak için desteklenen alanlar.

En az 1 öğe içermelidir.

allowedCardNetworks Liste<AllowedCardNetworks>

Zorunlu.

Desteklediğiniz ve Google Pay API tarafından da desteklenen bir veya daha fazla kart ağı.

En az 1 öğe içermelidir.

billingAddressRequired Boole

Fatura adresi gerekliyse doğru değerine ayarlanır. Yalnızca işlemin yapılması için gerekliyse fatura adresi isteyin. Ek veri istekleri, ödeme sürecindeki sorunları artırabilir ve dönüşüm oranlarının düşmesine neden olabilir.

billingAddressParameters BillingAddressParameters

billingAddressZorunlu değeri doğru değerine ayarlanırsa beklenen alanlar döndürülür.

cvcRequired Boole

TimesofMoney kullanılıyorsa diğer tüm ödeme işleyiciler için false (yanlış) değerine ayarlanır.

Aşağıdaki örnekte bir CardParameters öğesi gösterilmektedir:

1. Örnek

{
  "allowedAuthMethods": [
    "PAN_ONLY"
  ],
  "allowedCardNetworks": [
    "AMEX",
    "DISCOVER"
  ],
  "billingAddressRequired": false,
  "cvcRequired": false
}

2. Örnek

{
  "allowedAuthMethods": [
    "PAN_ONLY"
  ],
  "allowedCardNetworks": [
    "AMEX",
    "DISCOVER"
  ],
  "billingAddressRequired": true,
  "billingAddressParameters": {
    "format": "MIN"
  },
  "cvcRequired": false
}

GoogleProvidedPaymentInstrument

Aşağıdaki tabloda GoogleProvidedPaymentInstrument türü için özellikler listelenmektedir:

Özellik Tür Açıklama
instrumentToken String

Zorunlu.

Daha önce belirtilen GoogleProvidedPaymentOptions uyarınca, kullanıcıdan katılımcı bir Google Pay işlemcisinden ödeme alınmasına yönelik ödeme jetonunu içeren 64 kodlu dize.

billingAddress PostalAddress

Ödemeye ilişkin fatura adresi.

Aşağıdaki örnekte bir GoogleProvidedPaymentInstrument öğesi gösterilmektedir:

Örnek

{
  "instrumentToken": "abcd",
  "billingAddress": {
    "regionCode": "US",
    "postalCode": "94043",
    "administrativeArea": "CA",
    "locality": "Mountain View",
    "addressLines": [
      "1350 Charleston Road"
    ]
  }
}

GoogleProvidedPaymentOptions

Google tarafından sağlanan ödeme yöntemiyle ilgili şartlar.

Aşağıdaki tabloda GoogleProvidedPaymentOptions türü için özellikler listelenmektedir:

Özellik Tür Açıklama
facilitationSpecification String

Dize olarak bir PaymentDataRequest JSON dosyası. Sitenizin Google Pay API'sine yönelik desteğini yapılandırmak için bu nesneyi kullanın.

supportedCardNetworks Liste<SupportedCardNetworks>

Bunun yerine facilitationSpecification kullanın. Temsilci tarafından desteklenen kart ağlarının türü.

Bu alan kullanımdan kaldırılmıştır.

prepaidCardDisallowed Boole

Bunun yerine facilitationSpecification kullanın. Ödeme türü olarak ön ödemeli karta izin verilip verilmediği.

Bu alan kullanımdan kaldırılmıştır.

billingAddressRequired Boole

Bunun yerine facilitationSpecification 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'sine yönelik desteğini yapılandırmak için bu nesneyi kullanın.

Aşağıdaki tabloda MerchantInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
merchantId String

Google Pay tarafından size verilen Google satıcı kimliği.

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 amacıyla bu nesneyi kullanın.

Aşağıdaki tabloda OnFulfillmentPaymentData türü için özellikler listelenmektedir:

Özellik Tür Açıklama
supportedPaymentOptions Liste<PaymentOptionsEnums>

Sipariş karşılama sırasında kullanıcının kullanabildiği ödeme seçeneklerinin listesi.

Aşağıdaki örnekte bir OnFulfillmentPaymentData öğesi gösterilmektedir:

Örnek

{
  "supportedPaymentOptions": [
    "Cash",
    "Card"
  ]
}

Parametreler

TokenizationParameters ile ilgili türleri tanımlar.

Aşağıdaki tabloda Parameters türü için özellikler listelenmektedir:

Özellik Tür Açıklama
gateway String

Zorunlu.

Örnek: braintree

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'sine yönelik desteğini yapılandırmak için bu nesneyi kullanın.

Aşağıdaki tabloda PaymentDataRequest türü için özellikler listelenmektedir:

Özellik Tür Açıklama
apiVersion Devam

Zorunlu.

Ana API sürümü.

Değer: 2

apiVersionMinor Devam

Zorunlu.

Alt API sürümü.

Değer: 0

merchantInfo MerchantInfo

Zorunlu.

(Google Pay satıcı kimliği) Ödeme verilerini isteyen satıcıyla ilgili bilgiler.

allowedPaymentMethods Liste<PaymentMethod>

Zorunlu.

Google Pay API tarafından desteklenen bir veya daha fazla ödeme yöntemi için desteği belirtir.

transactionInfo TransactionInfo

Zorunlu.

Kullanıcının işlemi kabul edip etmediğine bağlı olarak işlemin yetkilendirilmesiyle ilgili ayrıntılar. Bu alanda toplam fiyat ve fiyat durumu bulunur.

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

Siparişe ilişkin ödemeyle ilgili bilgiler.

Aşağıdaki tabloda PaymentInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
displayName String

Zorunlu.

Makbuzda gösterilecek ödeme aracının kullanıcı tarafından görülebilen adı.

paymentType PaymentType

Zorunlu.

googleProvidedPaymentInstrument GoogleProvidedPaymentInstrument

İşlem tarafından kullanılabilecek jeton. Bunu yalnızca, CheckoutResponseMessage'da bir ödeme seçeneği olarak GoogleProvidedPaymentOptions'ı belirttiyseniz belirtin.

Aşağıdaki örnekte bir PaymentInfo öğesi gösterilmektedir:

1. Örnek

{
  "displayName": "Visa\u2006****\u20061111",
  "googleProvidedPaymentInstrument": {
    "instrumentToken": "abcd"
  },
  "paymentType": "PAYMENT_CARD"
}

2. Örnek

{
  "displayName": "Visa\u2006****\u20061111",
  "googleProvidedPaymentInstrument": {
    "instrumentToken": "abcd",
    "billingAddress": {
      "regionCode": "US",
      "postalCode": "94043",
      "administrativeArea": "CA",
      "locality": "Mountain View",
      "addressLines": [
        "123 Random Street",
        "Unit ABC"
      ],
      "recipients": [
        "sample_receipient"
      ]
    }
  },
  "paymentType": "PAYMENT_CARD"
}

PaymentMethod

Sitenizin Google Pay API'sine yönelik desteğini yapılandırmak için bu nesneyi kullanın.

Aşağıdaki tabloda PaymentMethod türü için özellikler listelenmektedir:

Özellik Tür Açıklama
type Devam

Zorunlu.

Desteklenen ödeme yönteminin kısa tanımlayıcısı. Şu anda yalnızca CARD desteklenmektedir.

Değer: CARD

parameters CardParameters

Zorunlu.

Sağlanan ödeme yöntemi türünü yapılandırmak için gerekli parametreler.

tokenizationSpecification TokenizationSpecification

Zorunlu.

Ödeme bilgilerini almak için bir hesabı veya şifre çözme sağlayıcıyı yapılandırın. Bu mülk, CARD ödeme yöntemi için zorunludur.

Aşağıdaki örnekte bir PaymentMethod öğesi gösterilmektedir:

Örnek

{
  "type": "CARD",
  "parameters": {
    "allowedAuthMethods": [
      "PAN_ONLY"
    ],
    "allowedCardNetworks": [
      "VISA",
      "AMEX",
      "MASTERCARD"
    ],
    "billingAddressRequired": false
  },
  "tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
      "gatewayMerchantId": "90412491",
      "gateway": "olo"
    }
  }
}

PaymentOptions

Aşağıdaki tabloda PaymentOptions türü için özellikler listelenmektedir:

Özellik Tür Açıklama
Aşağıdaki tesis gruplarından tam olarak biri gereklidir.
googleProvidedOptions 1. Grup GoogleProvidedPaymentOptions

actionProvidedOptions ile karşılıklı dışlayıcı. Bu kartı gPay ile online ödemelerde kullanabilirsiniz.

actionProvidedOptions 2. Grup ActionProvidedPaymentOptions

googleProvidedOptions ile birlikte özelleştirilebilir. Bunu "teslimde nakit ödeme" için kullanın veya "sipariş karşılama sırasında ödeme" gibi.

Aşağıdaki örnekte bir PaymentOptions öğesi gösterilmektedir:

1. Örnek

{
  "googleProvidedOptions": {
    "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\": false    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
  }
}

2. Örnek

{
  "googleProvidedOptions": {
    "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\":true,   \"billingAddressParameters\": {  \"format\":\"MIN\"  }    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
  }
}

3. Örnek

{
  "actionProvidedOptions": {
    "paymentType": "ON_FULFILLMENT",
    "displayName": "Pay when you get your food.",
    "onFulfillmentPaymentData": {
      "supportedPaymentOptions": [
        "Cash",
        "Card"
      ]
    }
  }
}

PaymentOptionsEnums

PaymentOptionsEnums türü aşağıdaki olası değerlere sahiptir:

  • Cash
  • Card
  • UPI
  • Paytm

PaymentType

PaymentType türü aşağıdaki olası değerlere sahiptir:

  • PAYMENT_CARD: GoogleProvidedPaymentOptions için.
  • ON_FULFILLMENT: ActionProvidedPaymentOptions için.

SupportedCardNetworks

GoogleProvidedPaymentOptions ile ilgili türleri tanımlar.

SupportedCardNetworks türü aşağıdaki olası değerlere sahiptir:

  • UNSPECIFIED_CARD_NETWORK
  • AMEX
  • DISCOVER
  • JCB
  • MASTERCARD
  • VISA

TokenizationParameters

GoogleProvidedPaymentOptions ile ilgili türleri tanımlar.

Aşağıdaki tabloda TokenizationParameters türü için özellikler listelenmektedir:

Özellik Tür Açıklama
tokenizationType Enum [ "UNSPECIFIED_TOKENIZATION_TYPE", "PAYMENT_GATEWAY" ]

Zorunlu.

Bunun yerine facilitationSpecification kullanın. Kabul edilen jeton türü.

parameters Parameters

Bunun yerine facilitationSpecification 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ü için özellikler listelenmektedir:

Özellik Tür Açıklama
type Devam

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 yapabilmesini belirleyen bir işlemi tanımlar. Ödeme yetkilendirmesi iletişim kutusunu göstermek için kullanılır.

Aşağıdaki tabloda TransactionInfo türü için özellikler listelenmektedir:

Özellik Tür Açıklama
currencyCode String

Zorunlu.

ISO 4217 alfabetik para birimi kodu.

transactionId String

Bir işlem denemesini tanımlayan benzersiz kimlik. Satıcılar, Google Pay işlem denemeleri için mevcut bir kimliği kullanabilir veya belirli bir kimlik oluşturabilir. Google Transaction Events API'sine geri çağırmalar gönderdiğinizde bu alan gereklidir.

totalPriceStatus Devam

Zorunlu.

"TAHMİNİ" kullanın seçeneğini belirleyin. Toplam fiyat, yanıtın ayrıntılarına (ör. fatura adresine göre alınan satış vergisi) göre değişebilir.

Değer: ESTIMATED

totalPrice String

Zorunlu.

İşlemin, isteğe bağlı iki ondalık basamak kesinliğiyle hesaplanan 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"
}