- JSON 表示法
- OrderItem
- OrderModifierGroup
- OrderModifier
- OrderModifierAction
- OrderMetadata
- DeliveryAddress
- ValidationStatus
- OrderFulfillment
- OrderPriceInfo
- OrderPayment
- TippingInfo
- LoyaltyAmount
- PaymentInfo
- PaymentMethod
Order 代表使用者進行中或已完成訂單的內容。
| JSON 表示法 |
|---|
{ "items": [ { object ( |
| 欄位 | |
|---|---|
items[] |
選用。訂單中的項目。 |
metadata |
選用。訂單期間收集或推測的其他中繼資料。 |
fulfillment |
選用。訂單的履行資訊。 |
priceInfo |
選用。訂單的價格資訊。 |
externalOrderId |
僅供輸出。這筆訂單的外部 ID。只有在啟用銷售點整合功能時,系統才會填入適當值。 |
orderPayment |
選用。與這筆訂單相關聯的付款狀態。 |
OrderItem
OrderItem 會指定 Item 的狀態,該 Item 是 Order 的一部分。
| JSON 表示法 |
|---|
{ "uid": string, "itemId": string, "displayName": string, "image": { object ( |
| 欄位 | |
|---|---|
uid |
選用。系統為這個項目指派的專屬 ID。 |
itemId |
這是必要旗標,選單中項目的 ID,在選單中必須是專屬 ID。 |
displayName |
僅供輸出。使用者介面顯示的委刊項名稱,方便使用者辨識。 |
image |
僅供輸出。要在 UI 中顯示這個項目的圖片。 |
basePrice |
僅供輸出。商品的底價。這項設定可能會受到所選修飾符影響。這是商品的單價。 |
integrationAttributes |
僅供輸出。與這個實體相關聯的中繼資料,用於下游整合。 |
modifierGroups[] |
選用。套用至這個項目的修飾符群組。 |
quantity |
選用。訂單中此項目的數量。 |
totalPrice |
僅供輸出。這個明細項目的總價 (含所選加購項目,並反映商品數量),稅前。用於顯示每項商品的購物袋。 |
categoryIds[] |
僅供輸出。基礎選單項目所屬的類別 ID。與菜單的 Item.category_ids 相同,因此用戶端可以依菜單類別將訂購商品分組。 |
OrderModifierGroup
OrderModifierGroup 會指定屬於 OrderItem 的 ModifierGroup 狀態。
| JSON 表示法 |
|---|
{ "modifierGroupId": string, "displayName": string, "integrationAttributes": { object ( |
| 欄位 | |
|---|---|
modifierGroupId |
這是必要旗標,這個修飾符群組的 ID,在所屬菜單中不得重複。 |
displayName |
僅供輸出。修飾符群組名稱,例如「配料 (三明治)」或「中份套餐的配菜」。 |
integrationAttributes |
僅供輸出。與這個實體相關聯的中繼資料,用於下游整合。 |
modifiers[] |
選用。套用至這個修飾符群組的修飾符。 |
OrderModifier
OrderModifier 會指定 Modifier 的狀態,該狀態屬於 OrderModifierGroup。
| JSON 表示法 |
|---|
{ "uid": string, "modifierId": string, "displayName": string, "priceAdjustment": { object ( |
| 欄位 | |
|---|---|
uid |
選用。系統為這個修飾符指派的專屬 ID。 |
modifierId |
這是必要旗標,這個修飾符的 ID,在菜單中不得重複。 |
displayName |
僅供輸出。要在使用者介面中顯示的修飾符顯示名稱。 |
priceAdjustment |
僅供輸出。與這個修飾符相關聯的價格調整幅度 (如有)。這是修飾符的單價。 |
quantity |
選用。套用這項修飾符動作的數量。 |
modifierAction |
選用。套用至這個修飾符的修飾符動作。 |
image |
僅供輸出。要在使用者介面中顯示的修飾符圖片。 |
integrationAttributes |
僅供輸出。與這個實體相關聯的中繼資料,用於下游整合。 |
modifierGroups[] |
選用。套用至這個修飾符的巢狀修飾符群組。 |
isDefault |
僅供輸出。這個修飾符是否為修飾符群組的預設選項。這是為了讓用戶端計算準確的選取項目差異。 |
OrderModifierAction
OrderModifierAction 會指定與套用的 OrderModifier 相關聯的 ModifierAction。
| JSON 表示法 |
|---|
{ "name": string } |
| 欄位 | |
|---|---|
name |
選用。修飾符動作名稱,例如「NO」、「SIDE」、「ADD」、「EXTRA」。 |
OrderMetadata
OrderMetadata 包含訂單期間收集或推斷的其他中繼資料。
| JSON 表示法 |
|---|
{
"collectedCustomerName": string,
"callerPhoneNumber": string,
"deliveryAddress": {
object ( |
| 欄位 | |
|---|---|
collectedCustomerName |
選用。下單時收集的顧客姓名。只有在代理程式設定為收集顧客姓名時,才會填入這項資料。這類資訊可能是口頭收集,因此可能含有拼字錯誤或轉錄錯誤,向使用者顯示時請務必謹慎,且不應視為付款資訊等可信來源。 |
callerPhoneNumber |
選用。下單顧客的電話號碼。 |
deliveryAddress |
選用。如果訂單為外送訂單,則為外送地址。 |
DeliveryAddress
訂單的寄送地址。可以是已儲存或收集的地址。
| JSON 表示法 |
|---|
{ "address": { object ( |
| 欄位 | |
|---|---|
address |
選用。寄送地址。 |
validationStatus |
選用。地址的驗證狀態。 |
coordinates |
選用。地址的地理座標。用於驗證地址是否在商店的送貨範圍內。 |
ValidationStatus
寄送地址的驗證狀態。這項資訊是由用戶端專屬的驗證邏輯決定。
| 列舉 | |
|---|---|
VALIDATION_STATUS_UNSPECIFIED |
地址尚未通過驗證。 |
VALIDATION_STATUS_VALID |
地址有效。 |
VALIDATION_STATUS_INVALID |
地址無效 (不存在、無法剖析等) |
VALIDATION_STATUS_OUT_OF_RANGE |
地址存在且已解析,但不在商店的服務範圍內。 |
VALIDATION_STATUS_INCOMPLETE_ADDRESS |
地址缺少必要欄位 (缺少門牌號碼/名稱、城市、州/省、郵遞區號等) |
OrderFulfillment
OrderFulfillment 包含訂單履行資訊。
| JSON 表示法 |
|---|
{
"fulfillmentMethod": enum ( |
| 欄位 | |
|---|---|
fulfillmentMethod |
選用。訂單的出貨方式。 |
createTime |
僅供輸出。訂單建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
targetFulfillmentTime |
選用。訂單排定出貨的時間,用於「預先下單」。如未提供,系統會假設訂單為「盡快」出貨。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
OrderPriceInfo
OrderPriceInfo 會封裝訂單的各種價格元件。
| JSON 表示法 |
|---|
{ "totalPrice": { object ( |
| 欄位 | |
|---|---|
totalPrice |
選用。套用所有稅金、費用和折扣後的最終總價。 |
subtotalPrice |
選用。所有商品和小計的價格,不含稅金和折扣。 |
taxPrice |
選用。訂單適用的稅額。 |
discount |
選用。套用至訂單的折扣總額 |
saving |
選用。訂單已套用特惠折扣 |
fees |
選用。訂單適用的總費用 |
OrderPayment
訂單的付款相關資訊。
| JSON 表示法 |
|---|
{ "tippingInfo": { object ( |
| 欄位 | |
|---|---|
tippingInfo |
選用。小費資訊。 |
loyaltyConsumed |
選用。用於付款的會員金額。 |
paymentInfo |
選用。使用的付款方式相關資訊。 |
TippingInfo
有關小費的資訊。
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位 tip_type。小費金額或百分比。tip_type 只能是下列其中一個設定: |
|
amount |
選用。小費金額。 |
percentageBps |
選用。以基準點表示的百分比,例如 450 = 4.5%。 |
LoyaltyAmount
代表顧客的會員金額。
| JSON 表示法 |
|---|
{ "units": string } |
| 欄位 | |
|---|---|
units |
這是必要旗標,會員點數。 |
PaymentInfo
使用者的付款資訊。
| JSON 表示法 |
|---|
{
"creditCardLastFourDigits": string,
"creditCardCvv": string,
"paymentMethod": enum ( |
| 欄位 | |
|---|---|
creditCardLastFourDigits |
選用。信用卡末四碼。這項資訊會在付款階段用於驗證信用卡號碼。 |
creditCardCvv |
選用。信用卡的 CVV。 |
paymentMethod |
選用。使用的付款方式類型。 |
PaymentMethod
付款方式類型。
| 列舉 | |
|---|---|
PAYMENT_METHOD_UNSPECIFIED |
未指定付款方式。 |
PAYMENT_METHOD_CREDIT_CARD |
信用卡。 |
PAYMENT_METHOD_CASH |
現金。 |