फ़ुलफ़िलमेंट ऐक्शन स्कीमा

इस पेज पर, ऑर्डर करने वाले एंड-टू-एंड बिल्ट-इन ऐक्शन एपीआई के साथ काम करते समय, ऑर्डर पूरा करने वाली वेब सेवा (Ordering End-to-End API) के पेलोड के बारे में बताया गया है. इस जानकारी के मशीन से पढ़े जा सकने वाले वर्शन के लिए, आपके पास JSON स्कीमा डाउनलोड करने का विकल्प है.

बेस टाइप

कार्ट

इसमें ऑर्डर की जानकारी होती है. साथ ही, यह भी होता है कि अनुरोध पिकअप या डिलीवरी के लिए है या नहीं. कार्ट में डिलीवरी की जानकारी, ग्रेच्यूटी, और डिलीवरी का पता भी होता है. Cart ऑब्जेक्ट के बारे में Checkout AppRequest में बताया गया है.अगर आप अपने Checkout AppResponse में कार्ट की एक कॉपी शामिल करते हैं

यहां दी गई टेबल में Cart टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
@type कॉन्सटेंट

यह ऑब्जेक्ट किस तरह का है. अगर पैरंट कार्ट ऑब्जेक्ट, प्रस्तावित ऑर्डर का हिस्सा है, तो इस फ़ील्ड को छोड़ दें.

मान: type.googleapis.com/google.actions.v2.orders.Cart

id स्ट्रिंग

कार्ट का वैकल्पिक आईडी.

merchant Merchant

इस कार्ट से जुड़ा व्यापारी/कंपनी.

lineItems सूची<LineItem>

ज़रूरी है.

उन सामान या सेवाओं की सूची जिन्हें उपयोगकर्ता ऑर्डर कर रहा है.

एक आइटम से कम नहीं होना चाहिए.

promotions सूची<Promotion>

इस कार्ट में लागू किया गया प्रमोशन. फ़िलहाल, सिर्फ़ एक प्रमोशन कोड इस्तेमाल किया जा सकता है.

notes स्ट्रिंग

ऑर्डर या डिलीवरी के निर्देशों के बारे में नोट.

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

Contact

इससे ऑर्डर पाने वाले व्यक्ति की जानकारी मिलती है. यह सिर्फ़ AppResponse में उपलब्ध है.

यहां दी गई टेबल में Contact टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
displayName स्ट्रिंग

ऑर्डर पाने वाले व्यक्ति का नाम, जैसा आपको दिखाना है. अगर firstName और lastName के बारे में नहीं बताया गया है, तो इस फ़ील्ड का इस्तेमाल करें.

उदाहरण: Lovefood Ordering

email स्ट्रिंग

ऑर्डर पाने वाले व्यक्ति का ईमेल पता.

उदाहरण: ilovefood@example.com

firstName स्ट्रिंग

ऑर्डर पाने वाले व्यक्ति का नाम.

उदाहरण: Lovefood

lastName स्ट्रिंग

ऑर्डर पाने वाले व्यक्ति का उपनाम.

उदाहरण: Ordering

phoneNumber स्ट्रिंग

ऑर्डर पाने वाले व्यक्ति का फ़ोन नंबर. इसमें देश का कोड भी शामिल है.

उदाहरण: +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 स्ट्रिंग

डिलीवरी में लगने वाला अनुमानित समय, 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#Unitedd_date_and_time_representations. चेकआउट के जवाब के दौरान, डिलीवरी का अनुमानित समय अपडेट करने के लिए इसका इस्तेमाल करें.

उदाहरण: PT90M

इस उदाहरण में DeliveryInfo एलिमेंट दिखाया गया है:

उदाहरण

{
  "deliveryTimeIso8601": "PT90M"
}

Disclaimer

यहां दी गई टेबल में Disclaimer टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
predefinedMessage PredefinedMessage

ज़रूरी है.

चेकआउट के दौरान पहले से तय डिसक्लेमर मैसेज दिखाने के लिए.

feeAmount Money

पार्टनर, इस ऑर्डर के लिए व्यापारी से N शुल्क लेगा.

feeAmountRange FeeAmountRange

पार्टनर रेस्टोरेंट से हर ऑर्डर के लिए, N से M तक की रकम का शुल्क लेगा.

feePercent Number

पार्टनर, इस ऑर्डर के लिए व्यापारी से N% शुल्क लेगा.

feePercentRange FeePercentRange

पार्टनर, व्यापारी या कंपनी से हर ऑर्डर के लिए, N% से M% तक का शुल्क लेगा.

इस उदाहरण में Disclaimer एलिमेंट दिखाया गया है:

उदाहरण 1

{
  "predefinedMessage": "NEW_YORK_DELIVERY_FEE_TIP_DISCLAIMER"
}

उदाहरण 2

{
  "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE"
}

तीसरा उदाहरण

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

छठा उदाहरण

{
  "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: डिलीवरी की जानकारी या पिकअप जानकारी के ज़रिए बताए गए समय पर, ऑर्डर पूरा नहीं किया जा सकता.
  • 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 या प्रमोशन में अमान्य डेटा शामिल है.
  • NOT_FOUND: कोई LineItem, FulfillmentOption या प्रचार नहीं मिला.
  • PRICE_CHANGED: एक आइटम की कीमत बदल गई है.

FeeAmountRange

यहां दी गई टेबल में FeeAmountRange टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
minFeeAmount Money

लिए गए शुल्क की निचली सीमा..

maxFeeAmount Money

लिए गए शुल्क की ऊपरी सीमा..

FeePercentRange

यहां दी गई टेबल में FeePercentRange टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
minFeePercent Number

शुल्क प्रतिशत की निचली सीमा.

maxFeePercent Number

शुल्क प्रतिशत की ऊपरी सीमा.

FoodCartExtension

इसमें उपयोगकर्ता के बारे में जानकारी होती है, जैसे कि ग्राहक को आइटम भेजने से जुड़ी प्राथमिकताएं.

यहां दी गई टेबल में FoodCartExtension टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
@type कॉन्सटेंट

इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.Order.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

अनुरोध को प्रोसेस करते समय हुई एक या उससे ज़्यादा गड़बड़ियों की पहचान करता है. नीचे दी गई टेबल में FoodErrorExtension तरह के फ़ील्ड के बारे में बताया गया है. CheckoutResponse में गड़बड़ियां भेजी जा सकती हैं.

यहां दी गई टेबल में FoodErrorExtension टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
@type कॉन्सटेंट

ज़रूरी है.

इस एक्सटेंशन का टाइप.

मान: type.googleapis.com/google.actions.v2.orders.FoodErrorExtension

foodOrderErrors सूची<FoodOrderError>

ज़रूरी है.

FoodOrderError ऑब्जेक्ट की ऐरे, जो होने वाली गड़बड़ियों की जानकारी देती है. हमारा सुझाव है कि हर कार्ट या हर आइटम के लिए एक गड़बड़ी की सूचना दें.

एक आइटम से कम नहीं होना चाहिए.

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" के लिए ज़रूरी है.

सुधार के साथ नया प्रस्तावित ऑर्डर. अगर मूल प्रस्तावितऑर्डर में ठीक करने लायक गड़बड़ियां हों, तो यह ऑब्जेक्ट वापस करें. उदाहरण के लिए, कार्ट में एक या उससे ज़्यादा लाइन आइटम की कीमत में बदलाव से रिकवर की जा सकने वाली गड़बड़ी होती है. मान्य प्रस्तावितऑर्डर के साथ वापस पाई जा सकने वाली गड़बड़ियां, पुष्टि के चरण में पहुंच जाती हैं और उपयोगकर्ता को कार्ट की समीक्षा करने की ज़रूरत नहीं पड़ती.

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.Order.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 स्ट्रिंग

Google की ओर से असाइन किया गया यूनीक आईडी. जब किसी FoodOrderError या AsyncOrderUpdateRequest को भेजा जाता है, तो इस फ़ील्ड का इस्तेमाल उन मामलों में अंतर करने के लिए किया जाता है जहां कार्ट में एक ही OfferId वाले एक से ज़्यादा आइटम होते हैं.

उदाहरण: 39231093

offerId स्ट्रिंग

आइटम का ऑफ़र आईडी.

उदाहरण: 912835081

name स्ट्रिंग

विकल्प का नाम.

उदाहरण: Honey Mustard

price Money
note स्ट्रिंग

विकल्प के बारे में नोट.

quantity Number

आइटम वाले विकल्पों के लिए, आइटम की संख्या.

उदाहरण: 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 स्ट्रिंग

error = "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "PRICE_CHANGED", "INVALID", or "NOT_FOUND" के लिए ज़रूरी है.

यह फ़ील्ड, आइटम-लेवल की गड़बड़ियों के लिए ज़रूरी है. यह मेन्यू आइटम के लिए Google की ओर से असाइन की गई LineItem.id या ऐड-ऑन के लिए FoodItemOption.id है.

description स्ट्रिंग

गड़बड़ी की जानकारी. यह जानकारी इंटरनल लॉगिंग के लिए है. यह उपयोगकर्ताओं को नहीं दिखती.

updatedPrice Money

error = "PRICE_CHANGED" के लिए ज़रूरी है.

किसी आइटम की नई कीमत की वजह से गड़बड़ी हुई. इसकी ज़रूरत सिर्फ़ तब होती है, जब गड़बड़ी "PRICE_CHANGED" हो.

availableQuantity Integer

error = "INVALID", or "NOT_FOUND" के लिए ज़रूरी है.

आइटम की नई उपलब्ध संख्या, जिसकी वजह से गड़बड़ी हुई. इसकी ज़रूरत सिर्फ़ तब होती है, जब गड़बड़ी "INVALID" या "NOT_FOUND" हो. "INVALID" और "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.Order.FoodOrderExtension" पर सेट रहते हैं.

मान: type.googleapis.com/google.actions.v2.orders.FoodOrderExtension

availableFulfillmentOptions सूची<FulfillmentOption>

इससे, ऑर्डर पूरा करने के लिए उपलब्ध विकल्पों की जानकारी मिलती है.

optinForRemarketing बूलियन

आपके मार्केटिंग चैनलों में ऑप्ट-इन करने के लिए उपयोगकर्ता का अनुरोध. डिफ़ॉल्ट रूप से, उपयोगकर्ता की सहमति के बिना मार्केटिंग कॉन्टेंट नहीं भेजा जा सकता. अगर ऑप्टिमाइज़ेशन के लिए रीमार्केटिंग सही है, तो आपके पास उपयोगकर्ता की सदस्यता लेने का विकल्प होता है. अगर ऑप्टइन के लिए रीमार्केटिंग की सुविधा गलत है या मौजूद नहीं है, तो आपको अपने सिस्टम में सदस्यता की स्थिति को वैसा ही बनाए रखना चाहिए. उपयोगकर्ता, Google से ऑप्ट आउट नहीं कर सकते. इसके लिए, उन्हें सिर्फ़ आपके मार्केटिंग चैनलों में सदस्यता छोड़ने की सुविधा उपलब्ध करानी होगी. यह फ़्लैग सिर्फ़ सबमिटOrderRequestMessage में मौजूद है.

इस उदाहरण में 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 ऑब्जेक्ट का इस्तेमाल इन तरीकों से किया जा सकता है:
  • Checkout AppRequest और Submit AppRequest में, Cart.extension.fulfillmentPreference: उपयोगकर्ता की पसंद (डिलीवरी या पिकअप) को सेव करता है. चेकआउट का अनुरोध भेजे जाने पर कीमत हमेशा 0 होती है.
  • Checkout AppResponse में, ProposedOrder.extension.availableFulfillmentOptions: एक या ज़्यादा डिलीवरी विकल्पों के बारे में बताता है (फ़िलहाल, सिर्फ़ एक विकल्प काम करता है). ProposedOrder.otherItems में डिफ़ॉल्ट विकल्प को LineItem के तौर पर तय किया जाता है. FulfillmentOption का offerId, ProposedOrder.otherItems में दिए गए LineItem के आईडी से मेल खाना चाहिए.

यहां दी गई टेबल में FulfillmentOption टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
offerId स्ट्रिंग

ऑर्डर पूरा करने के इस विकल्प के लिए यूनीक आइडेंटिफ़ायर, अगर कोई हो.

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 टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है.
delivery समूह 1 DeliveryInfo

अगर मौजूद हो, तो डिलीवरी के ऑर्डर की जानकारी देता है.

pickup समूह 2 PickupInfo

अगर मौजूद हो, तो पिकअप ऑर्डर की जानकारी देता है.

इमेज

यहां दी गई टेबल में Image टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
sourceUrl स्ट्रिंग

ज़रूरी है.

इमेज के लिए यूआरएल. कम से कम इमेज 72x72 पिक्सल की होनी चाहिए. बेहतर नतीजों के लिए, कम से कम 216x216 पिक्सल की इमेज इस्तेमाल करें. इमेज का साइज़ 6 एमबी और 64 मेगापिक्सल से कम होना चाहिए.

LineItem

कार्ट के कॉन्टेंट (Cart.lineItems) या ऑर्डर (ProposedOrder.otherItems) के लिए लगने वाले अतिरिक्त शुल्क के बारे में बताता है.

यहां दी गई टेबल में LineItem टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
id स्ट्रिंग

type = "REGULAR" के लिए ज़रूरी है.

किसी कार्ट (ProposedOrder.cart.line आइटम[0].id) में लाइन आइटम के लिए, यह एक यूनीक आईडी होता है, जिसे Google ने ऑर्डर बनाते समय बनाया था. प्रस्तावितऑर्डर (ProposedOrder.otherItem[0].id) में लाइन आइटम के लिए, जिसका इस्तेमाल डिलीवरी शुल्क और टैक्स जैसे आइटम जोड़ने के लिए किया जाता है, आईडी की वैल्यू कंपनी तय करती है. उदाहरण के लिए, कार्ट में एक ही तरह के दो आइटम हैं, जिन्हें बनाने के लिए अलग-अलग निर्देश दिए गए हैं. जैसे, अलग-अलग तरह की टॉपिंग के साथ दो मीडियम पिज़्ज़ा. इस मामले में, दोनों आइटम का मूल OfferId एक ही है. जब किसी सामान को अस्वीकार किए जाने के बारे में बताने के लिए, ऑर्डर अपडेट करने का अनुरोध भेजा जाता है, तो इस आईडी को साफ़ तौर पर बताएं. दूसरे शब्दों में, अगर किसी पिज़्ज़ा को किसी खास टॉपिंग की कमी की वजह से अस्वीकार कर दिया जाता है, तो आईडी Google को यह तय करने में मदद करता है कि किस क्रम में किस आइटम की जानकारी दी जा रही है. अन्य आइटम के अलावा यह फ़ील्ड ज़रूरी है.

name स्ट्रिंग

ज़रूरी है.

लाइन आइटम का नाम. यह उपयोगकर्ता को दिखने वाली स्ट्रिंग है. जब भी हो सके, तब वाक्य में इस्तेमाल होना चाहिए, जैसे कि "डिलीवरी शुल्क", "सेवा शुल्क", "टैक्स". उपयोगकर्ताओं के लिए इस फ़ील्ड को 100 वर्णों तक सीमित कर दिया गया है.

type LineItemType

ज़रूरी है.

quantity Integer

type = "REGULAR" के लिए ज़रूरी है.

शामिल किए गए आइटम की संख्या. प्रस्तावितऑर्डर.अन्य आइटम पर लागू नहीं होता.

description स्ट्रिंग

आइटम का ब्यौरा.

price Price

ज़रूरी है.

आइटम या आइटम की कीमत. यह वैल्यू, इस लाइन आइटम के लिए सभी सामान या सेवाओं की कुल कीमत दिखाती है. दूसरे शब्दों में, किसी भी ऐड-ऑन की लागत जोड़ें और उसे संख्या से गुणा करें. उदाहरण के लिए: अगर 10 डॉलर के किसी आइटम की संख्या 3 है, तो कीमत 30 डॉलर होगी. 5 डॉलर और एक डॉलर के ऐड-ऑन की मूल कीमत वाले एक पिज़्ज़ा की कीमत 6 डॉलर होगी. दो पिज़्ज़ा (संख्या = 2) की मूल कीमत 5 डॉलर और हर एक ऐड-ऑन की मूल कीमत 1 डॉलर है. ऐसे में, हर पिज़्ज़ा की कीमत 12 डॉलर होगी. हर LineItem की कीमत होनी चाहिए, भले ही उसकी कीमत "0" हो. जब टाइप DISCOUNT होता है, तो वैल्यू को नेगेटिव के तौर पर बताएं (उदाहरण के लिए, "-2").

subLines सूची<SublineNote>

ज़रूरी नहीं. टाइप "REGULAR" होने पर ही मान्य होगा. चेकआउट अनुरोध और ऑर्डर सबमिशन अनुरोध में उपयोगकर्ता की ओर से एक आइटम के लिए खास नोट इस फ़ील्ड में भेजा जा सकता है. पक्का करें कि दिए जाने पर व्यापारी को नोट मिल जाए. यह सबलाइन[0].note के तौर पर अनुरोध में होगा, जो इस फ़ील्ड में दी गई इकलौती वैल्यू है, जब यह किसी अनुरोध में मौजूद होती है.

1 से ज़्यादा आइटम नहीं होना चाहिए.

offerId स्ट्रिंग

type = "REGULAR" के लिए ज़रूरी है.

आइटम के लिए MenuItem का ऑफ़र आईडी. प्रस्तावितऑर्डर.अन्य आइटम पर लागू नहीं होता.

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: टैक्स लाइन आइटम. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.
  • DISCOUNT: छूट वाला लाइन आइटम. ध्यान दें कि कीमत नेगेटिव होनी चाहिए. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.
  • GRATUITY: ग्रेच्यूटी लाइन आइटम. आम तौर पर, उपयोगकर्ता की चुनी गई सलाह के लिए, सबमिटOrderRequestMessage के लिए रिज़र्व रखा जाता है. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.
  • DELIVERY: डिलीवरी लाइन आइटम. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.
  • SUBTOTAL: सबटोटल लाइन आइटम. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.
  • FEE: अतिरिक्त लाइन आइटम, जो अन्य टाइप में शामिल नहीं है. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.

जगह

खाने-पीने की चीज़ें ऑर्डर करने के लिए पता देता है. Location टाइप का इस्तेमाल, Cart में सिर्फ़ डिलीवरी ऑर्डर का डेस्टिनेशन बताने के लिए किया जाता है. अगर उपयोगकर्ता ऑर्डर देता है, तो फ़ाइनल की गई जगह TransactionDecisionValue में भी मौजूद होती है. पिकअप की जानकारी देने वाले ऑर्डर के लिए, जगह को शामिल नहीं किया जाता (यहां तक कि कोई खाली जगह भी नहीं).

यहां दी गई टेबल में Location टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
coordinates Coordinates
formattedAddress स्ट्रिंग

जगह का पता दिखाना.

उदाहरण: 1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States

postalAddress PostalAddress
zipCode स्ट्रिंग

उदाहरण: 90210

city स्ट्रिंग

शहर का नाम.

उदाहरण: Los Angeles

notes स्ट्रिंग

जगह के बारे में नोट, जैसे कि गेट कोड. इसमें 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 स्ट्रिंग

व्यापारी/कंपनी का आईडी. अगर बताया गया है, तो रेस्टोरेंट फ़ीड में Restaurant.@id से मेल खाता है.

उदाहरण: https://www.exampleprovider.com/merchant/id1

name स्ट्रिंग

ज़रूरी है.

उपयोगकर्ता को दिखने वाला व्यापारी या कंपनी का नाम.

उदाहरण: Falafel Bite

इस उदाहरण में Merchant एलिमेंट दिखाया गया है:

उदाहरण

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

धन

यहां दी गई टेबल में Money टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
currencyCode स्ट्रिंग

ज़रूरी है.

ISO 4217 फ़ॉर्मैट में तीन अक्षर का मुद्रा कोड.

उदाहरण: USD

units स्ट्रिंग

रकम की पूरी इकाइयां. उदाहरण के लिए, अगर currencyCode "USD" है, तो "1" यूनिट एक डॉलर होगी.

उदाहरण: 36

nanos Integer

मात्रा में नैनो (10^-9) यूनिट की संख्या. यह वैल्यू -9,99,99,999 से 9,99,99,999 के बीच की होनी चाहिए. इन नियमों का इस्तेमाल करें: अगर इकाइयां पॉज़िटिव हैं, तो नैनो को पॉज़िटिव या शून्य होना चाहिए. अगर इकाइयां शून्य हैं, तो नैनोस धनात्मक, शून्य या ऋणात्मक हो सकता है. अगर यूनिट ऋणात्मक हैं, तो नैनो को नेगेटिव या शून्य होना चाहिए. उदाहरण के लिए, $-1.75 को यूनिट = -1 और nanos = -7,50,000,000 के तौर पर दिखाया जाता है.

उदाहरण: 730000000

इस उदाहरण में Money एलिमेंट दिखाया गया है:

उदाहरण 1

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

उदाहरण 2

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

ऑर्डर

इसमें आखिरी ऑर्डर शामिल होता है. इसमें टैक्स, शुल्क, और डिलीवरी के शुल्क के साथ-साथ क्रेडिट/डेबिट कार्ड की जानकारी भी शामिल होती है. यह ऑब्जेक्ट, Submit AppRequest में आपकी कार्रवाई से मिला है.

यहां दी गई टेबल में Order टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
finalOrder ProposedOrder

ज़रूरी है.

वह प्रस्तावित ऑर्डर जिसकी वजह से ऑर्डर हुआ.

googleOrderId स्ट्रिंग

ज़रूरी है.

Google की ओर से असाइन किया गया ऑर्डर आईडी. किसी ऑर्डर की पूरी लाइफ़ साइकल के लिए, यह आईडी एक जैसा रहना चाहिए. यह आईडी, असली उपयोगकर्ता को नहीं दिखता.

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 स्ट्रिंग

ज़रूरी है.

इंटिग्रेटर के सिस्टम में मौजूद ऑर्डर का यूनीक आईडी, जिसका इस्तेमाल उस ऑर्डर की पहचान करने के लिए किया जाता है जिसके लिए अपडेट भेजा जाता है. अगर "CREATED" ऑर्डर के लिए, transaction.user_visible_order_id की जानकारी कम से कम एक बार नहीं दी जाती है, तो उपयोगकर्ता को दिया जाने वाला यह आईडी, Google के ऑर्डर कार्ड में दिखाया जाएगा.

orderState OrderState

ज़रूरी है.

ऑर्डर की नई स्थिति.

lineItemUpdates मैप<स्ट्रिंग, LineItemUpdate>
updateTime ISO टाइमस्टैंप

ज़रूरी है.

ऑर्डर अपडेट करने का समय.

orderManagementActions सूची<OrderManagementAction>

ऑर्डर करने के बाद की जाने वाली कार्रवाइयां, जैसे कि सहायता टीम से संपर्क करना और ऑर्डर की जानकारी देखना.

इसमें कम से कम एक आइटम और 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" के लिए ज़रूरी है.

रसीद में, उपयोगकर्ता को दिखने वाला ऑर्डर आईडी दें.

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 स्ट्रिंग

पिकअप का अनुमानित समय, 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#Unitedd_date_and_time_representations. चेकआउट के जवाब के दौरान, पिकअप का अनुमानित समय अपडेट करने के लिए इसका इस्तेमाल करें.

उदाहरण: PT90M

इस उदाहरण में PickupInfo एलिमेंट दिखाया गया है:

उदाहरण

{
  "pickupTimeIso8601": "PT90M"
}

PostalAddress

यहां दी गई टेबल में PostalAddress टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
regionCode स्ट्रिंग

ज़रूरी है.

दो अक्षरों वाला देश कोड.

उदाहरण: US

postalCode स्ट्रिंग

पिन कोड.

उदाहरण: 94043

administrativeArea स्ट्रिंग

सबसे ऊपर वाला एडमिन सबडिवीज़न, जिसका इस्तेमाल किसी देश या इलाके के डाक पतों के लिए किया जाता है. यह कोई राज्य, प्रांत, ओब्लास्ट या प्रांत हो सकता है.

उदाहरण: CA

locality स्ट्रिंग

इस जगह का शहर या नगर. दुनिया के जिन क्षेत्रों में इलाके अच्छी तरह से परिभाषित नहीं हैं या इस संरचना में फ़िट नहीं होते हैं, वहां शहर का नाम न डालें और इसके बजाय AddressLines फ़ील्ड का इस्तेमाल करें.

उदाहरण: Mountain View

addressLines List<String>

एक या ज़्यादा लाइनें जिन्हें आप मोहल्ले का पता बताने के लिए इस्तेमाल कर सकते हैं. इस फ़ील्ड में बदलाव नहीं किया जाना चाहिए, क्योंकि इसमें इलाके की जानकारी साफ़ तौर पर नहीं दी गई है.

उदाहरण: [ "1350 Charleston Road" ]

recipients List<String>

किसी ऑर्डर के लिए पाने वालों की सूची. यह फ़ील्ड सिर्फ़ BillingAddress में उपलब्ध है.

इस उदाहरण में PostalAddress एलिमेंट दिखाया गया है:

उदाहरण

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

कीमत

यहां दी गई टेबल में Price टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
type Enum [ "ESTIMATE", "ACTUAL" ]

ज़रूरी है.

प्रमोशन कूपन कोड.

amount Money

ज़रूरी है.

प्रमोशन

यहां दी गई टेबल में Promotion टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
coupon स्ट्रिंग

ज़रूरी है.

प्रमोशन कूपन कोड.

ProposedOrder

यहां दी गई टेबल में ProposedOrder टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
id स्ट्रिंग

प्रस्तावित ऑर्डर के लिए वैकल्पिक आईडी.

cart Cart

ज़रूरी है.

उपयोगकर्ता के आइटम.

otherItems सूची<LineItem>

सेवा देने वाली कंपनी की ओर से जोड़े गए आइटम, जैसे कि डिलीवरी शुल्क, अन्य शुल्क, और टैक्स. अन्य आइटम में भी, उपयोगकर्ताओं की ओर से जोड़ी गई छूट और/या छूट शामिल हो सकती है.

10 से ज़्यादा आइटम नहीं होने चाहिए.

image Image

प्रस्तावित ऑर्डर से जुड़ी इमेज.

totalPrice Price

ज़रूरी है.

प्रस्तावित ऑर्डर की कुल कीमत.

extension FoodOrderExtension

ज़रूरी है.

इससे खाने-पीने के ऑर्डर पूरे करने के तरीके की जानकारी मिलती है.

disclaimers सूची<Disclaimer>

यह ऑर्डर देने से पहले, यूज़र इंटरफ़ेस (यूआई) में दिखाए जाने वाले डिसक्लेमर मैसेज से मेल खाता है.

इस उदाहरण में 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 स्ट्रिंग

ज़रूरी है.

टाइमस्टैंप

इस फ़ॉर्मैट में तारीख और समय: "{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>

ज़रूरी है.

इसमें कार्ट से चेकआउट करने के लिए ज़रूरी तर्क शामिल होते हैं.

इसमें एक आइटम होना चाहिए.

इस उदाहरण में 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

CheckoutRequestMessage, actions.foodordering.intent.CHECKOUT इंटेंट वाला एक AppRequest है.

SubmitOrderRequestMessage

SubmitOrderRequestMessage, actions.foodordering.intent.TRANSACTION_DECISION इंटेंट वाला एक AppRequest है.

दर्शकों से बातचीत करें

Conversation सिर्फ़ एक सेशन के लिए यूनीक होता है. अगर ज़रूरी हो, तो इसका इस्तेमाल कई Checkout और SubmitOrder कार्रवाइयों को एक साथ लिंक करने के लिए किया जा सकता है.

यहां दी गई टेबल में Conversation टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
conversationId स्ट्रिंग

ज़रूरी है.

बातचीत के लिए यूनीक आईडी.

इस उदाहरण में Conversation एलिमेंट दिखाया गया है:

उदाहरण

{
  "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ"
}

इनपुट

कार्ट से चेकआउट करने के लिए ज़रूरी तर्क.

यहां दी गई टेबल में Input टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
intent Enum [ "actions.foodordering.intent.CHECKOUT", "actions.intent.TRANSACTION_DECISION" ]

ज़रूरी है.

चेकआउट के अनुरोध के मैसेज के लिए, "actions.foodordering.intent.एक्सप्रेशन" पर सेट करें या ऑर्डर का अनुरोध सबमिट करने के लिए, "actions.intent.TRANSACTION_DECISION" को सेट करें.

arguments सूची<Argument>

ज़रूरी है.

इसमें, चेक आउट करने के लिए कार्ट शामिल है या ऑर्डर किया जाना है

इसमें एक आइटम होना चाहिए.

आर्ग्यूमेंट

इसमें उन खाने-पीने की चीज़ों के बारे में जानकारी होती है जिन्हें कोई व्यक्ति देखना चाहता है. चेकआउट के लिए, सिर्फ़ एक्सटेंशन लागू होता है. ऑर्डर सबमिट करने के लिए, सिर्फ़ transactionDiisionValue लागू होता है

यहां दी गई टेबल में Argument टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है.
extension समूह 1 Cart

उन खाने-पीने की चीज़ों की जानकारी दें जिन्हें उपयोगकर्ता देखना चाहता है.

transactionDecisionValue समूह 2 TransactionDecisionValue

इसमें पेमेंट के तरीके की जानकारी के साथ, ऑर्डर दिया जाना शामिल होता है.

ग्राहक को भेजे गए आइटम का जवाब

AppResponse

यहां दी गई टेबल में AppResponse टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
expectUserResponse कॉन्सटेंट

'गलत' पर सेट करें.

मान: 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"
              }
            }
          }
        }
      ]
    }
  }
}

तीसरा उदाहरण

{
  "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 है, जिसका StructuredResponse में checkoutResponse या error होता है.

SubmitOrderResponseMessage

A SubmitOrderResponseMessage एक AppResponse होता है, जो StructuredResponse में orderUpdate होता है.

FinalResponse

कार्ट के चेकआउट या सबमिटOrderRequestMessage पर आपका जवाब.

यहां दी गई टेबल में FinalResponse टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
richResponse RichResponse

ज़रूरी है.

इसमें CheckoutRequestMessage या सबमिटOrderRequestMessage का आपका जवाब शामिल होता है.

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."
      }
    }
  ]
}

आइटम

इसमें कार्ट चेकआउट या सबमिटOrderRequestMessage का आपका जवाब शामिल होता है.

यहां दी गई टेबल में Item टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
structuredResponse StructuredResponse

ज़रूरी है.

RichResponse

इसमें कार्ट चेकआउट के बारे में आपका जवाब शामिल होता है.

यहां दी गई टेबल में RichResponse टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
items सूची<Item>

ज़रूरी है.

इसमें एक आइटम होना चाहिए.

StructuredResponse

CheckoutResponseMessage के लिए, यह इनमें से कोई एक हो सकता है: CheckoutResponse, सही चेकआउट को दिखाता है. या FoodErrorExtension: चेकआउट के दौरान गड़बड़ी को दिखाता है. इस जवाब में सही OfferOrder और PaymentOptions या कोई PaymentOptions नहीं वाला गड़बड़ी का मैसेज शामिल किया जा सकता है. सबमिट किए जाने वाले ऑर्डर का जवाब देने से जुड़े मैसेज (पीओ) के लिए, सिर्फ़ ऑर्डर अपडेट लागू होता है.

यहां दी गई टेबल में StructuredResponse टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है.
checkoutResponse समूह 1 CheckoutResponse

चेक आउट किए गए आइटम, टैक्स, और छूट.

error समूह 2 FoodErrorExtension

कार्ट में मौजूद आइटम में गड़बड़ियां मिलीं. गड़बड़ी किस तरह की है, उसके आधार पर इस प्रॉपर्टी में सही OfferOrder और 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 जवाब में एचटीटीपी 200 स्टेटस दिखाता है और जवाब में खाली बॉडी दिखती है. अगर अपडेट पूरा नहीं हो पाया, तो Google जवाब में ऑर्डर अपडेट न होने की वजह बताता है.

ऑर्डर अपडेट करने के टाइप

बटन

इससे एक यूज़र इंटरफ़ेस एलिमेंट की जानकारी मिलती है. इसे यूज़र इंटरैक्शन के लिए जोड़ा जा सकता है.

यहां दी गई टेबल में Button टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
title स्ट्रिंग

ज़रूरी है.

डिसप्ले लेबल. सही रेंडरिंग के लिए, ऐसे वाक्य का इस्तेमाल करें जिसमें 30 या उससे कम वर्ण हों.

उदाहरण: Contact us

openUrlAction OpenUrlAction

ज़रूरी है.

इस उदाहरण में Button एलिमेंट दिखाया गया है:

उदाहरण

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

CancellationInfo

यहां दी गई टेबल में CancellationInfo टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
reason स्ट्रिंग

ज़रूरी है.

OrderState.state "CANCELLED" होने पर, अस्वीकार किए जाने की वजह को दिखाया जा सकता है.

उदाहरण: Restaurant closed

इस उदाहरण में CancellationInfo एलिमेंट दिखाया गया है:

उदाहरण

{
  "reason": "Insufficient inventory"
}

FoodOrderUpdateExtension

इस टाइप से, उपयोगकर्ता को यह पता चलता है कि ऑर्डर कब डिलीवर किया जाएगा या पिक अप के लिए कब तैयार होगा. जब भी जानकारी उपलब्ध हो या पिछली बार भेजे जाने के बाद इसमें बदलाव हो गया हो, तो इस एक्सटेंशन को OrderUpdate में भेजें.

ग्राहक को आइटम भेजने के अंतराल के लिए, सावधानी के साथ अनुमान लगाएं, ताकि उपयोगकर्ता की उम्मीदें लगातार पूरी हो सकें. उदाहरण के लिए, अगर ऑर्डर को आज 13:00 बजे डिलीवर होने का अनुमान है, तो आपको एक अनुमानित इंटरवल भेजना चाहिए, जो ट्रैफ़िक की स्थितियों की वजह से होने वाले उतार-चढ़ाव के मुताबिक हो. जैसे, आज 12:45 से 13:15 बजे.

ISO 8601 की अवधि या टाइमस्टैंप का मतलब, OrderUpdate के updateTime (कम शब्दों में, "अब") से updateTime प्लस duration के बीच के इंटरवल का मतलब है. इस फ़ॉर्मैट का इस्तेमाल तब तक न करें, जब तक "अभी" वाकई में कोई उम्मीद न की जाए.

ISO 8601 के इंटरवल को, इंटरवल की शुरुआत से लेकर आखिर तक के इंटरवल का हिसाब लगाने के लिए इंटरप्रेट किया जाता है.

यहां दी गई टेबल में FoodOrderUpdateExtension टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
@type कॉन्सटेंट

इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.order.FoodOrderUpdateExtension" पर सेट रहता है.

मान: type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension

estimatedFulfillmentTimeIso8601 स्ट्रिंग

ऑर्डर की डिलीवरी होने या उसे पिक अप करने का अनुमानित समय. स्ट्रिंग ISO 8601 फ़ॉर्मैट में होनी चाहिए और इसे किसी तय समय के बजाय किसी इंटरवल से जुड़ा होना चाहिए. मान्य तरीके ये हैं: इंटरवल, अवधि, और तारीख/समय. जानकारी उपलब्ध हो जाने या कोई बदलाव होने पर, जैसे कि जल्दी या देर से पहुंचने पर, इस फ़ील्ड को सबमिटOrderResponseMessage या AsyncOrderUpdateRequestMessage में भेजा जा सकता है.

उदाहरण: 2017-07-17T13:00:00Z/2017-07-17T13:30:00Z

foodOrderErrors सूची<FoodOrderError>

पोस्ट-ऑर्डर होने के बाद होने वाली गड़बड़ियों की जानकारी देता है. हमारा सुझाव है कि हर कार्ट या हर आइटम के लिए एक गड़बड़ी की सूचना दें. ऐसी किसी भी गड़बड़ी के लिए FoodOrderUpdateExtension.FoodOrderErrors का इस्तेमाल करें जिसे अस्वीकार करने की जानकारी में शामिल नहीं किया गया है.

एक आइटम से कम नहीं होना चाहिए.

इस उदाहरण में 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

यहां दी गई टेबल में FulfillmentInfo टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है.
deliveryTime समूह 1 ISO टाइमस्टैंप

FoodOrderingUpdateExtension मैसेज में अनुमानितFulfillmentTimeIso8601 का इस्तेमाल करें

pickupTime समूह 2 ISO टाइमस्टैंप

FoodOrderingUpdateExtension मैसेज में अनुमानितFulfillmentTimeIso8601 का इस्तेमाल करें

इस उदाहरण में FulfillmentInfo एलिमेंट दिखाया गया है:

उदाहरण 1

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

उदाहरण 2

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

InTransitInfo

यहां दी गई टेबल में InTransitInfo टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
updatedTime ISO टाइमस्टैंप

FoodOrderingUpdateExtension मैसेज में अनुमानितFulfillmentTimeIso8601 का इस्तेमाल करें

इस उदाहरण में InTransitInfo एलिमेंट दिखाया गया है:

उदाहरण

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

LineItemUpdate

यहां दी गई टेबल में LineItemUpdate टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
orderState OrderState
price Price
reason स्ट्रिंग

बदलाव की वजह. कीमत में बदलाव के लिए ज़रूरी है.

इस उदाहरण में LineItemUpdate एलिमेंट दिखाया गया है:

उदाहरण

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

OpenUrlAction

यहां दी गई टेबल में OpenUrlAction टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
url स्ट्रिंग

ज़रूरी है.

बटन पर क्लिक करने या उसे छूने पर ट्रिगर की गई कार्रवाई. लागू प्रीफ़िक्स की सूची, orderManagementActionType पर निर्भर करती है. "EMAIL": प्रीफ़िक्स "mailto" होना चाहिए. "CALL": प्रीफ़िक्स "tel" होना चाहिए. "CUSTOMER_SERVICE": प्रीफ़िक्स "mailto", "tel", "http" या "https" होना चाहिए.

उदाहरण: https://www.google.com

OrderManagementAction

ऑर्डर मैनेजमेंट की मदद से, लोगों को ऑर्डर के बाद सहायता मिलती है. हर OrderUpdate में, यह जानकारी सबमिट किए जाने के क्रम में ही भेजी जानी चाहिए AppResponse और हर AsyncOrderUpdateRequestMessage किसी खास ऑर्डर के लिए भेजी जाने वाली ऑर्डर मैनेजमेंट कार्रवाइयां, हर स्थिति के हिसाब से अलग-अलग हो सकती हैं.

उदाहरण के लिए, "बनाया गया" स्थिति में, CUSTOMER_SERVICE आपके ग्राहक सहायता टेलीफ़ोन का रेफ़रंस दे सकता है. इसके बाद, "पुष्टि हो गई" स्टेटस में, CUSTOMER_SERVICE रेस्टोरेंट के टेलीफ़ोन को तब बदला जा सकता है, जब उसे ग्राहक से संपर्क करने का सबसे बेहतर तरीका माना जाए. इसी तरह, ऑर्डर के "पूरा किया गया" स्थिति में आने पर, 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 स्ट्रिंग

ज़रूरी है.

राज्य के लिए उपयोगकर्ता को दिखने वाली डिसप्ले स्ट्रिंग. अंग्रेज़ी के वाक्यों में, पहला वर्ण बड़ा (अपर केस में) रखें.

उदाहरण: Your order has been received

इस उदाहरण में OrderState एलिमेंट दिखाया गया है:

उदाहरण

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

OrderStateEnum

OrderState से जुड़े टाइप बताता है.

OrderStateEnum टाइप की वैल्यू यहां दी गई है:

  • CREATED: ऐसा ऑर्डर जिसे इंटिग्रेटर ने बनाया है और सेवा देने वाली कंपनी से पुष्टि का इंतज़ार किया जा रहा है. "ऑर्डर किया गया" खरीदारी की स्थिति से मेल खाता है.
  • CONFIRMED: सेवा देने वाली कंपनी ने ऑर्डर की पुष्टि की है और वह चालू है. खरीदारी की स्थिति "स्वीकार की गई" से मेल खाती हो.
  • REJECTED: इंटिग्रेटर या सेवा देने वाली कंपनी ने ऑर्डर अस्वीकार कर दिया है. "अस्वीकार किया गया" खरीदारी की स्थिति दिखाता है.
  • CANCELLED: उपयोगकर्ता ने ऑर्डर रद्द कर दिया. "रद्द की गई" खरीदारी की स्थिति से मेल खाती हो.
  • IN_PREPARATION: खाना बनाया जा रहा है. "स्थिति के बारे में जानकारी नहीं है" से मिलती-जुलती खरीदारी की स्थिति.
  • READY_FOR_PICKUP: खाना पिक अप के लिए तैयार है. "पिक अप के लिए तैयार" की खरीदारी की स्थिति से मेल खाता हो.
  • IN_TRANSIT: ऑर्डर डिलीवर किया जा रहा है. "जारी है" खरीदारी की स्थिति से मेल खाता है.
  • FULFILLED: उपयोगकर्ता को वह मिला जो ऑर्डर किया गया था. "पिक अप की गई" खरीदारी की स्थिति से मेल खाता है.

रसीद

इस टाइप को सबमिट किए गए ऑर्डर AppResponse में भेजें, जहां OrderState "पुष्टि की गई", "FULFILLED" या "IN_transit" है. userVisibleOrderId उपलब्ध होने पर रसीद भेजें. आपको बाद के अपडेट में रसीद भेजते रहने की ज़रूरत नहीं है.

यहां दी गई टेबल में Receipt टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
userVisibleOrderId स्ट्रिंग

ज़रूरी है.

अगर ऑर्डर की वैल्यू "पुष्टि की गई", "IN_ पड़ने" या "FULFILLED" है, तो इसे भरना ज़रूरी है. यह फ़ील्ड इस ऑर्डर के लिए उपयोगकर्ता के लिए उपलब्ध एक आईडी (आम तौर पर रेस्टोरेंट का ऑर्डर आईडी) होता है, जो इंटिग्रेटर की रसीद और Google ऑर्डर कार्ड, दोनों में दिखता है. उपयोगकर्ता के पास यह आईडी होना चाहिए कि वह इस आईडी का इस्तेमाल करके, ग्राहक सेवा से जुड़े अपने ऑर्डर का रेफ़रंस, सेवा देने वाली कंपनी और इंटिग्रेटर से दे सके. आपको किसी भी दिए गए OrderUpdate में यह आईडी सिर्फ़ एक बार देना होगा. जब तक यह नहीं दिया जाता, तब तक action OrderId ही uservisibleOrderId होता है. उदाहरण के लिए, हो सकता है कि जब तक रेस्टोरेंट के ऑर्डर की पुष्टि नहीं हो जाती, तब तक आपके पास uservisibleOrderId न हो. पुष्टि होने के बाद, आपको एक OrderUpdate और रसीद के साथ AsyncOrderUpdateRequestMessage की मदद से भेजना होगा.

इस उदाहरण में Receipt एलिमेंट दिखाया गया है:

उदाहरण

{
  "userVisibleOrderId": "userVisibleId1234"
}

RejectionInfo

यहां दी गई टेबल में RejectionInfo टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
type RejectionType

ज़रूरी है.

reason स्ट्रिंग

इंटरनल लॉगिंग के लिए इस्तेमाल किए गए अस्वीकार करने की वजह. यह फ़ील्ड उपयोगकर्ताओं को नहीं दिखता है.

इस उदाहरण में RejectionInfo एलिमेंट दिखाया गया है:

उदाहरण

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

RejectionType

RejectionType टाइप की वैल्यू यहां दी गई है:

  • INELIGIBLE: नीति या जोखिम से जुड़ी समस्याओं की वजह से, उपयोगकर्ता इस प्रोग्राम में हिस्सा नहीं ले सकता.
  • PAYMENT_DECLINED: पैसे चुकाने की प्रक्रिया में कोई समस्या आ रही है.
  • UNAVAILABLE_SLOT: डिलीवरी की जानकारी या पिकअप जानकारी के ज़रिए बताए गए समय पर, ऑर्डर पूरा नहीं किया जा सकता.
  • PROMO_NOT_APPLICABLE: प्रमोशन में कोई समस्या है.
  • UNKNOWN: कोई और वजह.

पेमेंट के तरीके

इस सेक्शन में बताया गया है कि खाना ऑर्डर करने की सुविधा के लिए, पैसे चुकाने के किस तरीके का इस्तेमाल किया जाता है.

ActionProvidedPaymentOptions

कार्रवाई के लिए उपलब्ध पेमेंट के तरीके से जुड़ी ज़रूरी शर्तें.

यहां दी गई टेबल में ActionProvidedPaymentOptions टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
paymentType PaymentType

ज़रूरी है.

displayName स्ट्रिंग

ज़रूरी है.

रसीद पर मौजूद, पैसे चुकाने के तरीके का नाम.

उदाहरण: Taco Points Total

onFulfillmentPaymentData OnFulfillmentPaymentData

पेमेंट टाइप "ON_FULFILLMENT" के लिए अतिरिक्त डेटा. उदाहरण के लिए, इस फ़ील्ड का इस्तेमाल करके यह बताया जा सकता है कि ऑर्डर पूरा करने के लिए नकद या कार्ड का इस्तेमाल किया जा सकता है या नहीं.

इस उदाहरण में ActionProvidedPaymentOptions एलिमेंट दिखाया गया है:

उदाहरण

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

AllowedAuthMethods

AllowedAuthMethods टाइप की वैल्यू यहां दी गई है:

  • PAN_ONLY: उपयोगकर्ता के Google खाते की फ़ाइल में सेव किए गए पेमेंट कार्ड से जुड़ी पुष्टि करने का तरीका. पेमेंट के तरीके से जुड़े डेटा में निजी खाता नंबर (पैन) शामिल होता है. इस डेटा में, खत्म होने की तारीख का महीना और खत्म होने की तारीख की जानकारी शामिल होती है.

AllowedCardNetworks

AllowedCardNetworks टाइप की वैल्यू यहां दी गई है:

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

BillingAddressParameters

यह ऑब्जेक्ट आपको किसी अनुरोध किए गए बिलिंग पते के लिए, अतिरिक्त फ़ील्ड सेट करने की अनुमति देता है.

यहां दी गई टेबल में BillingAddressParameters टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
format स्ट्रिंग

लेन-देन पूरा करने के लिए बिलिंग पता फ़ॉर्मैट ज़रूरी है. MIN: नाम, देश कोड, और पिन कोड. पूरा नाम: नाम, मोहल्ले का पता, शहर, क्षेत्र, देश का कोड, और पिन कोड.

इस उदाहरण में BillingAddressParameters एलिमेंट दिखाया गया है:

उदाहरण 1

{
  "format": "MIN"
}

उदाहरण 2

{
  "format": "FULL"
}

CardParameters

इस ऑब्जेक्ट का इस्तेमाल करके, अपनी साइट पर Google Pay API के साथ काम करने की सुविधा को कॉन्फ़िगर करें.

यहां दी गई टेबल में CardParameters टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
allowedAuthMethods List<Const>

ज़रूरी है.

कार्ड से लेन-देन की पुष्टि करने के लिए इस्तेमाल किए जाने वाले फ़ील्ड.

एक आइटम से कम नहीं होना चाहिए.

allowedCardNetworks सूची<AllowedCardNetworks>

ज़रूरी है.

आपके पास एक या एक से ज़्यादा कार्ड नेटवर्क हैं, जो Google Pay API के साथ काम करते हैं.

एक आइटम से कम नहीं होना चाहिए.

billingAddressRequired बूलियन

बिलिंग पते की ज़रूरत पड़ने पर, इसे 'सही' पर सेट करें. बिलिंग पते का अनुरोध सिर्फ़ तब करें, जब लेन-देन को प्रोसेस करना ज़रूरी हो. ज़्यादा डेटा के अनुरोध मिलने से, चेकआउट की प्रोसेस में रुकावट बढ़ सकती है और कन्वर्ज़न रेट कम हो सकते हैं.

billingAddressParameters BillingAddressParameters

अगर BillingAddressAddress को 'सही' पर सेट किया जाता है, तो उम्मीद के मुताबिक फ़ील्ड दिखाए जाते हैं.

cvcRequired बूलियन

TimesofMoney का इस्तेमाल करने पर, पेमेंट प्रोसेस करने वाली अन्य सभी कंपनियों के लिए 'गलत' पर सेट करें.

इस उदाहरण में 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 स्ट्रिंग

ज़रूरी है.

यह बेस 64 कोड में बदली गई स्ट्रिंग है, जिसमें पैसे चुकाने का टोकन होता है. यह पेमेंट टोकन, हिस्सा लेने वाले Google Pay प्रोसेसर से शुल्क लेता है. ऐसा, पहले बताए गए GoogleprovidedPaymentOptions के मुताबिक किया जाता है.

billingAddress PostalAddress

पेमेंट के लिए बिलिंग पता.

इस उदाहरण में GoogleProvidedPaymentInstrument एलिमेंट दिखाया गया है:

उदाहरण

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

GoogleProvidedPaymentOptions

Google की ओर से दिए गए पैसे चुकाने के तरीके से जुड़ी ज़रूरी शर्तें.

यहां दी गई टेबल में GoogleProvidedPaymentOptions टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
facilitationSpecification स्ट्रिंग

स्ट्रिंग के तौर पर 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
}

तीसरा उदाहरण

{
  "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 स्ट्रिंग

आपको Google Pay से जारी किया गया Google व्यापारी आईडी.

merchantName स्ट्रिंग

ज़रूरी है.

व्यापारी/कंपनी का नाम, UTF-8 कोड में बदला गया है. पेमेंट शीट में व्यापारी/कंपनी का नाम दिख रहा है.

OnFulfillmentPaymentData

इस ऑब्जेक्ट का इस्तेमाल करके, PaymentType "ON_FULFILLMENT" के लिए ज़्यादा डेटा भेजें.

यहां दी गई टेबल में OnFulfillmentPaymentData टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
supportedPaymentOptions सूची<PaymentOptionsEnums>

ऑर्डर पूरा करते समय, उपयोगकर्ता के लिए उपलब्ध पेमेंट के विकल्पों की सूची.

इस उदाहरण में OnFulfillmentPaymentData एलिमेंट दिखाया गया है:

उदाहरण

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

पैरामीटर

TokenizationParameters से जुड़े टाइप बताता है.

यहां दी गई टेबल में Parameters टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
gateway स्ट्रिंग

ज़रूरी है.

उदाहरण: braintree

gatewayMerchantId स्ट्रिंग
[additionalKey: string] स्ट्रिंग अतिरिक्त की-वैल्यू पेयर

इस उदाहरण में 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 कॉन्सटेंट

ज़रूरी है.

एपीआई का मुख्य वर्शन.

मान: 2

apiVersionMinor कॉन्सटेंट

ज़रूरी है.

माइनर एपीआई वर्शन.

मान: 0

merchantInfo MerchantInfo

ज़रूरी है.

(Google Pay मर्चेंट आईडी) पेमेंट डेटा का अनुरोध करने वाले व्यापारी की जानकारी.

allowedPaymentMethods सूची<PaymentMethod>

ज़रूरी है.

Google Pay API पर काम करने वाले, पैसे चुकाने के एक या उससे ज़्यादा तरीकों के बारे में बताता है.

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 स्ट्रिंग

ज़रूरी है.

रसीद पर दिखाने के लिए, पैसे चुकाने के तरीके का उपयोगकर्ता को दिखने वाला नाम.

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 टाइप की प्रॉपर्टी दी गई हैं:

प्रॉपर्टी टाइप जानकारी
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है.
googleProvidedOptions समूह 1 GoogleProvidedPaymentOptions

कार्रवाई देने के विकल्प के साथ म्यूचुअली एक्सक्लूसिव. 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\"}}"
  }
}

तीसरा उदाहरण

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

यह बताता है कि 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 स्ट्रिंग

ज़रूरी है.

ISO 4217 वर्णमाला से जुड़ा मुद्रा कोड.

transactionId स्ट्रिंग

यूनीक आईडी, जिससे लेन-देन की कोशिश की पहचान होती है. लेन-देन की कोशिश करने के लिए, व्यापारी/कंपनी/कारोबारी किसी मौजूदा आईडी का इस्तेमाल कर सकते हैं या कोई खास आईडी जनरेट कर सकते हैं. Google Transaction Events API को कॉलबैक भेजते समय, इस फ़ील्ड की ज़रूरत होती है.

totalPriceStatus कॉन्सटेंट

ज़रूरी है.

डिफ़ॉल्ट रूप से "अनुमानित" इस्तेमाल करें. कुल कीमत, रिस्पॉन्स से मिली जानकारी के आधार पर अडजस्ट हो सकती है. जैसे, बिलिंग पते के आधार पर इकट्ठा किया गया सेल्स टैक्स.

मान: ESTIMATED

totalPrice स्ट्रिंग

ज़रूरी है.

दो दशमलव स्थानों का वैकल्पिक दशमलव सटीक लेन-देन का कुल आर्थिक मूल्य. इस फ़ील्ड की वैल्यू,cart.totalPrice के बराबर होनी चाहिए.

इस उदाहरण में TransactionInfo एलिमेंट दिखाया गया है:

उदाहरण

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