フルフィルメント アクションのスキーマ

このページでは、Ordering End-to-End Built-in Action API の使用時のフルフィルメント ウェブサービス(Ordering End-to-End API)のペイロードについて説明します。 この情報を機械で判読できるバージョンとして、JSON スキーマをダウンロードできます。

基本タイプ

カート

注文の詳細と、受け取りのリクエストかどうかが含まれます。 考えてみましょうカートには、配送の詳細、チップ、配送情報も表示されます あります。 Cart オブジェクトは Checkout AppRequest.f Checkout AppResponse にカートのコピーを含めます。

次の表に、Cart タイプのプロパティを示します。

プロパティ タイプ 説明
@type 定数

このオブジェクトの型。親の Cart オブジェクトが ProposedOrder の一部である場合は、このフィールドを省略します。

値: type.googleapis.com/google.actions.v2.orders.Cart

id String

カートの ID(省略可)。

merchant Merchant

このカートと提携している販売者。

lineItems リスト<LineItem>

必須。

ユーザーが注文する商品やサービスのリスト。

1 個以上のアイテムを選択してください。

promotions リスト<Promotion>

このカートに適用されるプロモーション。現在サポートされているプロモーションは 1 つのみです。

notes String

注文または配送手順に関するメモ。

extension FoodCartExtension

ユーザーに関する詳細(フルフィルメント設定など)を定義します。

次の例は、Cart 要素を示しています。

例 1

{
  "@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

{
  "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"
    }
  }
}

連絡先

注文を受け取る人に関する詳細情報を指定します。利用可能な言語は AppResponse

次の表に、Contact タイプのプロパティを示します。

プロパティ タイプ 説明
displayName String

表示したい注文を受け取る人の名前。このフィールドは、firstName と lastName が指定されていない場合に使用します。

例: Lovefood Ordering

email String

注文を受け取るユーザーのメールアドレス。

例: ilovefood@example.com

firstName String

注文を受け取る担当者の名。

例: Lovefood

lastName String

注文を受け取る人の姓。

例: Ordering

phoneNumber String

注文を受けた担当者の電話番号(国コードを含む)。

例: +16501234567

emailVerified ブール値

注文を受け取るユーザーが Google アカウントでログインしているかどうかを示します。

次の例は、Contact 要素を示しています。

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

CustomPushMessage

リクエストの OrderUpdate が含まれます。

次の表に、CustomPushMessage タイプのプロパティを示します。

プロパティ タイプ 説明
orderUpdate OrderUpdate

必須。

注文に関する情報を更新しました。

次の例は、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",
    "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

次の表に、DeliveryInfo タイプのプロパティを示します。

プロパティ タイプ 説明
deliveryTimeIso8601 String

目安のお届け日数(ISO 8601 タイムスタンプ形式): 「{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z」または持続時間の形式: 「P(n)Y(n)M(n)DT(n)H(n)M(n)S」。たとえば、PT90M は 90 分の期間を表します。デフォルト値の「PT0M」は、優先配信時間が可能な限り早いことを指定します。参照: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representationsこの情報を使用して、購入手続きの応答時の目安のお届け日数を更新します。

例: PT90M

次の例は、DeliveryInfo 要素を示しています。

{
  "deliveryTimeIso8601": "PT90M"
}

免責条項

次の表に、Disclaimer タイプのプロパティを示します。

プロパティ タイプ 説明
predefinedMessage PredefinedMessage

必須。

購入手続き時に事前定義された免責条項メッセージを表示する。

feeAmount Money

パートナーは、この注文に対して N の金額を販売者に請求します。

feeAmountRange FeeAmountRange

パートナーは、注文ごとに N ~ M の金額をレストランに請求します。

feePercent 番号

パートナーは、この注文に対して N% の手数料を販売者に請求します。

feePercentRange FeePercentRange

パートナーは、注文ごとに N% ~ M% の手数料を販売者に請求します。

次の例は、Disclaimer 要素を示しています。

例 1

{
  "predefinedMessage": "NEW_YORK_DELIVERY_FEE_TIP_DISCLAIMER"
}

例 2

{
  "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE"
}

例 3

{
  "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE",
  "feePercent": 25
}

例 4

{
  "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE",
  "feePercentRange": {
    "minFeePercent": 20,
    "maxFeePercent": 30
  }
}

例 5

{
  "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE",
  "feeAmount": {
    "currencyCode": "AUD",
    "units": 2,
    "nanos": 500000000
  }
}

例 6

{
  "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE",
  "feeAmountRange": {
    "minFeeAmount": {
      "currencyCode": "AUD",
      "units": 2,
      "nanos": 500000000
    },
    "maxFeeAmount": {
      "currencyCode": "AUD",
      "units": 10,
      "nanos": 0
    }
  }
}

エラー

Error 型には次の値を使用できます。

  • CLOSED: レストランは注文時に営業時間外です。
  • NO_CAPACITY: 利用可能なサービス容量がない(ピーク時間による一時的な停止など)。
  • NO_COURIER_AVAILABLE: 配達担当者が不足しているため、注文を処理できません。
  • REQUIREMENTS_NOT_MET: 注文受け入れの制約(最小バスケット サイズなど)が満たされていません。
  • UNAVAILABLE_SLOT: DeliveryInfo または PickupInfo で指定された時間前までに注文を処理することはできません。
  • OUT_OF_SERVICE_AREA: 注文をユーザーの住所に配送できません。
  • PROMO_EXPIRED: プロモーションの有効期限が切れているため、適用できませんでした。
  • PROMO_NOT_APPLICABLE: 他のプロモーション コードのエラーに当てはまらない場合に、プロモーション コードの適用に失敗したすべてのケースをキャッチするための一般的なエラーコード。
  • PROMO_NOT_RECOGNIZED: クーポンコードを認識できませんでした。
  • PROMO_ORDER_INELIGIBLE: 現在の注文はこのクーポンの対象外です。
  • PROMO_USER_INELIGIBLE: 現在のユーザーはこのクーポンの対象外です。
  • AVAILABILITY_CHANGED: 商品の在庫切れ、またはリクエストに応えるのに十分な商品がありません。
  • INCORRECT_PRICE: 手数料または合計の料金にエラーがあります。
  • INVALID: LineItem、FulfillmentOption、または Promotion に無効なデータが含まれています。
  • NOT_FOUND: LineItem、FulfillmentOption、または Promotion が見つかりません。
  • PRICE_CHANGED: アイテムの価格が変更されました。

FeeAmountRange

次の表に、FeeAmountRange タイプのプロパティを示します。

プロパティ タイプ 説明
minFeeAmount Money

請求される料金の下限

maxFeeAmount Money

請求される料金の上限

FeePercentRange

次の表に、FeePercentRange タイプのプロパティを示します。

プロパティ タイプ 説明
minFeePercent 番号

請求料金の割合の下限。

maxFeePercent 番号

請求される料金の割合の上限。

FoodCartExtension

フルフィルメント設定など、ユーザーの詳細が含まれます。

次の表に、FoodCartExtension タイプのプロパティを示します。

プロパティ タイプ 説明
@type 定数

この拡張機能のタイプ。このフィールドは常に「type.googleapis.com/google.actions.v2.orders.FoodCartExtension」に設定されます。

値: type.googleapis.com/google.actions.v2.orders.FoodCartExtension

contact Contact

注文を受け取る人の連絡先情報。詳細には、ユーザーの名前、電話番号、メールアドレスが含まれます。

fulfillmentPreference FulfillmentOption

必須。

ユーザーのフルフィルメント設定。

location Location

CheckoutRequestMessage では、このフィールドに配送先住所を指定します。注文が配送の場合は必須です。テイクアウトまたは受け取りの注文の場合、このフィールドはメッセージには含まれません。

次の例は、FoodCartExtension 要素を示しています。

例 1

{
  "@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

{
  "@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

リクエストの処理中に発生した 1 つ以上のエラーを識別します。 次の表に、FoodErrorExtension 型のフィールドを示します。 エラーは CheckoutResponse で送信できます。

次の表に、FoodErrorExtension タイプのプロパティを示します。

プロパティ タイプ 説明
@type 定数

必須。

この拡張機能のタイプ。

値: type.googleapis.com/google.actions.v2.orders.FoodErrorExtension

foodOrderErrors リスト<FoodOrderError>

必須。

発生したエラーを表す FoodOrderError オブジェクトの配列。カートまたは商品アイテムごとに 1 つのエラーを推奨します。

1 個以上のアイテムを選択してください。

correctedProposedOrder ProposedOrder

次の場合に必須 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"

修正後の新しい ProposedOrder。元の ProposedOrder に回復可能なエラーがある場合、このオブジェクトを返します。たとえば、カート内の 1 つ以上の項目の価格が変更された場合、それは復元可能なエラーです。有効な ProposedOrder に関する回復可能なエラーは確認ステージに進みます。ユーザーにカートの確認を求める必要はありません。

paymentOptions PaymentOptions

次の場合に必須 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"

ユーザーに対して選択されたデフォルトの支払い方法。

additionalPaymentOptions リスト<PaymentOptions>

お客様が利用できるその他のお支払い方法。

次の例は、FoodErrorExtension 要素を示しています。

{
  "@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

食品アイテムのアドオンを定義します。

次の表に、FoodItemExtension タイプのプロパティを示します。

プロパティ タイプ 説明
@type 定数

必須。

この拡張機能のタイプ。このフィールドは常に「type.googleapis.com/google.actions.v2.orders.FoodItemExtension」に設定されます。

値: type.googleapis.com/google.actions.v2.orders.FoodItemExtension

options リスト<FoodItemOption>

オプションには、アドオン項目、またはアドオンのセットを含むアドオン グループを指定できます。

次の例は、FoodItemExtension 要素を示しています。

{
  "@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

次の表に、FoodItemOption タイプのプロパティを示します。

プロパティ タイプ 説明
id String

Google によって割り当てられた一意の ID。FoodOrderError または AsyncOrderUpdateRequest を送信するときに、このフィールドを使用して、同じ offerId のアイテムが複数含まれているかどうかを区別できます。

例: 39231093

offerId String

商品アイテムのオファー ID。

例: 912835081

name String

オプション名。

例: Honey Mustard

price Money
note String

オプションに関するメモ。

quantity 番号

アイテムであるオプションの場合、アイテム数。

例: 3

subOptions リスト<FoodItemOption>

オプションのサブオプション(ある場合)。

例: [ { "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 } ]

次の例は、FoodItemOption 要素を示しています。

例 1

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

例 2

{
  "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 のエラーの詳細が含まれます。

次の表に、FoodOrderError タイプのプロパティを示します。

プロパティ タイプ 説明
error Error

必須。

id String

次の場合に必須 error = "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "PRICE_CHANGED", "INVALID", or "NOT_FOUND"

商品アイテム単位のエラーの場合、このフィールドは必須です。Google が割り当てたメニュー項目用の LineItem.id またはアドオン用の FoodItemOption.id です。

description String

エラーの説明。この説明は内部ロギング用であり、ユーザーには表示されません。

updatedPrice Money

次の場合に必須 error = "PRICE_CHANGED"

エラーの原因となった商品アイテムの新しい価格。エラーが「PRICE_CHANGED」の場合のみ必須。

availableQuantity 整数

次の場合に必須 error = "INVALID", or "NOT_FOUND"

エラーの原因となった商品アイテムの新しい購入可能数量。エラーが「INVALID」の場合にのみ必須「NOT_FOUND」が返されます。「INVALID」の値は 0 にする必要があります"NOT_FOUND" を返します。

次の例は、FoodOrderError 要素を示しています。

例 1

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

例 2

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

FoodOrderExtension

注文に関するフルフィルメント情報が含まれます。

次の表に、FoodOrderExtension タイプのプロパティを示します。

プロパティ タイプ 説明
@type 定数

この拡張機能のタイプ。このフィールドは常に「type.googleapis.com/google.actions.v2.orders.FoodOrderExtension」に設定されます。

値: type.googleapis.com/google.actions.v2.orders.FoodOrderExtension

availableFulfillmentOptions リスト<FulfillmentOption>

注文で利用可能なフルフィルメント オプションを表します。

optinForRemarketing ブール値

マーケティング チャネルへのオプトインを求めるユーザー リクエスト。デフォルトでは、ユーザーの同意なしにマーケティング コンテンツを送信することはできません。optinFor リマーケティングが true の場合、そのユーザーを登録できます。optinForRLSA が false または存在しない場合は、購読ステータスをシステムにそのまま維持する必要があります。ユーザーは Google 経由でオプトアウトすることはできません。マーケティング チャネルで提供される登録解除機能を通じてのみオプトアウトできます。このフラグは SubmitOrderRequestMessage にのみ存在します。

次の例は、FoodOrderExtension 要素を示しています。

例 1

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

例 2

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

FulfillmentOption

FulfillmentOption オブジェクトは、以下の方法で使用できます。 <ph type="x-smartling-placeholder">
    </ph>
  • Checkout AppRequestSubmit AppRequestCart.extension.fulfillmentPreference: ユーザーの設定(配送)を保存します。 受け取り)。購入手続きリクエストが送信されると、価格は常に 0 になります。
  • Checkout AppResponse では、 ProposedOrder.extension.availableFulfillmentOptions: 1 つ以上の配信オプションを定義します(現時点では、 サポートされています)。ここでは、デフォルトのオプションを LineItem として指定します。 ProposedOrder.otherItemsofferId FulfillmentOption は、 ProposedOrder.otherItemsLineItem が指定されている。

次の表に、FulfillmentOption タイプのプロパティを示します。

プロパティ タイプ 説明
offerId String

このフルフィルメント オプションの一意の識別子(存在する場合)。

fulfillmentInfo FulfillmentOptionInfo

必須。

expiresAt ISO タイムスタンプ

このフルフィルメント オプションの有効期限が切れる日時。

price Money

このオプションの費用。

次の例は、FulfillmentOption 要素を示しています。

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

FulfillmentOptionInfo

FulfillmentInfo に関連する情報を定義します。

次の表に、FulfillmentOptionInfo タイプのプロパティを示します。

プロパティ タイプ 説明
次のプロパティ グループのいずれか 1 つのみが必要です。
delivery グループ 1 DeliveryInfo

存在する場合は配信順序を示します。

pickup グループ 2 PickupInfo

指定する場合は受け取りの注文を示します。

画像

次の表に、Image タイプのプロパティを示します。

プロパティ タイプ 説明
sourceUrl String

必須。

画像の URL。画像は 72x72 ピクセル以上にする必要があります。最適な結果を得るには、216 x 216 ピクセル以上の画像を使用してください。画像は 6 MB 未満、64 メガピクセル未満である必要があります。

LineItem

カートの内容(Cart.lineItems)または商品の追加料金を定義します 注文(ProposedOrder.otherItems)。

次の表に、LineItem タイプのプロパティを示します。

プロパティ タイプ 説明
id String

次の場合に必須 type = "REGULAR"

カート内の LineItem(ProposedOrder.cart.lineItems[0].id)の場合、注文の作成時に Google が作成した一意の ID です。配送料や税金などのアイテムを追加する ProposedOrder(ProposedOrder.otherItems[0].id)の LineItem の場合、id の値はプロバイダによって定義されます。たとえば、カート内に、準備手順が異なる同じ商品アイテムが 2 つあります(トッピングが異なるミディアム ピザ 2 つなど)。この場合、両方のアイテムの基本特典 ID は同じです。注文更新リクエストを送信して商品アイテムが不承認であることを示す場合は、この ID を曖昧性除去として使用します。言い換えれば、特定のトッピングがないという理由でピザが拒否された場合、ID は Google が参照している注文に含まれる商品を判別するのに役立ちます。otherItems を除き必須フィールドです。

name String

必須。

広告申込情報の名前。ユーザーに表示される文字列で、可能な場合は先頭を大文字にして表記する必要があります(「配送料」、「サービス料」、「税金」など)。ユーザーの場合、このフィールドは 100 文字で切り捨てられます。

type LineItemType

必須。

quantity 整数

次の場合に必須 type = "REGULAR"

アイテムの数。ProposedOrder.otherItems には適用されません。

description String

項目の説明。

price Price

必須。

1 つまたは複数のアイテムの価格。この値は、この広告申込情報のすべての商品やサービスの合計価格を表します(アドオンの費用を加算し、数量を掛けます)。たとえば、1,000 円のアイテムの数量が 3 の場合、価格は 3,000 円になります。基本価格が 5 ドルでアドオンが 1 ドルのピザ 1 枚の場合、価格は 6 ドルになります。基本価格が 5 ドルで、アドオンが 1 ドルのピザ 2 つ(数量 = 2)の場合、価格は 12 ドルになります。各 LineItem には、価格が「0」であっても価格を指定する必要があります。type が DISCOUNT の場合は、値を負数として指定します(「-2」など)。

subLines リスト<SublineNote>

省略可。type が「REGULAR」の場合にのみ有効です。ユーザーによる商品アイテム固有のメモは、購入手続きリクエストと注文送信リクエストのこのフィールドで送信できます。メモが提供されると、販売者にメモが届くようにします。これは、リクエスト内に subLines[0].note として含まれます。これは、リクエスト内に存在する場合、このフィールドに指定される唯一の値です。

1 項目以下の項目で指定します。

offerId String

次の場合に必須 type = "REGULAR"

アイテムの MenuItem のオファー ID。ProposedOrder.otherItems には適用されません。

extension FoodItemExtension

食品アイテムのアドオンを定義します。

次の例は、LineItem 要素を示しています。

例 1

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

例 2

{
  "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 型には次の値を使用できます。

  • REGULAR: 商品の項目。Cart.lineItems に適用されます。
  • TAX: 税金項目。ProposedOrder.otherItems に適用されます。
  • DISCOUNT: 割引項目。価格は負の値にする必要があります。ProposedOrder.otherItems に適用されます。
  • GRATUITY: 謝礼の項目。通常、ユーザーが選択したチップの SubmitOrderRequestMessage 用に予約されています。ProposedOrder.otherItems に適用されます。
  • DELIVERY: 配信広告申込情報。ProposedOrder.otherItems に適用されます。
  • SUBTOTAL: 小計項目。ProposedOrder.otherItems に適用されます。
  • FEE: 他のタイプには当てはまらない追加の広告申込情報です。ProposedOrder.otherItems に適用されます。

場所

料理を注文する住所を指定します。Location 型は、 Cart 配送注文の配送先を示す必要があります。 確定した場所は TransactionDecisionValue 。受け取りが指定されている注文の場合、地域は (空のものも含まれません)。

次の表に、Location タイプのプロパティを示します。

プロパティ タイプ 説明
coordinates Coordinates
formattedAddress String

ビジネスの住所を表示します。

例: 1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States

postalAddress PostalAddress
zipCode String

例: 90210

city String

都市の名前。

例: Los Angeles

notes String

場所に関するメモ(ゲートコードなど)。500 文字以下にしてください。

例: Gate code is #111

次の例は、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"
}

販売者

次の表に、Merchant タイプのプロパティを示します。

プロパティ タイプ 説明
id String

販売者の ID。指定すると、レストラン フィードの Restaurant.@id と一致します。

例: https://www.exampleprovider.com/merchant/id1

name String

必須。

ユーザーに表示される販売者の名前。

例: Falafel Bite

次の例は、Merchant 要素を示しています。

{
  "id": "https://www.exampleprovider.com/merchant/id1",
  "name": "Falafel Bite"
}

Money

次の表に、Money タイプのプロパティを示します。

プロパティ タイプ 説明
currencyCode String

必須。

3 文字の通貨コード(ISO 4217 形式)。

例: USD

units String

金額の整数部分。たとえば、currencyCode が「USD」の場合、「1」になります。単位は 1 米ドルです。

例: 36

nanos 整数

金額の小数部分をナノ(10^-9)単位で表した数。値は -999,999,999 ~+999,999,999 の範囲で指定する必要があります。次のルールを使用します。単位が正の場合、nanos は正またはゼロにする必要があります。単位が 0 の場合、ナノは正、ゼロ、負のいずれかになります。単位が負の場合、ナノは負またはゼロでなければなりません。たとえば、$-1.75 は、units = -1、nanos = -750,000,000 と表されます。

例: 730000000

次の例は、Money 要素を示しています。

例 1

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

例 2

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

注文

税金、手数料、配送料を含む最終的な注文が含まれます。 お支払い情報などですこのオブジェクトは、アクションが Submit AppRequest

次の表に、Order タイプのプロパティを示します。

プロパティ タイプ 説明
finalOrder ProposedOrder

必須。

注文の原因となった注文。

googleOrderId String

必須。

Google によって割り当てられたオーダー ID。この ID は注文のライフサイクル全体で不変である必要があります。この ID はエンドユーザーには表示されません。

orderDate ISO タイムスタンプ

必須。

この注文が作成された日時。

paymentInfo PaymentInfo

必須。

この注文の支払いに対応するお支払い情報。

次の例は、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"
  }
}

OrderUpdate

次の表に、OrderUpdate タイプのフィールドを示します。 AppResponse に含まれている。

次の表に、OrderUpdate タイプのプロパティを示します。

プロパティ タイプ 説明
actionOrderId String

必須。

更新が送信された注文の識別に使用される、インテグレータのシステム内の注文の一意の ID。「CREATED」の OrderUpdate で customer_visible_order_id が 1 回以上指定されていない場合この ID は Google の注文カードに表示される、入力済みのユーザーに表示される ID です。

orderState OrderState

必須。

注文の新しいステータス。

lineItemUpdates Map<String, LineItemUpdate>
updateTime ISO タイムスタンプ

必須。

注文が更新された時刻。

orderManagementActions リスト<OrderManagementAction>

サポートへの問い合わせや注文詳細の表示など、注文後の操作。

1 個以上のアイテムを選択してください。 6 項目以内にしてください。

rejectionInfo RejectionInfo

次の場合に必須 orderState.state = "REJECTED"

cancellationInfo CancellationInfo

次の場合に必須 orderState.state = "CANCELLED"

inTransitInfo InTransitInfo

このフィールドは非推奨です。

fulfillmentInfo FulfillmentInfo

このフィールドは非推奨です。

receipt Receipt

次の場合に必須 orderState.state = "CONFIRMED", "IN_PREPARATION", or "READY_FOR_PICKUP"

ユーザーに表示される注文 ID を領収書に記載します。

totalPrice Price

注文の合計金額。

infoExtension FoodOrderUpdateExtension

配送予定日や受け取りの間隔など、注文更新の詳細を定義します。

次の例は、OrderUpdate 要素を示しています。

{
  "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

次の表に、PickupInfo タイプのプロパティを示します。

プロパティ タイプ 説明
pickupTimeIso8601 String

推定集荷時間(ISO 8601 タイムスタンプ形式): 「{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z」または持続時間の形式: 「P(n)Y(n)M(n)DT(n)H(n)M(n)S」。たとえば、PT90M は 90 分の期間を表します。デフォルト値の「PT0M」は、優先乗車時刻が可能な限り早いことを示します。参照: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representationsこれを使用して、購入手続きの応答時の予想受け取り時間を更新します。

例: PT90M

次の例は、PickupInfo 要素を示しています。

{
  "pickupTimeIso8601": "PT90M"
}

PostalAddress

次の表に、PostalAddress タイプのプロパティを示します。

プロパティ タイプ 説明
regionCode String

必須。

2 文字の国コード。

例: US

postalCode String

郵便番号です。

例: 94043

administrativeArea String

その国 / 地域の住所に使用される最上位の行政区域。州、県、都道府県を指定できます。

例: CA

locality String

この場所の市区町村。地域区分が十分に定義されていない地域や、この構造に適合しない地域では、locality を指定せず、代わりに addressLines フィールドを使用してください。

例: Mountain View

addressLines List<文字列>

番地の指定に使用できる 1 つ以上の行。不明確な地域区分が含まれている可能性があるため、このフィールドには変更しないでください。

例: [ "1350 Charleston Road" ]

recipients List<文字列>

注文の受信者のリスト。このフィールドは、billingAddress でのみ使用できます。

次の例は、PostalAddress 要素を示しています。

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

価格

次の表に、Price タイプのプロパティを示します。

プロパティ タイプ 説明
type Enum [ "ESTIMATE", "ACTUAL" ]

必須。

プロモーション クーポンコード。

amount Money

必須。

プロモーション

次の表に、Promotion タイプのプロパティを示します。

プロパティ タイプ 説明
coupon String

必須。

プロモーション クーポンコード。

ProposedOrder

次の表に、ProposedOrder タイプのプロパティを示します。

プロパティ タイプ 説明
id String

提案された注文の ID(省略可)。

cart Cart

必須。

ユーザーのアイテム。

otherItems リスト<LineItem>

プロバイダが追加したアイテム(配送料、その他の手数料、税金など)。otherItem には、ユーザーが追加したチップや割引が含まれている場合もあります。

10 アイテム以下で指定する必要があります。

image Image

提案された注文に関連付けられている画像。

totalPrice Price

必須。

提案された注文の合計金額。

extension FoodOrderExtension

必須。

料理の注文のフルフィルメント情報を定義します。

disclaimers リスト<Disclaimer>

注文前に UI に表示される免責条項メッセージに対応します。

次の例は、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"
      }
    ]
  }
}

SublineNote

次の表に、SublineNote タイプのプロパティを示します。

プロパティ タイプ 説明
note String

必須。

タイムスタンプ

次の形式の日時: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"

TransactionDecisionValue

Order が含まれます。

次の表に、TransactionDecisionValue タイプのプロパティを示します。

プロパティ タイプ 説明
order Order

必須。

お支払いの詳細を含む注文。

次の例は、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"
    }
  }
}

フルフィルメント リクエスト

AppRequest

次の表に、AppRequest タイプのプロパティを示します。

プロパティ タイプ 説明
isInSandbox ブール値

後続の取引がサンドボックス環境で行われるかどうかを示します。

conversation Conversation
inputs リスト<Input>

必須。

カートの購入手続きで想定される引数が含まれています。

1 個のアイテムのみが必要です。

次の例は、AppRequest 要素を示しています。

例 1

{
  "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

{
  "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

CheckoutRequestMessageAppRequest です actions.foodordering.intent.CHECKOUT インテントを渡します。

SubmitOrderRequestMessage

SubmitOrderRequestMessageAppRequest です actions.foodordering.intent.TRANSACTION_DECISION インテントを渡します。

会話

Conversation は 1 つのセッションにのみ一意です。複数のエンドポイントを 必要に応じて、Checkout アクションと SubmitOrder アクションを併用します。

次の表に、Conversation 型のプロパティを示します。

プロパティ タイプ 説明
conversationId String

必須。

会話の一意の ID。

次の例は、Conversation 要素を示しています。

{
  "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ"
}

入力

カートの購入手続きで想定される引数。

次の表に、Input タイプのプロパティを示します。

プロパティ タイプ 説明
intent Enum [ "actions.foodordering.intent.CHECKOUT", "actions.intent.TRANSACTION_DECISION" ]

必須。

「actions.foodordering.intent.CHECKOUT」に設定します。購入手続きのリクエスト メッセージまたは「actions.intent.TRANSACTION_DECISION」の場合注文リクエスト送信のメッセージを 送信する必要があります

arguments リスト<Argument>

必須。

精算するカートまたは注文を行う

1 個のアイテムのみが必要です。

引数

ユーザーが購入手続きを済ませたい食品の詳細が含まれます。ご購入手続きは延長のみ可能です。注文を送信する場合、transactionDecisionValue のみが適用される

次の表に、Argument タイプのプロパティを示します。

プロパティ タイプ 説明
次のプロパティ グループのいずれか 1 つのみが必要です。
extension グループ 1 Cart

ユーザーが注文したかった食品の詳細。

transactionDecisionValue グループ 2 TransactionDecisionValue

注文と支払いの詳細が含まれます。

フルフィルメント応答

AppResponse

次の表に、AppResponse タイプのプロパティを示します。

プロパティ タイプ 説明
expectUserResponse 定数

false に設定します。

値: False

finalResponse FinalResponse

必須。

カートでの購入手続きに対するレスポンスが含まれます。

次の例は、AppResponse 要素を示しています。

例 1

{
  "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

{
  "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

{
  "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

{
  "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 です。 checkoutResponse または errorStructuredResponse

SubmitOrderResponseMessage

SubmitOrderResponseMessage は、以下を持つ AppResponse です。 StructuredResponseorderUpdate

FinalResponse

カートの購入手続きまたは SubmitOrderRequestMessage に対するレスポンス。

次の表に、FinalResponse タイプのプロパティを示します。

プロパティ タイプ 説明
richResponse RichResponse

必須。

CheckoutRequestMessage または SubmitOrderRequestMessage に対するレスポンスが含まれています。

CheckoutResponse

次の表に、CheckoutResponse タイプのプロパティを示します。

プロパティ タイプ 説明
proposedOrder ProposedOrder

必須。

トランザクションで使用するために提案された順序。

paymentOptions PaymentOptions

必須。

ユーザーのデフォルトの支払い方法。

additionalPaymentOptions リスト<PaymentOptions>

お客様が利用できるその他のお支払い方法。

次の例は、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."
      }
    }
  ]
}

項目

カートの購入手続きまたは SubmitOrderRequestMessage に対するレスポンスが含まれます。

次の表に、Item タイプのプロパティを示します。

プロパティ タイプ 説明
structuredResponse StructuredResponse

必須。

RichResponse

カートでの購入手続きに対するレスポンスが含まれます。

次の表に、RichResponse タイプのプロパティを示します。

プロパティ タイプ 説明
items リスト<Item>

必須。

1 個のアイテムのみが必要です。

StructuredResponse

CheckoutResponseMessage には、次のいずれか 1 つを指定できます。CheckoutResponse は、購入手続きが成功したことを示します。OR FoodErrorExtension: 購入手続きでエラーが発生したことを示します。レスポンスには、修正された ProposedOrder と PaymentOptions や、PaymentOptions のないエラー メッセージを含めることができます。SubmitOrderResponseMessage には orderUpdate のみが適用されます。

次の表に、StructuredResponse タイプのプロパティを示します。

プロパティ タイプ 説明
次のプロパティ グループのいずれか 1 つのみが必要です。
checkoutResponse グループ 1 CheckoutResponse

アイテム、税金、割引をチェックしました。

error グループ 2 FoodErrorExtension

カートのアイテムで発生したエラーです。エラーの性質に応じて、このプロパティには、修正された ProposedOrder と PaymentOptions が含まれることも、PaymentOptions が指定されていないエラー メッセージのみが含まれることもあります。

orderUpdate グループ 3 OrderUpdate

非同期での注文更新

このセクションでは、リクエストを構成するタイプの概要と、 組み込みのアクション インタラクションに対する典型的な料理の注文の応答。

AsyncOrderUpdateRequestMessage

注文が送信されて確定したら、ユーザーに変更について通知します。 たとえば、注文が配送中であることや、 料金が変更されました。 詳細については、次をご覧ください:

次の表に、AsyncOrderUpdateRequestMessage タイプのプロパティを示します。

プロパティ タイプ 説明
isInSandbox ブール値

この更新が送信された注文がサンドボックスの支払いであることを示します。

customPushMessage CustomPushMessage

必須。

リクエストの OrderUpdate が含まれます。

次の例は、AsyncOrderUpdateRequestMessage 要素を示しています。

{
  "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 が正常に送信されると、Google から HTTP 200 ステータスで、本文は空になっています。更新に失敗した場合は Google から注文が更新されなかった理由の詳細が返されます。

注文の更新タイプ

ボタン

ユーザー操作を提供するために追加できるユーザー インターフェース要素を定義します。

次の表に、Button タイプのプロパティを示します。

プロパティ タイプ 説明
title String

必須。

表示ラベル。正しくレンダリングされるように、文頭を 30 文字以下にしてください。

例: Contact us

openUrlAction OpenUrlAction

必須。

次の例は、Button 要素を示しています。

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

CancellationInfo

次の表に、CancellationInfo タイプのプロパティを示します。

プロパティ タイプ 説明
reason String

必須。

OrderState.state が「CANCELLED」の場合に、不承認となった理由として表示可能。

例: Restaurant closed

次の例は、CancellationInfo 要素を示しています。

{
  "reason": "Insufficient inventory"
}

FoodOrderUpdateExtension

このタイプでは、注文の配送予定日がユーザーに提供されます。 受け取りの準備が整いました。この拡張機能を OrderUpdate 情報が利用可能になったときや、前回の送信時から変更されたときに通知を受け取れるようにします。

発送間隔は控えめに見積もって、ユーザーが 確実に達成できます。たとえば、注文が次のように見積もられる場合: 送信する場合は、推定間隔( 今日の 02:45 のように、交通状況による変動と一致します。 13:15 まで

ISO 8601 の期間またはタイムスタンプは、 OrderUpdateupdateTime(基本的には「now」)を updateTime+duration。 「now」でない限り、この形式を使用しない妥当な想定です

ISO 8601 の間隔は、開始から 終了します

次の表に、FoodOrderUpdateExtension タイプのプロパティを示します。

プロパティ タイプ 説明
@type 定数

この拡張機能のタイプ。このフィールドは常に「type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension」に設定されます。

値: type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension

estimatedFulfillmentTimeIso8601 String

注文した商品が配達される予定または受け取り可能な推定時間。文字列は ISO 8601 形式で、単一の固定時間ではなく間隔に対応する必要があります。使用できる規則は、間隔、期間、日付/時刻です。このフィールドは、情報が利用可能になったとき、または到着が早すぎる、到着が遅れるなど、変更がある場合に、SubmitOrderResponseMessage または AsyncOrderUpdateRequestMessage で送信できます。

例: 2017-07-17T13:00:00Z/2017-07-17T13:30:00Z

foodOrderErrors リスト<FoodOrderError>

注文後に発生したエラーを示します。カートまたは商品アイテムごとに 1 つのエラーを推奨します。RejectedInfo に含まれていないエラーには、FoodOrderUpdateExtension.FoodOrderErrors を使用します。

1 個以上のアイテムを選択してください。

次の例は、FoodOrderUpdateExtension 要素を示しています。

例 1

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

例 2

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

FulfillmentInfo

<ph type="x-smartling-placeholder">

次の表に、FulfillmentInfo タイプのプロパティを示します。

プロパティ タイプ 説明
次のプロパティ グループのいずれか 1 つのみが必要です。
deliveryTime グループ 1 ISO タイムスタンプ

FoodOrderingUpdateExtension メッセージで estimateFulfillmentTimeIso8601 を使用

pickupTime グループ 2 ISO タイムスタンプ

FoodOrderingUpdateExtension メッセージで estimateFulfillmentTimeIso8601 を使用

次の例は、FulfillmentInfo 要素を示しています。

例 1

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

例 2

{
  "pickupTime": "2019-12-26T07:24:27.803Z"
}

InTransitInfo

<ph type="x-smartling-placeholder">

次の表に、InTransitInfo タイプのプロパティを示します。

プロパティ タイプ 説明
updatedTime ISO タイムスタンプ

FoodOrderingUpdateExtension メッセージで estimateFulfillmentTimeIso8601 を使用

次の例は、InTransitInfo 要素を示しています。

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

LineItemUpdate

次の表に、LineItemUpdate タイプのプロパティを示します。

プロパティ タイプ 説明
orderState OrderState
price Price
reason String

変更の理由。価格変更の場合は必須。

次の例は、LineItemUpdate 要素を示しています。

{
  "orderState": {
    "state": "CONFIRMED",
    "label": "Provider confirmed"
  },
  "price": {
    "type": "ESTIMATE",
    "amount": {
      "currencyCode": "USD",
      "units": "5",
      "nanos": 500000000
    }
  },
  "reason": "Menu updated prices."
}

OpenUrlAction

次の表に、OpenUrlAction タイプのプロパティを示します。

プロパティ タイプ 説明
url String

必須。

ボタンをクリックまたはタップすることでトリガーされるアクション。適用可能な接頭辞のリストは orderManagementActionType によって異なります。「EMAIL」: 接頭辞は「mailto」にする必要があります。「CALL」: 接頭辞は「tel」にする必要があります。「CUSTOMER_SERVICE」: 接頭辞は「mailto」、「tel」、「http」、または「https」である必要があります。

例: https://www.google.com

OrderManagementAction

注文管理では、ユーザーが注文後のサポートを受けることができるため、 送信注文内の各 OrderUpdate AppResponse その後の各ステップは、 AsyncOrderUpdateRequestMessage 特定の注文に送信される注文管理アクションは、 あります。

たとえば "CREATED"状態ファイルを参照すると、CUSTOMER_SERVICE は カスタマーサポートの電話番号[CONFIRMED] の状態、CUSTOMER_SERVICE レストランの電話に変えることができます お客様の連絡先。同様に、注文が [FULFILLED] ステータスになると、状態、 CUSTOMER_SERVICE がサポート用メールアドレスを参照できます。

次の表に、OrderManagementAction タイプのプロパティを示します。

プロパティ タイプ 説明
type OrderManagementActionType

必須。

button Button

必須。

次の例は、OrderManagementAction 要素を示しています。

例 1

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

例 2

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

OrderManagementActionType

OrderManagementAction に関連する型を定義します。

OrderManagementActionType 型には次の値を使用できます。

  • CUSTOMER_SERVICE: 注文確認ページに表示されるカスタマー サービスのメールアドレスや連絡先番号。これは必須です。openUrlAction.url の接頭辞は、「mailto」、「tel」、「http」、「https」のいずれかにする必要があります。
  • EMAIL: 注文の詳細ページでのみメールの操作を行います。openUrlAction.url の接頭辞は「mailto」でなければなりません。
  • CALL_DRIVER: 注文の詳細ページでのみ通話アクション。openUrlAction.url の接頭辞は「tel」にしてください。
  • CALL_RESTAURANT: 注文の詳細ページでのみ通話アクション。openUrlAction.url の接頭辞は「tel」にしてください。

OrderState

注文の現在のステータス。OrderState の各 state 値も 購入ステータスに対応していることを myaccount.google.com

次の表に、OrderState タイプのプロパティを示します。

プロパティ タイプ 説明
state OrderStateEnum

必須。

label String

必須。

ユーザーに表示される状態の表示文字列。文頭を大文字にします(アルファベットの場合)。

例: Your order has been received

次の例は、OrderState 要素を示しています。

{
  "state": "CONFIRMED",
  "label": "Provider confirmed"
}

OrderStateEnum

OrderState に関連する型を定義します。

OrderStateEnum 型には次の値を使用できます。

  • CREATED: インテグレータによって作成され、プロバイダによる確認を待機している注文。「Ordered」購入ステータスを確認します
  • CONFIRMED: 注文がプロバイダによって確認済みで、有効です。[Accepted] オプションと購入ステータスを確認します
  • REJECTED: 注文がインテグレータまたはプロバイダによって拒否されました。[不承認] のケースに対応します。購入ステータスを確認します
  • CANCELLED: ユーザーが注文をキャンセルしました。「Cancelled」と購入ステータスを確認します
  • IN_PREPARATION: 調理中です。「ステータス不明」に対応します。購入ステータスを確認します
  • READY_FOR_PICKUP: 料理を受け取る準備ができました。「Ready for pickup」(受け取り準備完了)に対応します。購入ステータスを確認します
  • IN_TRANSIT: 注文は配送中です。「処理中」に対応します。購入ステータスを確認します
  • FULFILLED: ユーザーが注文したものを受け取りました。「Picked up」イベントと購入ステータスを確認します

領収書

送信注文 AppResponse でこのタイプを送信します。 ここで、OrderState は「CONFIRMED」、「FULFILLED」、「IN_TRANSIT」です。領収書の送付先 userVisibleOrderId が使用可能になった時刻。すべてのデータを 後続の更新で領収書を送信する

次の表に、Receipt タイプのプロパティを示します。

プロパティ タイプ 説明
userVisibleOrderId String

必須。

注文が「CONFIRMED」、「IN_TRANSIT」、または「FULFILLED」の場合は必須です。このフィールドは、この注文の単一のユーザー向けの ID(通常はレストランの注文 ID)で、インテグレータの領収書と Google 注文カードの両方に表示されます。ユーザーは、この ID を使用して、プロバイダやインテグレータとのカスタマー サービスの注文を参照できる必要があります。この ID を指定する必要があるのは、OrderUpdate で 1 回のみです。指定されるまで、actionOrderId は userVisibleOrderId になります。たとえば、レストランが注文を確認するまで userVisibleOrderId を取得できないことがあります。確認したら、OrderUpdate と Receipt を含む AsyncOrderUpdateRequestMessage を送信する必要があります。

次の例は、Receipt 要素を示しています。

{
  "userVisibleOrderId": "userVisibleId1234"
}

RejectionInfo

次の表に、RejectionInfo タイプのプロパティを示します。

プロパティ タイプ 説明
type RejectionType

必須。

reason String

内部ロギングに使用される拒否の理由。このフィールドはユーザーには表示されません。

次の例は、RejectionInfo 要素を示しています。

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

RejectionType

RejectionType 型には次の値を使用できます。

  • INELIGIBLE: ポリシーまたはリスクに関連する懸念により、ユーザーは対象外です。
  • PAYMENT_DECLINED: お支払いの処理に問題があります。
  • UNAVAILABLE_SLOT: DeliveryInfo または PickupInfo で指定された時間前までに注文を処理することはできません。
  • PROMO_NOT_APPLICABLE: プロモーションに問題があります。
  • UNKNOWN: その他の理由。

支払いに関連するタイプ

このセクションでは、料理の注文に使用される支払い関連のタイプについて説明します。 受け取ります

ActionProvidedPaymentOptions

アクションによる支払い方法の要件。

次の表に、ActionProvidedPaymentOptions タイプのプロパティを示します。

プロパティ タイプ 説明
paymentType PaymentType

必須。

displayName String

必須。

領収書に表示されるお支払い方法の名前。

例: Taco Points Total

onFulfillmentPaymentData OnFulfillmentPaymentData

paymentType「ON_FULFILLMENT」の追加データ。たとえば、このフィールドを使用して、フルフィルメントで現金またはカードを利用できるかどうかを指定できます。

次の例は、ActionProvidedPaymentOptions 要素を示しています。

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

AllowedAuthMethods

AllowedAuthMethods 型には次の値を使用できます。

  • PAN_ONLY: ユーザーの Google アカウントでファイルに保存されている支払いカードに関連付けられた認証方法。返されるお支払いデータには、個人アカウント番号(PAN)、有効期限月、有効期限年が含まれます。

AllowedCardNetworks

AllowedCardNetworks 型には次の値を使用できます。

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

BillingAddressParameters

このオブジェクトを使用すると、リクエストされた請求先住所に対して返される追加のフィールドを設定できます。

次の表に、BillingAddressParameters タイプのプロパティを示します。

プロパティ タイプ 説明
format String

取引を完了するには、請求先住所の形式が必要です。MIN: 名前、国コード、郵便番号。FULL: 名前、番地、地域区分、地域、国コード、郵便番号。

次の例は、BillingAddressParameters 要素を示しています。

例 1

{
  "format": "MIN"
}

例 2

{
  "format": "FULL"
}

CardParameters

このオブジェクトを使用して、サイトでの Google Pay API のサポートを構成します。

次の表に、CardParameters タイプのプロパティを示します。

プロパティ タイプ 説明
allowedAuthMethods List<Const>

必須。

カード取引の認証でサポートされるフィールド。

1 個以上のアイテムを選択してください。

allowedCardNetworks リスト<AllowedCardNetworks>

必須。

お客様がサポートしており、Google Pay API でもサポートされている 1 つ以上のカード ネットワーク。

1 個以上のアイテムを選択してください。

billingAddressRequired ブール値

請求先住所が必要な場合は true に設定します。請求先住所のリクエストは、取引を処理するために必要な場合にのみ行ってください。データ リクエストが増えると、購入手続きが煩雑になり、コンバージョン率の低下につながります。

billingAddressParameters BillingAddressParameters

billingAddressRequired が true に設定されている場合に返される想定フィールド。

cvcRequired ブール値

TimesofMoney を使用する場合は true に設定し、他のすべての決済代行業者の場合は false に設定します。

次の例は、CardParameters 要素を示しています。

例 1

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

例 2

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

GoogleProvidedPaymentInstrument

次の表に、GoogleProvidedPaymentInstrument タイプのプロパティを示します。

プロパティ タイプ 説明
instrumentToken String

必須。

以前に指定された GoogleProvidedPaymentOptions に従って、提携している Google Pay 決済代行業者にユーザーに請求するための支払いトークンを含む、Base 64 でエンコードされた文字列。

billingAddress PostalAddress

お支払いの請求先住所。

次の例は、GoogleProvidedPaymentInstrument 要素を示しています。

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

GoogleProvidedPaymentOptions

Google によって提供される支払い方法の要件。

次の表に、GoogleProvidedPaymentOptions タイプのプロパティを示します。

プロパティ タイプ 説明
facilitationSpecification String

文字列としての PaymentDataRequest JSON。このオブジェクトを使用して、サイトでの Google Pay API のサポートを構成します。

supportedCardNetworks リスト<SupportedCardNetworks>

代わりに facilitationSpecification を使用してください。エージェントがサポートするカード ネットワークのタイプ。

このフィールドは非推奨です。

prepaidCardDisallowed ブール値

代わりに facilitationSpecification を使用してください。支払いタイプとしてプリペイド カードを許可するかどうか。

このフィールドは非推奨です。

billingAddressRequired ブール値

代わりに facilitationSpecification を使用してください。請求先住所が必須かどうか。

このフィールドは非推奨です。

tokenizationParameters TokenizationParameters

このフィールドは非推奨です。

次の例は、GoogleProvidedPaymentOptions 要素を示しています。

例 1

{
  "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

{
  "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

{
  "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

このオブジェクトを使用して、サイトでの Google Pay API のサポートを構成します。

次の表に、MerchantInfo タイプのプロパティを示します。

プロパティ タイプ 説明
merchantId String

Google Pay から発行された Google 販売者 ID。

merchantName String

必須。

UTF-8 でエンコードされた販売者名。販売者名は支払いシートに表示されます。

OnFulfillmentPaymentData

このオブジェクトを使用して、PaymentType が "ON_FULFILLMENT" の追加データを送信します。

次の表に、OnFulfillmentPaymentData タイプのプロパティを示します。

プロパティ タイプ 説明
supportedPaymentOptions リスト<PaymentOptionsEnums>

注文のフルフィルメント時にユーザーが利用できる支払いオプションのリスト。

次の例は、OnFulfillmentPaymentData 要素を示しています。

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

パラメータ

TokenizationParameters に関連する型を定義します。

次の表に、Parameters タイプのプロパティを示します。

プロパティ タイプ 説明
gateway String

必須。

例: braintree

gatewayMerchantId String
[additionalKey: string] String 追加の Key-Value ペア

次の例は、Parameters 要素を示しています。

例 1

{
  "gatewayMerchantId": "90412491",
  "gateway": "olo"
}

例 2

{
  "gateway": "braintree",
  "braintree:apiVersion": "v1",
  "braintree:sdkVersion": "1.4.0",
  "braintree:merchantId": "YOUR_MERCHANT_ID",
  "braintree:clientKey": "YOUR_BRAINTREE_SANDVOX_OR_PRODUCTION_KEY"
}

PaymentDataRequest

このオブジェクトを使用して、サイトでの Google Pay API のサポートを構成します。

次の表に、PaymentDataRequest タイプのプロパティを示します。

プロパティ タイプ 説明
apiVersion 定数

必須。

API のメジャー バージョン。

値: 2

apiVersionMinor 定数

必須。

マイナー API バージョン。

値: 0

merchantInfo MerchantInfo

必須。

(Google Pay 販売者 ID)支払いデータをリクエストする販売者に関する情報。

allowedPaymentMethods リスト<PaymentMethod>

必須。

Google Pay API でサポートされている 1 つ以上のお支払い方法のサポートを指定します。

transactionInfo TransactionInfo

必須。

ユーザーが取引に同意したかどうかに基づく取引の承認に関する詳細。このフィールドには、合計金額と価格ステータスが含まれます。

次の例は、PaymentDataRequest 要素を示しています。

{
  "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

注文の支払い関連情報。

次の表に、PaymentInfo タイプのプロパティを示します。

プロパティ タイプ 説明
displayName String

必須。

領収書に表示する支払い方法の、ユーザーに表示される名前。

paymentType PaymentType

必須。

googleProvidedPaymentInstrument GoogleProvidedPaymentInstrument

アクションで使用できるトークン。これは、CheckoutResponseMessage で支払いオプションとして GoogleProvidedPaymentOptions を指定した場合のみ指定します。

次の例は、PaymentInfo 要素を示しています。

例 1

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

例 2

{
  "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

このオブジェクトを使用して、サイトでの Google Pay API のサポートを構成します。

次の表に、PaymentMethod タイプのプロパティを示します。

プロパティ タイプ 説明
type 定数

必須。

サポートされているお支払い方法の短い識別子。現在サポートされているのは CARD のみです。

値: CARD

parameters CardParameters

必須。

指定されたお支払い方法のタイプを構成するために必要なパラメータ。

tokenizationSpecification TokenizationSpecification

必須。

支払い情報を受け取るアカウントまたは復号プロバイダを設定する。このプロパティは、お支払い方法が CARD の場合は必須です。

次の例は、PaymentMethod 要素を示しています。

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

PaymentOptions

次の表に、PaymentOptions タイプのプロパティを示します。

プロパティ タイプ 説明
次のプロパティ グループのいずれか 1 つのみが必要です。
googleProvidedOptions グループ 1 GoogleProvidedPaymentOptions

actionProvidedOptions とは相互に排他的。GPay を使用したオンライン決済に使用します。

actionProvidedOptions グループ 2 ActionProvidedPaymentOptions

googleProvidedOptions とは相互に排他的。「代金引換」に使用しますまたは「フルフィルメント時に支払う」などと表現します。

次の例は、PaymentOptions 要素を示しています。

例 1

{
  "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

{
  "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

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

PaymentOptionsEnums

PaymentOptionsEnums 型には次の値を使用できます。

  • Cash
  • Card
  • UPI
  • Paytm

PaymentType

PaymentType 型には次の値を使用できます。

  • PAYMENT_CARD: GoogleProvidedPaymentOptions の場合。
  • ON_FULFILLMENT: ActionProvidedPaymentOptions の場合。

SupportedCardNetworks

GoogleProvidedPaymentOptions に関連する型を定義します。

SupportedCardNetworks 型には次の値を使用できます。

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

TokenizationParameters

<ph type="x-smartling-placeholder">で確認できます。 GoogleProvidedPaymentOptions に関連する型を定義します。

次の表に、TokenizationParameters タイプのプロパティを示します。

プロパティ タイプ 説明
tokenizationType Enum [ "UNSPECIFIED_TOKENIZATION_TYPE", "PAYMENT_GATEWAY" ]

必須。

代わりに facilitationSpecification を使用してください。使用できるトークンのタイプ。

parameters Parameters

代わりに facilitationSpecification を使用してください。

TokenizationSpecification

このオブジェクトを使用すると、請求可能な支払い情報を受け取るようにアカウントを構成できます。

次の表に、TokenizationSpecification タイプのプロパティを示します。

プロパティ タイプ 説明
type 定数

必須。

parameters Parameters

必須。

次の例は、TokenizationSpecification 要素を示しています。

例 1

{
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gatewayMerchantId": "1247192",
    "gateway": "cybersource"
  }
}

例 2

{
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "stripe",
    "stripe:version": "2018-10-31",
    "stripe:publishableKey": "12378127"
  }
}

TransactionInfo

このオブジェクトは、支払人の支払い能力を決定するトランザクションを記述します。お支払いの承認ダイアログを表示するために使用されます。

次の表に、TransactionInfo タイプのプロパティを示します。

プロパティ タイプ 説明
currencyCode String

必須。

ISO 4217 英字通貨コード。

transactionId String

トランザクションの試行を識別する一意の ID。販売者は、既存の ID を使用するか、Google Pay で取引を試みる際に特定の ID を生成できます。このフィールドは、Google Transaction Events API にコールバックを送信する場合は必須です。

totalPriceStatus 定数

必須。

「ESTIMATED」を使用してください設定されます。合計金額は、請求先住所に基づいて収集されたレスポンスの詳細(消費税など)に基づいて調整される場合があります。

値: ESTIMATED

totalPrice String

必須。

取引の合計金額。小数点以下 2 桁の小数点精度が適用されます。このフィールドには、cart.totalPrice と同じ値を指定する必要があります。

次の例は、TransactionInfo 要素を示しています。

{
  "totalPriceStatus": "ESTIMATED",
  "totalPrice": "12.34",
  "currencyCode": "USD"
}