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

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

बेस टाइप

कार्ट

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

नीचे दी गई टेबल में, Cart टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
@type कॉन्सटेंट

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

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

id String

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

merchant Merchant

इस कार्ट से जुड़ा कारोबारी.

lineItems सूची<LineItem>

ज़रूरी है.

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

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

promotions सूची<Promotion>

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

notes String

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

extension FoodCartExtension

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

यहां दिए गए उदाहरण में, Cart एलिमेंट दिखाया गया है:

उदाहरण 1

{
  "@type": "type.googleapis.com/google.actions.v2.orders.Cart",
  "merchant": {
    "id": "https://www.exampleprovider.com/merchant/id1",
    "name": "Cucina Venti"
  },
  "lineItems": [
    {
      "name": "Sizzling Prawns Dinner",
      "type": "REGULAR",
      "id": "sample_item_offer_id_1",
      "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
      "quantity": 1,
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "16",
          "nanos": 750000000
        }
      },
      "subLines": [
        {
          "note": "Notes for this item."
        }
      ],
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
        "options": [
          {
            "id": "sample_addon_offer_id_1",
            "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
            "name": "Honey Mustard",
            "price": {
              "currencyCode": "USD"
            },
            "quantity": 1
          },
          {
            "id": "sample_addon_offer_id_2",
            "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
            "name": "BBQ Sauce",
            "price": {
              "currencyCode": "USD",
              "nanos": 500000000
            },
            "quantity": 1
          }
        ]
      }
    }
  ],
  "extension": {
    "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
    "fulfillmentPreference": {
      "fulfillmentInfo": {
        "delivery": {
          "deliveryTimeIso8601": "P0M"
        }
      }
    },
    "location": {
      "coordinates": {
        "latitude": 37.788783,
        "longitude": -122.41384
      },
      "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
      "zipCode": "94043",
      "city": "Mountain View",
      "postalAddress": {
        "regionCode": "US",
        "postalCode": "94043",
        "administrativeArea": "CA",
        "locality": "Mountain View",
        "addressLines": [
          "1350 Charleston Road"
        ]
      },
      "notes": "Gate code is #111"
    }
  }
}

उदाहरण 2

{
  "merchant": {
    "id": "https://www.exampleprovider.com/merchant/id1",
    "name": "Falafel Bite"
  },
  "lineItems": [
    {
      "name": "Pita Chips",
      "type": "REGULAR",
      "id": "sample_item_offer_id_1",
      "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
      "quantity": 1,
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "2",
          "nanos": 750000000
        }
      },
      "subLines": [
        {
          "note": "Notes for this item."
        }
      ],
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
        "options": [
          {
            "id": "sample_addon_offer_id_1",
            "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
            "name": "Honey Mustard",
            "price": {
              "currencyCode": "USD"
            },
            "quantity": 1
          },
          {
            "id": "sample_addon_offer_id_2",
            "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
            "name": "BBQ Sauce",
            "price": {
              "currencyCode": "USD",
              "nanos": 500000000
            },
            "quantity": 1
          }
        ]
      }
    },
    {
      "name": "Chicken Shwarma Wrap",
      "type": "REGULAR",
      "id": "sample_item_offer_id_2",
      "offerId": "https://www.exampleprovider.com/menu/item/offer/id2",
      "quantity": 1,
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "8"
        }
      },
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
      }
    },
    {
      "name": "Greek Salad",
      "type": "REGULAR",
      "id": "sample_item_offer_id_3",
      "offerId": "https://www.exampleprovider.com/menu/item/offer/id3",
      "quantity": 1,
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "9",
          "nanos": 990000000
        }
      },
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
      }
    },
    {
      "name": "Prawns Biryani",
      "type": "REGULAR",
      "id": "sample_item_offer_id_4",
      "offerId": "https://www.exampleprovider.com/menu/item/offer/id4",
      "quantity": 1,
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "15",
          "nanos": 990000000
        }
      },
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
      }
    }
  ],
  "extension": {
    "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
    "fulfillmentPreference": {
      "fulfillmentInfo": {
        "delivery": {
          "deliveryTimeIso8601": "P90M"
        }
      }
    },
    "location": {
      "coordinates": {
        "latitude": 37.788783,
        "longitude": -122.41384
      },
      "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
      "zipCode": "94043",
      "city": "Mountain View",
      "postalAddress": {
        "regionCode": "US",
        "postalCode": "94043",
        "administrativeArea": "CA",
        "locality": "Mountain View",
        "addressLines": [
          "1350 Charleston Road"
        ]
      },
      "notes": "Gate code is #111"
    }
  }
}

संपर्क

ऑर्डर पाने वाले व्यक्ति की जानकारी देता है. यह सिर्फ़ AppResponse.

नीचे दी गई टेबल में, Contact टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
displayName String

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

उदाहरण: Lovefood Ordering

email String

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

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

firstName String

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

उदाहरण: Lovefood

lastName String

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

उदाहरण: Ordering

phoneNumber String

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

उदाहरण: +16501234567

emailVerified बूलियन

यह बताता है कि ऑर्डर पाने वाले व्यक्ति ने अपने Google खाते से लॉग इन किया है या नहीं.

यहां दिए गए उदाहरण में, Contact एलिमेंट दिखाया गया है:

उदाहरण

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

CustomPushMessage

इसमें अनुरोध से जुड़ा OrderUpdate शामिल होता है.

नीचे दी गई टेबल में, CustomPushMessage टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
orderUpdate OrderUpdate

ज़रूरी है.

ऑर्डर के लिए अपडेट की गई जानकारी.

यहां दिए गए उदाहरण में, CustomPushMessage एलिमेंट दिखाया गया है:

उदाहरण

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

DeliveryInfo

नीचे दी गई टेबल में, DeliveryInfo टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
deliveryTimeIso8601 String

डिलीवरी का अनुमानित समय, ISO 8601 टाइम स्टैंप फ़ॉर्मैट में: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" या अवधि फ़ॉर्मैट: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". उदाहरण के लिए, PT90M 90 मिनट की अवधि दिखाता है. डिफ़ॉल्ट वैल्यू "PT0M" से पता चलता है कि डिलीवरी का पसंदीदा समय जल्द से जल्द है. रेफ़रंस: https://en.wikipedia.org/wiki/ISO_8601#Embedded_date_and_time_representations. चेकआउट के जवाब में, डिलीवरी का अनुमानित समय अपडेट करने के लिए इसका इस्तेमाल करें.

उदाहरण: PT90M

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

उदाहरण

{
  "deliveryTimeIso8601": "PT90M"
}

डिसक्लेमर

नीचे दी गई टेबल में, 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"
}

उदाहरण 3

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

उदाहरण 4

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

उदाहरण 5

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

छठा उदाहरण

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

गड़बड़ी

Error टाइप की वैल्यू ये हो सकती हैं:

  • CLOSED: रेस्टोरेंट ऑर्डर करते समय कारोबार के लिए बंद है.
  • NO_CAPACITY: सेवा देने की कोई तय सीमा नहीं है. उदाहरण के लिए, सबसे ज़्यादा समय की वजह से सेवा कुछ समय के लिए उपलब्ध नहीं है.
  • NO_COURIER_AVAILABLE: डिलीवरी कर्मचारी की संख्या सीमित होने की वजह से, ऑर्डर प्रोसेस नहीं किया जा सका.
  • REQUIREMENTS_NOT_MET: ऑर्डर स्वीकार करने की शर्तें पूरी नहीं की गई हैं. उदाहरण के लिए, बास्केट का कम से कम साइज़.
  • UNAVAILABLE_SLOT: DeliveryInfo या pickupInfo में बताए गए समय से पहले, ऑर्डर पूरा नहीं किया जा सकता.
  • OUT_OF_SERVICE_AREA: ऑर्डर को उपयोगकर्ता के पते पर डिलीवर नहीं किया जा सकता.
  • PROMO_EXPIRED: प्रमोशन की समयसीमा खत्म होने की वजह से, आवेदन नहीं किया जा सका.
  • PROMO_NOT_APPLICABLE: अगर प्रोमो कोड की कोई भी दूसरी गड़बड़ी ठीक नहीं होती, तो उसे लागू न कर पाने के सभी मामलों की जांच करने के लिए, एक सामान्य गड़बड़ी कोड दिया जाता है.
  • PROMO_NOT_RECOGNIZED: कूपन कोड की पहचान नहीं हो पाई.
  • PROMO_ORDER_INELIGIBLE: मौजूदा ऑर्डर इस कूपन की ज़रूरी शर्तें पूरी नहीं करता.
  • PROMO_USER_INELIGIBLE: मौजूदा उपयोगकर्ता इस कूपन को पाने की ज़रूरी शर्तें पूरी नहीं करता.
  • AVAILABILITY_CHANGED: आइटम अब उपलब्ध नहीं है या अनुरोध पूरा करने के लिए काफ़ी आइटम नहीं हैं.
  • INCORRECT_PRICE: शुल्क या कुल कीमत में गड़बड़ियां.
  • INVALID: LineItem, FulfillmentOption या प्रमोशन में अमान्य डेटा है.
  • 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.action.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".

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

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.action.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 String

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

उदाहरण: 39231093

offerId String

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

उदाहरण: 912835081

name String

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

उदाहरण: Honey Mustard

price Money
note String

विकल्प से जुड़ा नोट.

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 String

तब ज़रूरी है, जब error = "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "PRICE_CHANGED", "INVALID", or "NOT_FOUND".

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

description String

गड़बड़ी के बारे में जानकारी. यह जानकारी, संगठन में काम करने वाले लोगों के लिए है. यह उपयोगकर्ताओं को नहीं दिखेगी.

updatedPrice Money

तब ज़रूरी है, जब error = "PRICE_CHANGED".

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

availableQuantity Integer

तब ज़रूरी है, जब error = "INVALID", or "NOT_FOUND".

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

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

availableFulfillmentOptions सूची<FulfillmentOption>

ऑर्डर को पूरा करने के लिए उपलब्ध विकल्प दिखाता है.

optinForRemarketing बूलियन

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

यहां दिए गए उदाहरण में, FoodOrderExtension एलिमेंट दिखाया गया है:

उदाहरण 1

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

उदाहरण 2

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

FulfillmentOption

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

नीचे दी गई टेबल में, FulfillmentOption टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
offerId String

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

fulfillmentInfo FulfillmentOptionInfo

ज़रूरी है.

expiresAt आईएसओ टाइमस्टैंप

वह समय जब ग्राहक को आइटम भेजने के इस विकल्प की समयसीमा खत्म हो जाएगी.

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 String

ज़रूरी है.

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

LineItem

कार्ट के कॉन्टेंट (Cart.lineItems) या ऑर्डर (ProposedOrder.otherItems).

नीचे दी गई टेबल में, LineItem टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
id String

तब ज़रूरी है, जब type = "REGULAR".

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

name String

ज़रूरी है.

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

type LineItemType

ज़रूरी है.

quantity Integer

तब ज़रूरी है, जब type = "REGULAR".

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

description String

आइटम के बारे में जानकारी.

price Price

ज़रूरी है.

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

subLines सूची<SublineNote>

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

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

offerId String

तब ज़रूरी है, जब type = "REGULAR".

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

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

जगह

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

नीचे दी गई टेबल में, Location टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
coordinates Coordinates
formattedAddress String

जगह का पता दिखाएं.

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

postalAddress PostalAddress
zipCode String

उदाहरण: 90210

city String

शहर का नाम.

उदाहरण: Los Angeles

notes String

जगह के बारे में नोट, जैसे कि गेट कोड. इसमें 500 या उससे कम वर्ण होने चाहिए.

उदाहरण: Gate code is #111

यहां दिए गए उदाहरण में, Location एलिमेंट दिखाया गया है:

उदाहरण

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

व्यापारी

नीचे दी गई टेबल में, Merchant टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
id String

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

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

name String

ज़रूरी है.

कारोबारी का नाम, जो उपयोगकर्ता को दिखता है.

उदाहरण: Falafel Bite

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

उदाहरण

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

पैसे

नीचे दी गई टेबल में, Money टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
currencyCode String

ज़रूरी है.

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

उदाहरण: USD

units String

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

उदाहरण: 36

nanos Integer

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

उदाहरण: 730000000

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

उदाहरण 1

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

उदाहरण 2

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

क्रम

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

नीचे दी गई टेबल में, Order टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
finalOrder ProposedOrder

ज़रूरी है.

वह प्रस्तावित ऑर्डर जिसकी वजह से ऑर्डर दिया गया.

googleOrderId String

ज़रूरी है.

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

orderDate आईएसओ टाइमस्टैंप

ज़रूरी है.

ऑर्डर करने की तारीख और समय.

paymentInfo PaymentInfo

ज़रूरी है.

इस ऑर्डर के लिए पेमेंट से जुड़ी पेमेंट की जानकारी.

यहां दिए गए उदाहरण में, Order एलिमेंट दिखाया गया है:

उदाहरण

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

OrderUpdate

नीचे दी गई टेबल में, OrderUpdate टाइप के उन फ़ील्ड के बारे में बताया गया है जो AppResponse में शामिल है.

नीचे दी गई टेबल में, OrderUpdate टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
actionOrderId String

ज़रूरी है.

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

orderState OrderState

ज़रूरी है.

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

lineItemUpdates मैप<स्ट्रिंग, LineItemUpdate>
updateTime आईएसओ टाइमस्टैंप

ज़रूरी है.

वह समय जब ऑर्डर अपडेट किया गया था.

orderManagementActions सूची<OrderManagementAction>

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

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

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 String

पिकअप का अनुमानित समय, ISO 8601 टाइम स्टैंप फ़ॉर्मैट में: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" या अवधि फ़ॉर्मैट: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". उदाहरण के लिए, PT90M 90 मिनट की अवधि दिखाता है. डिफ़ॉल्ट वैल्यू "PT0M" से पता चलता है कि पिकअप का पसंदीदा समय जल्द से जल्द है. रेफ़रंस: https://en.wikipedia.org/wiki/ISO_8601#Embedded_date_and_time_representations. इसका इस्तेमाल करके, चेकआउट के दौरान पिक अप के अनुमानित समय को अपडेट करें.

उदाहरण: PT90M

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

उदाहरण

{
  "pickupTimeIso8601": "PT90M"
}

PostalAddress

नीचे दी गई टेबल में, PostalAddress टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
regionCode String

ज़रूरी है.

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

उदाहरण: US

postalCode String

पिन कोड.

उदाहरण: 94043

administrativeArea String

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

उदाहरण: CA

locality String

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

उदाहरण: Mountain View

addressLines सूची<String>

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

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

recipients सूची<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 String

ज़रूरी है.

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

ProposedOrder

नीचे दी गई टेबल में, ProposedOrder टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
id String

सुझाए गए ऑर्डर का वैकल्पिक आईडी.

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 String

ज़रूरी है.

टाइमस्टैंप

तारीख और समय, नीचे दिए गए फ़ॉर्मैट में: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"

TransactionDecisionValue

Order शामिल है.

नीचे दी गई टेबल में, TransactionDecisionValue टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
order Order

ज़रूरी है.

पेमेंट के तरीके की जानकारी के साथ ऑर्डर करना.

यहां दिए गए उदाहरण में, TransactionDecisionValue एलिमेंट दिखाया गया है:

उदाहरण

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

ऑर्डर पूरा करने का अनुरोध

AppRequest

नीचे दी गई टेबल में, AppRequest टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
isInSandbox बूलियन

यह बताता है कि बाद के लेन-देन सैंडबॉक्स एनवायरमेंट में किए गए हैं या नहीं.

conversation Conversation
inputs सूची<Input>

ज़रूरी है.

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

ठीक 1 आइटम होना चाहिए.

यहां दिए गए उदाहरण में, AppRequest एलिमेंट दिखाया गया है:

उदाहरण 1

{
  "isInSandbox": true,
  "inputs": [
    {
      "intent": "actions.foodordering.intent.CHECKOUT",
      "arguments": [
        {
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.Cart",
            "merchant": {
              "id": "https://www.exampleprovider.com/merchant/id1",
              "name": "Cucina Venti"
            },
            "lineItems": [
              {
                "name": "Sizzling Prawns Dinner",
                "type": "REGULAR",
                "id": "sample_item_offer_id_1",
                "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
                "quantity": 1,
                "price": {
                  "type": "ESTIMATE",
                  "amount": {
                    "currencyCode": "USD",
                    "units": "16",
                    "nanos": 750000000
                  }
                },
                "subLines": [
                  {
                    "note": "Notes for this item."
                  }
                ],
                "extension": {
                  "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
                  "options": [
                    {
                      "id": "sample_addon_offer_id_1",
                      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                      "name": "Honey Mustard",
                      "price": {
                        "currencyCode": "USD"
                      },
                      "quantity": 1
                    },
                    {
                      "id": "sample_addon_offer_id_2",
                      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
                      "name": "BBQ Sauce",
                      "price": {
                        "currencyCode": "USD",
                        "nanos": 500000000
                      },
                      "quantity": 1
                    }
                  ]
                }
              }
            ],
            "extension": {
              "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
              "fulfillmentPreference": {
                "fulfillmentInfo": {
                  "delivery": {
                    "deliveryTimeIso8601": "P0M"
                  }
                }
              },
              "location": {
                "coordinates": {
                  "latitude": 37.788783,
                  "longitude": -122.41384
                },
                "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
                "zipCode": "94043",
                "city": "Mountain View",
                "postalAddress": {
                  "regionCode": "US",
                  "postalCode": "94043",
                  "administrativeArea": "CA",
                  "locality": "Mountain View",
                  "addressLines": [
                    "1350 Charleston Road"
                  ]
                },
                "notes": "Gate code is #111"
              }
            }
          }
        }
      ]
    }
  ]
}

उदाहरण 2

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

CheckoutRequestMessage

CheckoutRequestMessage एक AppRequest है actions.foodordering.intent.CHECKOUT इंटेंट के साथ.

SubmitOrderRequestMessage

SubmitOrderRequestMessage एक AppRequest है actions.foodordering.intent.TRANSACTION_DECISION इंटेंट के साथ.

बातचीत

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

नीचे दी गई टेबल में, Conversation टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
conversationId String

ज़रूरी है.

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

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

उदाहरण

{
  "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ"
}

इनपुट

किसी कार्ट की जांच करने के लिए अनुमानित तर्क.

नीचे दी गई टेबल में, Input टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
intent Enum [ "actions.foodordering.intent.CHECKOUT", "actions.intent.TRANSACTION_DECISION" ]

ज़रूरी है.

"action.foodordering.intent.Checkout" पर सेट करें चेकआउट के अनुरोध वाले मैसेज या "action.intent.हूं सीखने_DEISION" के लिए का इस्तेमाल करें.

arguments सूची<Argument>

ज़रूरी है.

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

ठीक 1 आइटम होना चाहिए.

आर्ग्यूमेंट

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

नीचे दी गई टेबल में, 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"
              }
            }
          }
        }
      ]
    }
  }
}

उदाहरण 3

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

उदाहरण 4

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

CheckoutResponseMessage

CheckoutResponseMessage, एक AppResponse है, जो एक checkoutResponse या error को StructuredResponse.

SubmitOrderResponseMessage

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

FinalResponse

कार्ट चेकआउट याSubmitOrderRequestMessage के लिए आपका जवाब.

नीचे दी गई टेबल में, FinalResponse टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
richResponse RichResponse

ज़रूरी है.

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

CheckoutResponse

नीचे दी गई टेबल में, CheckoutResponse टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
proposedOrder ProposedOrder

ज़रूरी है.

लेन-देन के लिए इस्तेमाल किया जाने वाला प्रस्तावित ऑर्डर.

paymentOptions PaymentOptions

ज़रूरी है.

उपयोगकर्ता के लिए, पेमेंट का डिफ़ॉल्ट विकल्प चुना गया.

additionalPaymentOptions सूची<PaymentOptions>

उपयोगकर्ता के लिए पेमेंट के दूसरे विकल्प उपलब्ध हैं.

यहां दिए गए उदाहरण में, CheckoutResponse एलिमेंट दिखाया गया है:

उदाहरण

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

आइटम

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

नीचे दी गई टेबल में, Item टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
structuredResponse StructuredResponse

ज़रूरी है.

RichResponse

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

नीचे दी गई टेबल में, RichResponse टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
items सूची<Item>

ज़रूरी है.

ठीक 1 आइटम होना चाहिए.

StructuredResponse

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

नीचे दी गई टेबल में, StructuredResponse टाइप की प्रॉपर्टी की सूची दी गई है:

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

आइटम, टैक्स, और छूट की जानकारी.

error समूह 2 FoodErrorExtension

कार्ट आइटम में पाई गई गड़बड़ियां. गड़बड़ी किस तरह की है, इस आधार पर इस प्रॉपर्टी में सही किया गया AfterOrder और PaymentOptions या बिना किसी PaymentOptions वाला गड़बड़ी का मैसेज शामिल हो सकता है.

orderUpdate समूह 3 OrderUpdate

एसिंक्रोनस ऑर्डर अपडेट

इस सेक्शन में उन हाई-लेवल टाइप के बारे में बताया गया है जिनसे अनुरोध किए जाते हैं और खाने का ऑर्डर देने की सुविधा में पहले से मौजूद किसी इंटरैक्शन के जवाब देना.

AsyncOrderUpdateRequestMessage

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

नीचे दी गई टेबल में, AsyncOrderUpdateRequestMessage टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
isInSandbox बूलियन

इससे पता चलता है कि जिस ऑर्डर के लिए यह अपडेट भेजा गया था वह सैंडबॉक्स पेमेंट के तौर पर किया गया है.

customPushMessage CustomPushMessage

ज़रूरी है.

इसमें अनुरोध के लिए OrderUpdate शामिल होता है.

यहां दिए गए उदाहरण में, AsyncOrderUpdateRequestMessage एलिमेंट दिखाया गया है:

उदाहरण

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

AsyncOrderUpdateResponseMessage

AsyncOrderUpdateRequestMessage भेजने के बाद, Google जवाब देता है जिसमें HTTP 200 स्थिति और एक खाली मुख्य भाग हो. अगर अपडेट पूरा नहीं हो पाता है, Google इस बारे में जवाब देता है कि ऑर्डर अपडेट क्यों नहीं हो सका.

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

बटन

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

नीचे दी गई टेबल में, Button टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
title String

ज़रूरी है.

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

उदाहरण: Contact us

openUrlAction OpenUrlAction

ज़रूरी है.

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

उदाहरण

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

CancellationInfo

नीचे दी गई टेबल में, CancellationInfo टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
reason String

ज़रूरी है.

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

उदाहरण: Restaurant closed

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

उदाहरण

{
  "reason": "Insufficient inventory"
}

FoodOrderUpdateExtension

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

ग्राहक को आइटम भेजने के अंतराल का एक सटीक अनुमान दें, ताकि उपयोगकर्ता उम्मीदें लगातार पूरी की जाती हैं. उदाहरण के लिए, अगर ऑर्डर आज 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 String

वह अनुमानित समय जब ऑर्डर डिलीवर हो जाएगा या वह पिक अप के लिए तैयार होगा. स्ट्रिंग ISO 8601 फ़ॉर्मैट में होनी चाहिए. साथ ही, यह एक तय समय के बजाय, इंटरवल से जुड़ी होनी चाहिए. स्वीकार किए जाने वाले कन्वेंशन ये हैं: इंटरवल, कुल समय, और तारीख/समय. जानकारी उपलब्ध होने या आइटम के देर से डिलीवर होने या उसमें किसी तरह का बदलाव होने पर, इस फ़ील्ड को SendOrderResponseMessage या 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 आईएसओ टाइमस्टैंप

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

pickupTime समूह 2 आईएसओ टाइमस्टैंप

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

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

उदाहरण 1

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

उदाहरण 2

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

InTransitInfo

नीचे दी गई टेबल में, InTransitInfo टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
updatedTime आईएसओ टाइमस्टैंप

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

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

उदाहरण

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

LineItemUpdate

नीचे दी गई टेबल में, LineItemUpdate टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
orderState OrderState
price Price
reason String

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

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

उदाहरण

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

OpenUrlAction

नीचे दी गई टेबल में, OpenUrlAction टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
url String

ज़रूरी है.

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

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

OrderManagementAction

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

उदाहरण के लिए, "CREATED" CUSTOMER_SERVICE आपका ग्राहक सहायता का टेलीफ़ोन नंबर. इसके बाद, "पुष्टि की गई" बॉक्स में राज्य, CUSTOMER_SERVICE का सबसे अच्छा विकल्प चुनने पर, रेस्टोरेंट के टेलीफ़ोन पर ग्राहक के लिए संपर्क करें. इसी तरह, जब ऑर्डर "FULFILLED" में हो राज्य, CUSTOMER_SERVICE आपके सहायता ईमेल पतों का संदर्भ दे सकता है.

नीचे दी गई टेबल में, OrderManagementAction टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
type OrderManagementActionType

ज़रूरी है.

button Button

ज़रूरी है.

यहां दिए गए उदाहरण में, OrderManagementAction एलिमेंट दिखाया गया है:

उदाहरण 1

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

उदाहरण 2

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

OrderManagementActionType

OrderManagementAction से जुड़े टाइप के बारे में बताता है.

OrderManagementActionType टाइप की वैल्यू ये हो सकती हैं:

  • CUSTOMER_SERVICE: ऑर्डर की पुष्टि करने वाले पेज पर दिखाया जाने वाला ईमेल और/या ग्राहक सेवा का संपर्क नंबर. ऐसा करना ज़रूरी है. OpenUrlAction.url प्रीफ़िक्स "mailto", "tel", "http" या "https" होना चाहिए.
  • EMAIL: सिर्फ़ ऑर्डर की ज़्यादा जानकारी वाले पेज पर ईमेल कार्रवाई. OpenUrlAction.url प्रीफ़िक्स "mailto" होना चाहिए.
  • CALL_DRIVER: सिर्फ़ ऑर्डर की ज़्यादा जानकारी वाले पेज पर कॉल ऐक्शन. OpenUrlAction.url प्रीफ़िक्स "tel" होना चाहिए.
  • CALL_RESTAURANT: सिर्फ़ ऑर्डर की ज़्यादा जानकारी वाले पेज पर कॉल ऐक्शन. OpenUrlAction.url प्रीफ़िक्स "tel" होना चाहिए.

OrderState

ऑर्डर की मौजूदा स्थिति. OrderState की हर state वैल्यू भी इस पर खरीदारी की स्थिति को दिखाता है myaccount.google.com.

नीचे दी गई टेबल में, OrderState टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
state OrderStateEnum

ज़रूरी है.

label String

ज़रूरी है.

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

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

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

उदाहरण

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

OrderStateEnum

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

OrderStateEnum टाइप की वैल्यू ये हो सकती हैं:

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

रसीद

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

नीचे दी गई टेबल में, Receipt टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
userVisibleOrderId String

ज़रूरी है.

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

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

उदाहरण

{
  "userVisibleOrderId": "userVisibleId1234"
}

RejectionInfo

नीचे दी गई टेबल में, RejectionInfo टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
type RejectionType

ज़रूरी है.

reason String

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

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

उदाहरण

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

RejectionType

RejectionType टाइप की वैल्यू ये हो सकती हैं:

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

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

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

ActionProvidedPaymentOptions

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

नीचे दी गई टेबल में, ActionProvidedPaymentOptions टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
paymentType PaymentType

ज़रूरी है.

displayName String

ज़रूरी है.

रसीद पर दिए गए, पेमेंट के तरीके का नाम.

उदाहरण: Taco Points Total

onFulfillmentPaymentData OnFulfillmentPaymentData

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

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

उदाहरण

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

AllowedAuthMethods

AllowedAuthMethods टाइप की वैल्यू ये हो सकती हैं:

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

AllowedCardNetworks

AllowedCardNetworks टाइप की वैल्यू ये हो सकती हैं:

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

BillingAddressParameters

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

नीचे दी गई टेबल में, BillingAddressParameters टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
format String

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

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

उदाहरण 1

{
  "format": "MIN"
}

उदाहरण 2

{
  "format": "FULL"
}

CardParameters

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

नीचे दी गई टेबल में, CardParameters टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
allowedAuthMethods सूची<कॉन्सट>

ज़रूरी है.

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

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

allowedCardNetworks सूची<AllowedCardNetworks>

ज़रूरी है.

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

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

billingAddressRequired बूलियन

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

billingAddressParameters BillingAddressParameters

अगर billingAddressज़रूरी को 'सही' पर सेट किया गया है, तो आपको संभावित फ़ील्ड दिखाई देंगे.

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 String

ज़रूरी है.

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

billingAddress PostalAddress

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

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

उदाहरण

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

GoogleProvidedPaymentOptions

Google की ओर से दिए गए पेमेंट के तरीके के लिए ज़रूरी शर्तें.

नीचे दी गई टेबल में, GoogleProvidedPaymentOptions टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
facilitationSpecification String

स्ट्रिंग के तौर पर PaymentDataRequest JSON. इस ऑब्जेक्ट का इस्तेमाल, Google Pay API के साथ अपनी साइट से जुड़ी सहायता को कॉन्फ़िगर करने के लिए करें.

supportedCardNetworks सूची<SupportedCardNetworks>

इसके बजाय, facilitationSpecification का इस्तेमाल करें. एजेंट के साथ काम करने वाले कार्ड नेटवर्क के टाइप.

यह फ़ील्ड काम नहीं करता है.

prepaidCardDisallowed बूलियन

इसके बजाय, facilitationSpecification का इस्तेमाल करें. पेमेंट टाइप के तौर पर प्रीपेड कार्ड की अनुमति है या नहीं.

यह फ़ील्ड काम नहीं करता है.

billingAddressRequired बूलियन

इसके बजाय, facilitationSpecification का इस्तेमाल करें. बिलिंग पते की ज़रूरत है या नहीं.

यह फ़ील्ड काम नहीं करता है.

tokenizationParameters TokenizationParameters

यह फ़ील्ड काम नहीं करता है.

यहां दिए गए उदाहरण में, GoogleProvidedPaymentOptions एलिमेंट दिखाया गया है:

उदाहरण 1

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

उदाहरण 2

{
  "tokenizationParameters": {
    "tokenizationType": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "braintree",
      "braintree:apiVersion": "v1",
      "braintree:sdkVersion": "1.4.0",
      "braintree:merchantId": "a1b2c3d4e5",
      "braintree:clientKey": "production_braintree_client_key",
      "braintree:authorizationFingerprint": "same_as_client_key"
    }
  },
  "supportedCardNetworks": [
    "AMEX",
    "DISCOVER",
    "MASTERCARD",
    "JCB",
    "VISA"
  ],
  "prepaidCardDisallowed": true
}

उदाहरण 3

{
  "tokenizationParameters": {
    "tokenizationType": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "stripe",
      "stripe:publishableKey": "pk_live_stripe_client_key",
      "stripe:version": "2017-04-06"
    }
  },
  "supportedCardNetworks": [
    "AMEX",
    "DISCOVER",
    "MASTERCARD",
    "VISA",
    "JCB"
  ],
  "prepaidCardDisallowed": true,
  "billingAddressRequired": true
}

MerchantInfo

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

नीचे दी गई टेबल में, MerchantInfo टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
merchantId String

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

merchantName String

ज़रूरी है.

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

OnFulfillmentPaymentData

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

नीचे दी गई टेबल में, OnFulfillmentPaymentData टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
supportedPaymentOptions सूची<PaymentOptionsEnums>

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

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

उदाहरण

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

पैरामीटर

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

नीचे दी गई टेबल में, Parameters टाइप की प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी टाइप ब्यौरा
gateway String

ज़रूरी है.

उदाहरण: braintree

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

यहां दिए गए उदाहरण में, 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 String

ज़रूरी है.

रसीद पर पैसे चुकाने के तरीके का दिखने वाला नाम.

paymentType PaymentType

ज़रूरी है.

googleProvidedPaymentInstrument GoogleProvidedPaymentInstrument

कार्रवाई के लिए इस्तेमाल किया जा सकने वाला टोकन. इसे केवल तभी बताएं, अगर आपने CheckoutResponseMessage में GoogleProviderdPaymentOptions को भुगतान विकल्प के रूप में चुना है.

यहां दिए गए उदाहरण में, 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

actionAvailabledOptions के साथ म्यूचुअली एक्सक्लूसिव. GPay से ऑनलाइन पेमेंट करने के लिए, इसका इस्तेमाल करें.

actionProvidedOptions समूह 2 ActionProvidedPaymentOptions

googleProviderdOptions के साथ म्यूचुअली एक्सक्लूसिव. "डिलीवरी पर नकद पैसे" की सुविधा के लिए इसका इस्तेमाल करें या "ग्राहक को आइटम भेजने पर पैसे चुकाएं".

यहां दिए गए उदाहरण में, PaymentOptions एलिमेंट दिखाया गया है:

उदाहरण 1

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

उदाहरण 2

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

उदाहरण 3

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

PaymentOptionsEnums

PaymentOptionsEnums टाइप की वैल्यू ये हो सकती हैं:

  • Cash
  • Card
  • UPI
  • Paytm

PaymentType

PaymentType टाइप की वैल्यू ये हो सकती हैं:

  • PAYMENT_CARD: Google ProviderdPaymentOptions के लिए.
  • ON_FULFILLMENT: Action PaymentdPaymentOptions के लिए.

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 String

ज़रूरी है.

ISO 4217 अक्षर के साथ मुद्रा कोड.

transactionId String

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

totalPriceStatus कॉन्सटेंट

ज़रूरी है.

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

मान: ESTIMATED

totalPrice String

ज़रूरी है.

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

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

उदाहरण

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