बेस टाइप
कार्ट
इसमें ऑर्डर की जानकारी के साथ-साथ यह जानकारी भी शामिल होती है कि अनुरोध, पिकअप के लिए है या डिलीवरी के लिए. कार्ट में डिलीवरी की जानकारी, उपहार में दी जाने वाली रकम, और डिलीवरी के पते की जानकारी भी शामिल होती है.Cart
ऑब्जेक्ट को Checkout AppRequest
.f में तय किया गया है
आपने अपने Checkout AppResponse
में कार्ट की कॉपी शामिल की है
नीचे दी गई टेबल में, Cart
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
@type |
Const |
इस ऑब्जेक्ट का टाइप. अगर पैरंट कार्ट ऑब्जेक्ट, ProposedOrder का हिस्सा है, तो इस फ़ील्ड को शामिल न करें. मान: |
|
id |
String |
कार्ट का आईडी, जो देना ज़रूरी नहीं है. |
|
merchant |
Merchant |
इस कार्ट से जुड़ा व्यापारी/कंपनी. |
|
lineItems |
List<LineItem > |
ज़रूरी है. उन सामान या सेवाओं की सूची जिन्हें उपयोगकर्ता ऑर्डर कर रहा है. इसमें कम से कम एक आइटम होना चाहिए. |
|
promotions |
List<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 फ़ील्ड में कोई जानकारी नहीं दी गई है, तो इस फ़ील्ड का इस्तेमाल करें. उदाहरण: |
|
email |
String |
ऑर्डर पाने वाले व्यक्ति का ईमेल पता. उदाहरण: |
|
firstName |
String |
ऑर्डर पाने वाले व्यक्ति का नाम. उदाहरण: |
|
lastName |
String |
ऑर्डर पाने वाले व्यक्ति का सरनेम. उदाहरण: |
|
phoneNumber |
String |
ऑर्डर पाने वाले व्यक्ति का फ़ोन नंबर, जिसमें देश का कोड भी शामिल हो. उदाहरण: |
|
emailVerified |
बूलियन |
इससे पता चलता है कि ऑर्डर पाने वाले व्यक्ति ने अपने Google खाते से लॉग इन किया है या नहीं. |
इस उदाहरण में Contact
एलिमेंट दिखाया गया है:
उदाहरण
{ "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" }
CustomPushMessage
इसमें अनुरोध के लिएOrderUpdate
शामिल होता है.
नीचे दी गई टेबल में, CustomPushMessage
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
orderUpdate |
OrderUpdate |
ज़रूरी है. ऑर्डर की अपडेट की गई जानकारी. |
इस उदाहरण में CustomPushMessage
एलिमेंट दिखाया गया है:
उदाहरण
{ "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } }
DeliveryInfo
नीचे दी गई टेबल में, DeliveryInfo
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
deliveryTimeIso8601 |
String |
डिलीवरी में लगने वाला अनुमानित समय, ISO 8601 टाइमस्टैंप फ़ॉर्मैट में: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" या कुल समय के फ़ॉर्मैट में: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". उदाहरण के लिए, PT90M का मतलब है कि वीडियो 90 मिनट का है. डिफ़ॉल्ट वैल्यू ,"PT0M" से पता चलता है कि डिलीवरी का पसंदीदा समय, जितनी जल्दी हो सके. रेफ़रंस: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations. चेकआउट के दौरान, डिलीवरी में लगने वाले अनुमानित समय को अपडेट करने के लिए इसका इस्तेमाल करें. उदाहरण: |
इस उदाहरण में 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
: कोई लाइन आइटम, फ़ुलफ़िलमेंट का विकल्प या प्रमोशन नहीं मिला.PRICE_CHANGED
: किसी आइटम की कीमत बदल गई है.
FeeAmountRange
नीचे दी गई टेबल में, FeeAmountRange
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
minFeeAmount |
Money |
शुल्क की तय की गई रकम की निचली सीमा.. |
|
maxFeeAmount |
Money |
शुल्क की ऊपरी सीमा.. |
FeePercentRange
नीचे दी गई टेबल में, FeePercentRange
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
minFeePercent |
Number |
शुल्क के प्रतिशत की निचली सीमा. |
|
maxFeePercent |
Number |
शुल्क के प्रतिशत की ऊपरी सीमा. |
FoodCartExtension
इसमें उपयोगकर्ता के बारे में जानकारी होती है, जैसे कि ऑर्डर पूरा करने की प्राथमिकताएं.
नीचे दी गई टेबल में, FoodCartExtension
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
@type |
Const |
इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "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 |
Const | ज़रूरी है. इस एक्सटेंशन का टाइप. मान: |
|
foodOrderErrors |
List<FoodOrderError > |
ज़रूरी है. FoodOrderError ऑब्जेक्ट का कलेक्शन, जिसमें हुई गड़बड़ियों के बारे में बताया गया है. हमारा सुझाव है कि हर कार्ट या हर आइटम के लिए एक गड़बड़ी हो. इसमें कम से कम एक आइटम होना चाहिए. |
|
correctedProposedOrder |
ProposedOrder |
यह तब ज़रूरी है, जब
सुधारों के साथ नया ProposedOrder. अगर मूल ProposedOrder में ऐसी गड़बड़ियां हैं जिन्हें ठीक किया जा सकता है, तो यह ऑब्जेक्ट दिखाएं. उदाहरण के लिए, कार्ट में मौजूद एक या उससे ज़्यादा लाइन आइटम की कीमत में बदलाव होने पर, गड़बड़ी को ठीक किया जा सकता है. मान्य ProposedOrder वाली त्रुटियों को ठीक किया जा सकता है. इसलिए, उपयोगकर्ता को अपने कार्ट की समीक्षा करने के बजाय, पुष्टि करने के चरण पर भेजा जाता है. |
|
paymentOptions |
PaymentOptions |
यह तब ज़रूरी है, जब
उपयोगकर्ता के लिए चुने गए पेमेंट के डिफ़ॉल्ट विकल्प. |
|
additionalPaymentOptions |
List<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 |
Const | ज़रूरी है. इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" पर सेट रहता है. मान: |
|
options |
List<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 वाले एक से ज़्यादा आइटम हैं. उदाहरण: |
|
offerId |
String |
आइटम के लिए ऑफ़र आईडी. उदाहरण: |
|
name |
String |
विकल्प का नाम. उदाहरण: |
|
price |
Money |
||
note |
String |
विकल्प से जुड़ा नोट. |
|
quantity |
Number |
आइटम के तौर पर दिए गए विकल्पों के लिए, आइटम की संख्या. उदाहरण: |
|
subOptions |
List<FoodItemOption > |
अगर कोई विकल्प है, तो उसके लिए सब-विकल्प. उदाहरण: |
इस उदाहरण में 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 | यह तब ज़रूरी है, जब
आइटम-लेवल की गड़बड़ियों के लिए, यह फ़ील्ड भरना ज़रूरी है. यह मेन्यू आइटम के लिए, Google से असाइन किया गया LineItem.id या ऐड-ऑन के लिए FoodItemOption.id है. |
|
description |
String |
गड़बड़ी की जानकारी. यह ब्यौरा, संगठन के लोगों के लिए लॉगिंग के मकसद से दिया जाता है. यह उपयोगकर्ताओं को नहीं दिखता. |
|
updatedPrice |
Money |
यह तब ज़रूरी है, जब
उस आइटम की नई कीमत जिसकी वजह से गड़बड़ी हुई. इसकी ज़रूरत सिर्फ़ तब होती है, जब गड़बड़ी "PRICE_CHANGED" हो. |
|
availableQuantity |
Integer | यह तब ज़रूरी है, जब
उस आइटम की नई उपलब्ध संख्या जिसकी वजह से गड़बड़ी हुई. यह सिर्फ़ तब ज़रूरी है, जब गड़बड़ी "INVALID" या "NOT_FOUND" हो. "INVALID" और "NOT_FOUND" के लिए वैल्यू शून्य होनी चाहिए. |
इस उदाहरण में FoodOrderError
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "error": "CLOSED", "description": "This store is currently reachable. Please try again later." }
उदाहरण 2
{ "error": "PRICE_CHANGED", "id": "french_fries", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }
FoodOrderExtension
इसमें ऑर्डर की डिलीवरी से जुड़ी जानकारी होती है.
नीचे दी गई टेबल में, FoodOrderExtension
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
@type |
Const |
इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension" पर सेट रहता है. मान: |
|
availableFulfillmentOptions |
List<FulfillmentOption > |
ऑर्डर के लिए, प्रॉडक्ट की डिलीवरी के उपलब्ध विकल्प दिखाता है. |
|
optinForRemarketing |
बूलियन |
उपयोगकर्ता का आपके मार्केटिंग चैनलों में ऑप्ट-इन करने का अनुरोध. डिफ़ॉल्ट रूप से, उपयोगकर्ता की सहमति के बिना मार्केटिंग कॉन्टेंट नहीं भेजा जा सकता. अगर optinForRemarketing सही है, तो उपयोगकर्ता की सदस्यता ली जा सकती है. अगर optinForRemarketing की वैल्यू 'गलत है' है या यह मौजूद नहीं है, तो आपको अपने सिस्टम में सदस्यता की स्थिति को पहले जैसा ही रखना होगा. उपयोगकर्ता, 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
: डिलीवरी के एक या उससे ज़्यादा विकल्पों के बारे में बताता है (फ़िलहाल, सिर्फ़ एक विकल्प काम करता है). आपने डिफ़ॉल्ट विकल्प कोProposedOrder.otherItems
मेंLineItem
के तौर पर तय किया है.FulfillmentOption
काofferId
,ProposedOrder.otherItems
में बताए गएLineItem
के आईडी से मेल खाना चाहिए.
नीचे दी गई टेबल में, FulfillmentOption
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
offerId |
String |
अगर ऑर्डर पूरा करने के लिए कोई विकल्प चुना गया है, तो उसके लिए यूनीक आइडेंटिफ़ायर. |
|
fulfillmentInfo |
FulfillmentOptionInfo |
ज़रूरी है. |
|
expiresAt |
ISO टाइमस्टैंप |
ऑर्डर पूरा करने के लिए चुने गए इस विकल्प की समयसीमा खत्म होने का समय. |
|
price |
Money |
इस विकल्प की कीमत. |
इस उदाहरण में FulfillmentOption
एलिमेंट दिखाया गया है:
उदाहरण
{ "offerId": "offer5", "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2019-05-02T00:00:00-07:00", "price": { "currencyCode": "USD", "units": "5", "nanos": 230000000 } }
FulfillmentOptionInfo
FulfillmentInfo
से जुड़ी जानकारी तय करता है.
नीचे दी गई टेबल में, FulfillmentOptionInfo
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
प्रॉपर्टी के इनमें से किसी एक ग्रुप का होना ज़रूरी है. | |||
delivery |
ग्रुप 1 | DeliveryInfo |
अगर मौजूद है, तो डिलीवरी ऑर्डर के बारे में बताता है. |
pickup |
ग्रुप 2 | PickupInfo |
अगर यह मौजूद है, तो इसका मतलब है कि पिकअप का ऑर्डर दिया गया है. |
इमेज
नीचे दी गई टेबल में, Image
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
sourceUrl |
String | ज़रूरी है. इमेज का यूआरएल. इमेज का साइज़ कम से कम 72x72 पिक्सल होना चाहिए. बेहतर नतीजे पाने के लिए, कम से कम 216 x 216 पिक्सल की इमेज का इस्तेमाल करें. इमेज का साइज़ 6 एमबी और 64 मेगापिक्सल से कम होना चाहिए. |
LineItem
इससे कार्ट (Cart.lineItems
) के कॉन्टेंट या ऑर्डर (ProposedOrder.otherItems
) के लिए अतिरिक्त शुल्कों के बारे में पता चलता है.
नीचे दी गई टेबल में, LineItem
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
id |
String | यह तब ज़रूरी है, जब
कार्ट में मौजूद किसी लाइन आइटम (ProposedOrder.cart.lineItems[0].id) के लिए, यह Google का बनाया हुआ यूनीक आईडी होता है. ProposedOrder (ProposedOrder.otherItems[0].id) में मौजूद लाइन आइटम के लिए, आईडी की वैल्यू सेवा देने वाली कंपनी तय करती है. इसका इस्तेमाल, डिलीवरी शुल्क और टैक्स जैसे आइटम जोड़ने के लिए किया जाता है. उदाहरण के लिए, अगर कार्ट में एक जैसे दो आइटम हैं और उन्हें तैयार करने के तरीके अलग-अलग हैं, तो उन आइटम के लिए अलग-अलग प्रॉडक्ट आईडी बनाए जाएंगे. जैसे, टॉपिंग के अलग-अलग सेट वाले दो मीडियम पिज़्ज़ा. इस मामले में, दोनों आइटम का बेस offerId एक ही है. जब किसी आइटम को अस्वीकार किए जाने की जानकारी देने के लिए, ऑर्डर अपडेट करने का अनुरोध भेजा जाता है, तो इस आईडी का इस्तेमाल, अलग-अलग चीज़ों को अलग-अलग बताने वाले शब्द के तौर पर करें. दूसरे शब्दों में, अगर किसी पिज़्ज़ा को अस्वीकार कर दिया जाता है, क्योंकि उसमें कोई खास टॉपिंग नहीं है, तो आईडी की मदद से Google यह तय कर पाता है कि ऑर्डर में किस आइटम की बात की जा रही है. otherItems को छोड़कर, इस फ़ील्ड को भरना ज़रूरी है. |
|
name |
String | ज़रूरी है. लाइन आइटम का नाम. यह उपयोगकर्ता को दिखने वाली स्ट्रिंग है. अगर हो सके, तो इसे वाक्य के केस में लिखें. जैसे, "डिलीवरी शुल्क", "सेवा शुल्क", "टैक्स". उपयोगकर्ताओं के लिए, इस फ़ील्ड में 100 से ज़्यादा वर्ण नहीं हो सकते. |
|
type |
LineItemType |
ज़रूरी है. |
|
quantity |
Integer | यह तब ज़रूरी है, जब
शामिल किए गए आइटम की संख्या. यह ProposedOrder.otherItems पर लागू नहीं होता. |
|
description |
String |
आइटम की जानकारी. |
|
price |
Price |
ज़रूरी है. आइटम या आइटम की कीमत. इस वैल्यू से, इस लाइन आइटम के लिए सभी सामान या सेवाओं की कुल कीमत का पता चलता है. दूसरे शब्दों में, किसी भी ऐड-ऑन की कीमत जोड़ें और संख्या से गुणा करें. उदाहरण के लिए: अगर 10 डॉलर वाले आइटम की संख्या तीन है, तो कीमत 30 डॉलर होगी. अगर किसी पिज़्ज़ा की बुनियादी कीमत 50 रुपये और ऐड-ऑन की कीमत 10 रुपये है, तो उसकी कुल कीमत 60 रुपये होगी. दो पिज़्ज़ा (संख्या = 2) के लिए, अगर बेस कीमत 50 रुपये और हर पिज़्ज़ा के लिए 10 रुपये का ऐड-ऑन है, तो कुल कीमत 120 रुपये होगी. हर LineItem में कीमत होनी चाहिए, भले ही कीमत "0" हो. अगर टाइप DISCOUNT है, तो वैल्यू को नेगेटिव के तौर पर बताएं. उदाहरण के लिए, "-2". |
|
subLines |
List<SublineNote > |
यह वैकल्पिक है और सिर्फ़ तब मान्य है, जब टाइप "सामान्य" हो. चेकआउट के अनुरोध और ऑर्डर सबमिट करने के अनुरोध में, उपयोगकर्ता से आइटम के बारे में कोई नोट इस फ़ील्ड में भेजा जा सकता है. पक्का करें कि नोट देने पर, व्यापारी/कंपनी/कारोबारी को वह नोट मिल जाए. यह अनुरोध में subLines[0].note के तौर पर मौजूद होगा. यह इस फ़ील्ड में दी गई एकमात्र वैल्यू होती है, जब यह अनुरोध में मौजूद होती है. इसमें एक से ज़्यादा आइटम नहीं होने चाहिए. |
|
offerId |
String | यह तब ज़रूरी है, जब
आइटम के लिए मेन्यू आइटम का ऑफ़र आईडी. यह ProposedOrder.otherItems पर लागू नहीं होता. |
|
extension |
FoodItemExtension |
खाने के आइटम के लिए ऐड-ऑन तय करता है. |
इस उदाहरण में LineItem
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }
उदाहरण 2
{ "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }
LineItemType
LineItemType
टाइप की ये वैल्यू हो सकती हैं:
REGULAR
: सामान का लाइन आइटम. यह Cart.lineItems पर लागू होता है.TAX
: टैक्स लाइन आइटम. यह ProposedOrder.otherItems पर लागू होता है.DISCOUNT
: छूट वाला लाइन आइटम. ध्यान दें कि कीमत ज़ीरो से कम होनी चाहिए. यह ProposedOrder.otherItems पर लागू होता है.GRATUITY
: ग्रेच्युटी का लाइन आइटम. आम तौर पर, उपयोगकर्ता के चुने गए सुझाव के लिए SubmitOrderRequestMessage के लिए आरक्षित है. यह ProposedOrder.otherItems पर लागू होता है.DELIVERY
: डिलीवरी लाइन आइटम. यह ProposedOrder.otherItems पर लागू होता है.SUBTOTAL
: कुल कीमत वाला लाइन आइटम. यह ProposedOrder.otherItems पर लागू होता है.FEE
: अन्य टाइप में शामिल नहीं किया गया अतिरिक्त लाइन आइटम. यह ProposedOrder.otherItems पर लागू होता है.
जगह
खाना ऑर्डर करने के लिए पता बताता है.Location
टाइप का इस्तेमाल, सिर्फ़ डिलीवरी ऑर्डर के डेस्टिनेशन को बताने के लिए, Cart
में किया जाता है.
अगर उपयोगकर्ता ऑर्डर करता है, तो तय की गई जगह की जानकारी TransactionDecisionValue
में भी दिखती है. पिकअप की सुविधा वाले ऑर्डर के लिए, जगह की जानकारी बिल्कुल शामिल नहीं की जाती.
नीचे दी गई टेबल में, Location
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
coordinates |
Coordinates |
||
formattedAddress |
String |
जगह का पता दिखाएं. उदाहरण: |
|
postalAddress |
PostalAddress |
||
zipCode |
String |
उदाहरण: |
|
city |
String |
शहर का नाम. उदाहरण: |
|
notes |
String |
जगह के बारे में नोट, जैसे कि गेट कोड. इसमें 500 या उससे कम वर्ण होने चाहिए. उदाहरण: |
इस उदाहरण में 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 से मेल खाता है. उदाहरण: |
|
name |
String | ज़रूरी है. व्यापारी/कंपनी/कारोबारी का वह नाम जो उपयोगकर्ता को दिखता है. उदाहरण: |
इस उदाहरण में Merchant
एलिमेंट दिखाया गया है:
उदाहरण
{ "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }
पैसे
नीचे दी गई टेबल में, Money
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
currencyCode |
String | ज़रूरी है. ISO 4217 फ़ॉर्मैट में, तीन अक्षर का मुद्रा कोड. उदाहरण: |
|
units |
String |
रकम की पूरी इकाइयां. उदाहरण के लिए, अगर currencyCode "USD" है, तो "1" यूनिट एक डॉलर है. उदाहरण: |
|
nanos |
Integer |
रकम की नैनो (10^-9) यूनिट की संख्या. वैल्यू, -999,999,999 और +999,999, 999 के बीच होनी चाहिए. इन नियमों का पालन करें: अगर यूनिट की वैल्यू पॉज़िटिव है, तो नैनो की वैल्यू पॉज़िटिव या शून्य होनी चाहिए. अगर यूनिट शून्य है, तो नैनो पॉज़िटिव, शून्य या नेगेटिव हो सकते हैं. अगर यूनिट की वैल्यू नेगेटिव है, तो नैनो की वैल्यू नेगेटिव या शून्य होनी चाहिए. उदाहरण के लिए, -1.75 डॉलर को यूनिट = -1 और नैनो = -750,000,000 के तौर पर दिखाया जाता है. उदाहरण: |
इस उदाहरण में Money
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "currencyCode": "USD", "units": "36", "nanos": 730000000 }
उदाहरण 2
{ "currencyCode": "EUR", "units": "10" }
क्रम
इसमें टैक्स, शुल्क, और डिलीवरी के लिए खरीदार से लिए जाने वाले शुल्क के साथ-साथ, पेमेंट की जानकारी भी शामिल होती है. यह ऑब्जेक्ट, आपकी कार्रवाई सेSubmit AppRequest
में मिलता है.
नीचे दी गई टेबल में, Order
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
finalOrder |
ProposedOrder |
ज़रूरी है. वह सुझाया गया आदेश जिसकी वजह से ऑर्डर हुआ. |
|
googleOrderId |
String | ज़रूरी है. Google से असाइन किया गया ऑर्डर आईडी. यह आईडी, ऑर्डर के पूरे लाइफ़साइकल के दौरान स्थिर होना चाहिए. यह आईडी असली उपयोगकर्ता को नहीं दिखता. |
|
orderDate |
ISO टाइमस्टैंप | ज़रूरी है. ऑर्डर करने की तारीख और समय. |
|
paymentInfo |
PaymentInfo |
ज़रूरी है. इस ऑर्डर के लिए किए गए पेमेंट की जानकारी. |
इस उदाहरण में Order
एलिमेंट दिखाया गया है:
उदाहरण
{ "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } }
OrderUpdate
नीचे दी गई टेबल में, OrderUpdate टाइप के फ़ील्ड के बारे में बताया गया है. ये फ़ील्ड,AppResponse
में शामिल हैं.
नीचे दी गई टेबल में, OrderUpdate
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
actionOrderId |
String | ज़रूरी है. इंटिग्रेटर के सिस्टम में ऑर्डर का यूनीक आईडी. इसका इस्तेमाल, उस ऑर्डर की पहचान करने के लिए किया जाता है जिसके लिए अपडेट भेजा जाता है. अगर "बनाया गया" ऑर्डर के लिए, OrderUpdate में receipt.user_visible_order_id को कम से कम एक बार नहीं दिया गया है, तो यह आईडी, Google ऑर्डर कार्ड में दिखने वाला वह आईडी होगा जिसे उपयोगकर्ता ने डाला है. |
|
orderState |
OrderState |
ज़रूरी है. ऑर्डर की नई स्थिति. |
|
lineItemUpdates |
Map<String, LineItemUpdate > |
||
updateTime |
ISO टाइमस्टैंप | ज़रूरी है. ऑर्डर अपडेट होने का समय. |
|
orderManagementActions |
List<OrderManagementAction > |
ऑर्डर के बाद की कार्रवाइयां, जैसे कि सहायता टीम से संपर्क करना और ऑर्डर की जानकारी देखना. इसमें कम से कम एक आइटम और ज़्यादा से ज़्यादा छह आइटम होने चाहिए. |
|
rejectionInfo |
RejectionInfo |
यह तब ज़रूरी है, जब
|
|
cancellationInfo |
CancellationInfo |
यह तब ज़रूरी है, जब
|
|
inTransitInfo |
InTransitInfo |
यह फ़ील्ड काम नहीं करता. |
|
fulfillmentInfo |
FulfillmentInfo |
यह फ़ील्ड काम नहीं करता. |
|
receipt |
Receipt |
यह तब ज़रूरी है, जब
रसीद में, उपयोगकर्ता को दिखने वाला ऑर्डर आईडी दें. |
|
totalPrice |
Price |
ऑर्डर की कुल कीमत. |
|
infoExtension |
FoodOrderUpdateExtension |
ऑर्डर के अपडेट के बारे में ज़्यादा जानकारी देता है. जैसे, डिलीवरी या पिकअप के अनुमानित समय के बीच का अंतर. |
इस उदाहरण में OrderUpdate
एलिमेंट दिखाया गया है:
उदाहरण
{ "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "41", "nanos": 600000000 } }, "lineItemUpdates": { "sample_item_id_1": { "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "reason": "This item has an updated price." } }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } }
PickupInfo
नीचे दी गई टेबल में, PickupInfo
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
pickupTimeIso8601 |
String |
ISO 8601 टाइमस्टैंप फ़ॉर्मैट में, पिकअप का अनुमानित समय: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" या कुल समय का फ़ॉर्मैट: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". उदाहरण के लिए, PT90M का मतलब है कि वीडियो 90 मिनट का है. डिफ़ॉल्ट वैल्यू ,"PT0M" से पता चलता है कि पिकअप का पसंदीदा समय, जल्द से जल्द है. रेफ़रंस: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations. चेकआउट के दौरान, पिकअप के अनुमानित समय को अपडेट करने के लिए इसका इस्तेमाल करें. उदाहरण: |
इस उदाहरण में PickupInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "pickupTimeIso8601": "PT90M" }
PostalAddress
नीचे दी गई टेबल में, PostalAddress
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
regionCode |
String | ज़रूरी है. देश का दो अक्षर वाला कोड. उदाहरण: |
|
postalCode |
String |
पिन कोड. उदाहरण: |
|
administrativeArea |
String |
किसी देश या इलाके के डाक पते के लिए इस्तेमाल होने वाला सबसे बड़ा एडमिन के तौर पर उपखंड. यह कोई राज्य, प्रांत, ओब्लास्ट या प्रीफ़ेक्चर हो सकता है. उदाहरण: |
|
locality |
String |
इस जगह का शहर या कस्बा. दुनिया के उन इलाकों में जहां इलाकों की जानकारी साफ़ तौर पर नहीं दी गई है या वे इस स्ट्रक्चर में फ़िट नहीं होते, वहां इलाके की जानकारी न दें. इसके बजाय, addressLines फ़ील्ड का इस्तेमाल करें. उदाहरण: |
|
addressLines |
List<String> |
एक या उससे ज़्यादा लाइनें, जिनका इस्तेमाल सड़क का पता बताने के लिए किया जा सकता है. इस फ़ील्ड में बदलाव नहीं किया जाना चाहिए, क्योंकि इसमें ऐसी जगहों की जानकारी हो सकती है जिनकी पहचान साफ़ तौर पर नहीं की जा सकती. उदाहरण: |
|
recipients |
List<String> |
किसी ऑर्डर के लिए, ईमेल पाने वाले लोगों की सूची. यह फ़ील्ड सिर्फ़ billingAddress में उपलब्ध है. |
इस उदाहरण में PostalAddress
एलिमेंट दिखाया गया है:
उदाहरण
{ "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }
कीमत
नीचे दी गई टेबल में, Price
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
type |
Enum [
"ESTIMATE",
"ACTUAL"
] |
ज़रूरी है. प्रोमो कूपन कोड. |
|
amount |
Money |
ज़रूरी है. |
प्रमोशन
नीचे दी गई टेबल में, Promotion
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
coupon |
String | ज़रूरी है. प्रोमोशन कूपन का कोड. |
ProposedOrder
नीचे दी गई टेबल में, ProposedOrder
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
id |
String |
सुझाए गए ऑर्डर के लिए वैकल्पिक आईडी. |
|
cart |
Cart |
ज़रूरी है. उपयोगकर्ता के आइटम. |
|
otherItems |
List<LineItem > |
सेवा देने वाली कंपनी के जोड़े गए आइटम, जैसे कि डिलीवरी शुल्क, अन्य शुल्क, और टैक्स. otherItems में, उपयोगकर्ता की ओर से जोड़ी गई ग्रेच्यूटी और/या छूट भी शामिल हो सकती है. इसमें 10 आइटम से ज़्यादा नहीं होने चाहिए. |
|
image |
Image |
सुझाए गए ऑर्डर से जुड़ी इमेज. |
|
totalPrice |
Price |
ज़रूरी है. सुझाए गए ऑर्डर की कुल कीमत. |
|
extension |
FoodOrderExtension |
ज़रूरी है. खाना ऑर्डर करने की सुविधा के लिए, ऑर्डर पूरा करने की जानकारी तय करता है. |
|
disclaimers |
List<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 |
List<Input > |
ज़रूरी है. इसमें कार्ट की जांच करने के लिए ज़रूरी आर्ग्युमेंट शामिल होते हैं. इसमें एक आइटम होना चाहिए. |
इस उदाहरण में AppRequest
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "isInSandbox": true, "inputs": [ { "intent": "actions.foodordering.intent.CHECKOUT", "arguments": [ { "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } } } ] } ] }
उदाहरण 2
{ "isInSandbox": true, "inputs": [ { "intent": "actions.intent.TRANSACTION_DECISION", "arguments": [ { "transactionDecisionValue": { "order": { "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } } } } ] } ] }
CheckoutRequestMessage
CheckoutRequestMessage
, actions.foodordering.intent.CHECKOUT
इंटेंट वाला AppRequest
होता है.
SubmitOrderRequestMessage
SubmitOrderRequestMessage
, actions.foodordering.intent.TRANSACTION_DECISION
इंटेंट वाला AppRequest
होता है.
बातचीत
Conversation
सिर्फ़ एक सेशन के लिए यूनीक होता है. ज़रूरत पड़ने पर, इसका इस्तेमाल करके एक से ज़्यादा Checkout
और SubmitOrder
कार्रवाइयों को एक साथ जोड़ा जा सकता है.
नीचे दी गई टेबल में, Conversation
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
conversationId |
String | ज़रूरी है. बातचीत का यूनीक आईडी. |
इस उदाहरण में Conversation
एलिमेंट दिखाया गया है:
उदाहरण
{ "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ" }
इनपुट
कार्ट से चेकआउट करने के लिए ज़रूरी आर्ग्युमेंट.
नीचे दी गई टेबल में, Input
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
intent |
Enum [
"actions.foodordering.intent.CHECKOUT",
"actions.intent.TRANSACTION_DECISION"
] |
ज़रूरी है. चेकआउट के अनुरोध वाले मैसेज के लिए, "actions.foodordering.intent.CHECKOUT" पर सेट करें या ऑर्डर सबमिट करने के अनुरोध वाले मैसेज के लिए, "actions.intent.TRANSACTION_DECISION" पर सेट करें. |
|
arguments |
List<Argument > |
ज़रूरी है. इसमें चेकआउट किया जाने वाला कार्ट या ऑर्डर शामिल होता है इसमें एक आइटम होना चाहिए. |
आर्ग्यूमेंट
इसमें उन खाने की चीज़ों की जानकारी होती है जिन्हें उपयोगकर्ता को देखना है. चेकआउट के लिए, सिर्फ़ एक्सटेंशन लागू होता है. ऑर्डर सबमिट करने के लिए, सिर्फ़ transactionDecisionValue लागू है
नीचे दी गई टेबल में, Argument
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
प्रॉपर्टी के इनमें से किसी एक ग्रुप का होना ज़रूरी है. | |||
extension |
ग्रुप 1 | Cart |
उन खाने के आइटम की जानकारी जिनकी जानकारी उपयोगकर्ता को चाहिए. |
transactionDecisionValue |
ग्रुप 2 | TransactionDecisionValue |
इसमें पेमेंट की जानकारी के साथ-साथ, ऑर्डर की जानकारी शामिल होती है. |
ऑर्डर पूरा करने के बारे में जानकारी
AppResponse
नीचे दी गई टेबल में, AppResponse
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
expectUserResponse |
Const |
इसे 'गलत है' पर सेट करें. मान: |
|
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
होता है, जिसमें StructuredResponse
में checkoutResponse
या error
होता है.
SubmitOrderResponseMessage
SubmitOrderResponseMessage
, AppResponse
होता है, जिसमें StructuredResponse
में orderUpdate
होता है.
FinalResponse
कार्ट चेकआउट या SubmitOrderRequestMessage का आपका जवाब.
नीचे दी गई टेबल में, FinalResponse
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
richResponse |
RichResponse |
ज़रूरी है. इसमें CheckoutRequestMessage या SubmitOrderRequestMessage के लिए आपका जवाब शामिल होता है. |
CheckoutResponse
नीचे दी गई टेबल में, CheckoutResponse
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
proposedOrder |
ProposedOrder |
ज़रूरी है. लेन-देन के लिए इस्तेमाल किए जाने वाले प्रॉडक्ट का सुझाया गया क्रम. |
|
paymentOptions |
PaymentOptions |
ज़रूरी है. उपयोगकर्ता के लिए चुना गया पेमेंट का डिफ़ॉल्ट विकल्प. |
|
additionalPaymentOptions |
List<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 |
List<Item > |
ज़रूरी है. इसमें एक आइटम होना चाहिए. |
StructuredResponse
CheckoutResponseMessage के लिए, इनमें से कोई एक हो सकता है: CheckoutResponse, चेकआउट की प्रोसेस पूरी होने का पता चलता है. OR FoodErrorExtension: इससे पता चलता है कि चेकआउट के दौरान कोई गड़बड़ी हुई है. जवाब में, सही किया गया ProposedOrder और PaymentOptions शामिल हो सकता है. इसके अलावा, PaymentOptions के बिना गड़बड़ी का मैसेज भी शामिल हो सकता है. SubmitOrderResponseMessage के लिए, सिर्फ़ orderUpdate लागू होता है.
नीचे दी गई टेबल में, StructuredResponse
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
प्रॉपर्टी के इनमें से किसी एक ग्रुप का होना ज़रूरी है. | |||
checkoutResponse |
ग्रुप 1 | CheckoutResponse |
चेक आउट किए गए आइटम, टैक्स, और छूट. |
error |
ग्रुप 2 | FoodErrorExtension |
कार्ट में मौजूद आइटम में गड़बड़ियां मिली हैं. गड़बड़ी के टाइप के आधार पर, इस प्रॉपर्टी में सुधार किया गया ProposedOrder और PaymentOptions शामिल हो सकता है. इसके अलावा, इसमें सिर्फ़ गड़बड़ी का मैसेज हो सकता है, जिसमें PaymentOptions शामिल नहीं होगा. |
orderUpdate |
ग्रुप 3 | OrderUpdate |
ऑर्डर से जुड़े एसिंक्रोनस अपडेट
इस सेक्शन में, हाई-लेवल टाइप के बारे में बताया गया है. ये टाइप, खाने का ऑर्डर करने की सुविधा के लिए पहले से मौजूद ऐक्शन इंटरैक्शन के अनुरोधों और जवाबों को बनाते हैं.AsyncOrderUpdateRequestMessage
ऑर्डर सबमिट होने और उसकी पुष्टि होने के बाद, उपयोगकर्ता को बदलावों की सूचना देता है. उदाहरण के लिए, उपयोगकर्ता को यह सूचना दी जा सकती है कि ऑर्डर डिलीवर किया जा रहा है या कीमत में बदलाव हुआ है. ज़्यादा जानकारी के लिए, इसे देखेंनीचे दी गई टेबल में, AsyncOrderUpdateRequestMessage
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
isInSandbox |
बूलियन |
इससे पता चलता है कि जिस ऑर्डर के लिए यह अपडेट भेजा गया था वह सैंडबॉक्स पेमेंट है. |
|
customPushMessage |
CustomPushMessage |
ज़रूरी है. इसमें अनुरोध के लिए OrderUpdate होता है. |
इस उदाहरण में AsyncOrderUpdateRequestMessage
एलिमेंट दिखाया गया है:
उदाहरण
{ "isInSandbox": true, "customPushMessage": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } } }
AsyncOrderUpdateResponseMessage
AsyncOrderUpdateRequestMessage
भेजने के बाद, Google एचटीटीपी 200 स्टेटस और खाली बॉडी के साथ जवाब देता है. अगर ऑर्डर अपडेट नहीं हो पाता है, तो Google इसकी वजह बताता है.
ऑर्डर के अपडेट के टाइप
बटन
यूज़र इंटरफ़ेस के उस एलिमेंट के बारे में बताता है जिसे उपयोगकर्ता इंटरैक्शन देने के लिए जोड़ा जा सकता है.
नीचे दी गई टेबल में, Button
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
title |
String | ज़रूरी है. डिसप्ले लेबल. सही रेंडरिंग के लिए, 30 या उससे कम वर्णों के साथ सेंटेंस केस का इस्तेमाल करें. उदाहरण: |
|
openUrlAction |
OpenUrlAction |
ज़रूरी है. |
इस उदाहरण में Button
एलिमेंट दिखाया गया है:
उदाहरण
{ "title": "Send us feedback", "openUrlAction": { "url": "mailto:person@example.com" } }
CancellationInfo
नीचे दी गई टेबल में, CancellationInfo
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
reason |
String | ज़रूरी है. OrderState.state के "CANCELLED" होने पर, अस्वीकार किए जाने की वजह बताने वाला टेक्स्ट. उदाहरण: |
इस उदाहरण में CancellationInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "reason": "Insufficient inventory" }
FoodOrderUpdateExtension
इस टाइप की वैल्यू से, उपयोगकर्ता को यह अनुमानित समय पता चलता है कि ऑर्डर कब डिलीवर किया जाएगा या पिकअप के लिए कब तैयार होगा. जब भी जानकारी उपलब्ध हो या पिछली बार भेजे जाने के बाद उसमें बदलाव हुआ हो, तब इस एक्सटेंशन को OrderUpdate
के साथ भेजें.
ऑर्डर पूरा होने में लगने वाले समय का अनुमानित समय बताएं, ताकि उपयोगकर्ता की उम्मीदों को लगातार पूरा किया जा सके. उदाहरण के लिए, अगर ऑर्डर आज 13:00 बजे डिलीवर होने का अनुमान है, तो आपको अनुमानित समयावधि भेजनी चाहिए. यह समयावधि, ट्रैफ़िक की स्थिति की वजह से होने वाले बदलावों के हिसाब से होनी चाहिए. जैसे, आज 12:45 बजे से 13:15 बजे तक.
ISO 8601 के मुताबिक, अवधि या टाइमस्टैंप का मतलब, OrderUpdate
के updateTime
(असल में, "अभी") से लेकर updateTime
और duration
तक के इंटरवल से है.
इस फ़ॉर्मैट का इस्तेमाल तब तक न करें, जब तक कि "अभी" का मतलब सही न हो.
ISO 8601 इंटरवल का मतलब, इंटरवल के शुरू होने से लेकर खत्म होने तक का समय होता है.
नीचे दी गई टेबल में, FoodOrderUpdateExtension
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
@type |
Const |
इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension" पर सेट रहता है. मान: |
|
estimatedFulfillmentTimeIso8601 |
String |
ऑर्डर डिलीवर होने या पिकअप के लिए तैयार होने का अनुमानित समय. स्ट्रिंग, ISO 8601 फ़ॉर्मैट में होनी चाहिए. साथ ही, यह किसी तय समय के बजाय किसी इंटरवल से जुड़ी होनी चाहिए. ये वैल्यू स्वीकार की जाती हैं: इंटरवल, अवधि, और तारीख/समय. यह फ़ील्ड, SubmitOrderResponseMessage या AsyncOrderUpdateRequestMessage में तब भेजा जा सकता है, जब जानकारी उपलब्ध हो या कोई बदलाव हो, जैसे कि सामान जल्दी या देर से पहुंचना. उदाहरण: |
|
foodOrderErrors |
List<FoodOrderError > |
ऑर्डर करने के बाद हुई गड़बड़ियों के बारे में बताता है. हमारा सुझाव है कि हर कार्ट या हर आइटम के लिए एक गड़बड़ी हो. RejectionInfo में शामिल नहीं की गई गड़बड़ियों के लिए, FoodOrderUpdateExtension.FoodOrderErrors का इस्तेमाल करें. इसमें कम से कम एक आइटम होना चाहिए. |
इस उदाहरण में FoodOrderUpdateExtension
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" }
उदाहरण 2
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "foodOrderErrors": [ { "error": "NO_CAPACITY", "description": "Sorry, the restaurant cannot take your order right now." } ] }
FulfillmentInfo
नीचे दी गई टेबल में, FulfillmentInfo
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
प्रॉपर्टी के इनमें से किसी एक ग्रुप का होना ज़रूरी है. | |||
deliveryTime |
ग्रुप 1 | ISO टाइमस्टैंप |
FoodOrderingUpdateExtension मैसेज में estimatedFulfillmentTimeIso8601 का इस्तेमाल करना |
pickupTime |
ग्रुप 2 | ISO टाइमस्टैंप |
FoodOrderingUpdateExtension मैसेज में estimatedFulfillmentTimeIso8601 का इस्तेमाल करना |
इस उदाहरण में FulfillmentInfo
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "deliveryTime": "2017-05-10T02:36:38.803Z" }
उदाहरण 2
{ "pickupTime": "2019-12-26T07:24:27.803Z" }
InTransitInfo
नीचे दी गई टेबल में, InTransitInfo
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
updatedTime |
ISO टाइमस्टैंप |
FoodOrderingUpdateExtension मैसेज में estimatedFulfillmentTimeIso8601 का इस्तेमाल करना |
इस उदाहरण में 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" होना चाहिए. उदाहरण: |
OrderManagementAction
ऑर्डर मैनेजमेंट की मदद से, उपयोगकर्ताओं को ऑर्डर के बाद सहायता मिलती है. इसे ऑर्डर सबमिट करने के AppResponse
और उसके बाद की हर AsyncOrderUpdateRequestMessage
कार्रवाई के लिए, हर OrderUpdate
में भेजा जाना चाहिए. किसी ऑर्डर के लिए भेजी गई ऑर्डर मैनेजमेंट कार्रवाइयां, ऑर्डर की स्थिति के आधार पर अलग-अलग हो सकती हैं.
उदाहरण के लिए, "बनाया गया" स्टेटस में, CUSTOMER_SERVICE
आपके ग्राहक सहायता केंद्र के टेलीफ़ोन नंबर का रेफ़रंस दे सकता है. इसके बाद, "पुष्टि हो गई" स्थिति में, CUSTOMER_SERVICE
रेस्टोरेंट के टेलीफ़ोन नंबर में बदल सकता है. ऐसा तब होता है, जब वह ग्राहक के लिए सबसे सही संपर्क नंबर बन जाता है. इसी तरह, ऑर्डर की स्थिति "पूरा हो गया" होने पर,
CUSTOMER_SERVICE
सहायता के लिए दिए गए आपके ईमेल पते का रेफ़रंस दे सकता है.
नीचे दी गई टेबल में, OrderManagementAction
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
type |
OrderManagementActionType |
ज़रूरी है. |
|
button |
Button |
ज़रूरी है. |
इस उदाहरण में OrderManagementAction
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }
उदाहरण 2
{ "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }
OrderManagementActionType
OrderManagementAction
से जुड़े टाइप तय करता है.
OrderManagementActionType
टाइप की ये वैल्यू हो सकती हैं:
CUSTOMER_SERVICE
: ऑर्डर की पुष्टि करने वाले पेज पर दिखाने के लिए, ग्राहक सेवा का ईमेल पता और/या संपर्क नंबर. यह ज़रूरी है. openUrlAction.url का प्रीफ़िक्स, "mailto", "tel", "http" या "https" होना चाहिए.EMAIL
: सिर्फ़ ऑर्डर की जानकारी वाले पेज पर ईमेल कार्रवाई. openUrlAction.url का प्रीफ़िक्स "mailto" होना चाहिए.CALL_DRIVER
: सिर्फ़ ऑर्डर की जानकारी वाले पेज पर कॉल ऐक्शन. openUrlAction.url का प्रीफ़िक्स "tel" होना चाहिए.CALL_RESTAURANT
: सिर्फ़ ऑर्डर की जानकारी वाले पेज पर कॉल ऐक्शन. openUrlAction.url का प्रीफ़िक्स "tel" होना चाहिए.
OrderState
ऑर्डर की मौजूदा स्थिति. OrderState
की हर state
वैल्यू, myaccount.google.com पर खरीदारी की स्थिति से भी जुड़ी होती है.
नीचे दी गई टेबल में, OrderState
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
state |
OrderStateEnum |
ज़रूरी है. |
|
label |
String | ज़रूरी है. स्टेटस के लिए, उपयोगकर्ता को दिखने वाली डिसप्ले स्ट्रिंग. अंग्रेज़ी के वाक्यों में, पहला वर्ण बड़ा (अपर केस में) रखें. उदाहरण: |
इस उदाहरण में OrderState
एलिमेंट दिखाया गया है:
उदाहरण
{ "state": "CONFIRMED", "label": "Provider confirmed" }
OrderStateEnum
OrderState
से जुड़े टाइप तय करता है.
OrderStateEnum
टाइप की ये वैल्यू हो सकती हैं:
CREATED
: इंटिग्रेटर ने ऑर्डर बनाया है और सेवा देने वाली कंपनी की पुष्टि का इंतज़ार किया जा रहा है. यह "ऑर्डर किया गया" परचेज़ स्टेटस से मेल खाता है.CONFIRMED
: सेवा देने वाली कंपनी ने ऑर्डर की पुष्टि कर दी है और वह चालू है. यह "स्वीकार किया गया" खरीदारी स्टेटस से मेल खाता है.REJECTED
: इंटिग्रेटर या सेवा देने वाली कंपनी ने ऑर्डर अस्वीकार कर दिया है. यह "अस्वीकार किया गया" खरीदारी स्टेटस से मेल खाता है.CANCELLED
: उपयोगकर्ता ने ऑर्डर रद्द कर दिया. यह "रद्द की गई" खरीदारी की स्थिति से मेल खाता है.IN_PREPARATION
: खाना तैयार किया जा रहा है. यह खरीदारी के "स्टेटस की जानकारी नहीं है" स्टेटस से मेल खाता है.READY_FOR_PICKUP
: खाना पिकअप के लिए तैयार है. यह "पिकअप के लिए तैयार है" खरीदारी के स्टेटस से मेल खाता है.IN_TRANSIT
: ऑर्डर डिलीवर किया जा रहा है. यह खरीदारी के "प्रोसेस जारी है" स्टेटस से मेल खाता है.FULFILLED
: उपयोगकर्ता को वही आइटम मिला जो उसने ऑर्डर किया था. यह "पिक अप किया गया" खरीदारी के स्टेटस से मेल खाता है.
रसीद
इस टाइप को सबमिट किए गए ऑर्डरAppResponse
में भेजें. इसमें OrderState
, "CONFIRMED", "FULFILLED" या "IN_TRANSIT" हो. userVisibleOrderId
उपलब्ध होने पर, रसीद भेजें. आपको बाद के अपडेट में, फिर से रसीद भेजने की ज़रूरत नहीं है.
नीचे दी गई टेबल में, Receipt
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
userVisibleOrderId |
String | ज़रूरी है. अगर ऑर्डर की स्थिति "पुष्टि हो गई है", "ट्रांज़िट में है" या "पूरा हो गया है" है, तो यह जानकारी देना ज़रूरी है. यह फ़ील्ड, इस ऑर्डर के लिए उपयोगकर्ता के सामने दिखने वाला एक आईडी होता है. आम तौर पर, यह रेस्टोरेंट का ऑर्डर आईडी होता है. यह आईडी, इंटिग्रेटर की रसीद और 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 | ज़रूरी है. रसीद पर दिखाए गए पेमेंट के तरीके का नाम. उदाहरण: |
|
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 |
लेन-देन पूरा करने के लिए, बिलिंग पते का फ़ॉर्मैट ज़रूरी है. कम से कम: नाम, देश का कोड, और पिन कोड. पूरा पता: नाम, मोहल्ले का पता, शहर, इलाका, देश कोड, और पिन कोड. |
इस उदाहरण में BillingAddressParameters
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "format": "MIN" }
उदाहरण 2
{ "format": "FULL" }
CardParameters
Google Pay API के लिए, अपनी साइट की सहायता टीम को कॉन्फ़िगर करने के लिए, इस ऑब्जेक्ट का इस्तेमाल करें.
नीचे दी गई टेबल में, CardParameters
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
allowedAuthMethods |
List<Const> | ज़रूरी है. कार्ड से किए गए लेन-देन की पुष्टि करने के लिए इस्तेमाल किए जाने वाले फ़ील्ड. इसमें कम से कम एक आइटम होना चाहिए. |
|
allowedCardNetworks |
List<AllowedCardNetworks > |
ज़रूरी है. एक या उससे ज़्यादा कार्ड नेटवर्क, जो आपके साथ काम करते हैं और Google Pay API के साथ भी काम करते हैं. इसमें कम से कम एक आइटम होना चाहिए. |
|
billingAddressRequired |
बूलियन |
अगर आपको बिलिंग पता देना है, तो इसे 'सही है' पर सेट करें. बिलिंग पते का अनुरोध सिर्फ़ तब करें, जब लेन-देन को प्रोसेस करने के लिए इसकी ज़रूरत हो. ज़्यादा डेटा के अनुरोधों से चेकआउट की प्रोसेस में रुकावट आ सकती है. साथ ही, कन्वर्ज़न रेट भी कम हो सकते हैं. |
|
billingAddressParameters |
BillingAddressParameters |
billingAddressRequired को 'सही' पर सेट करने पर, ये फ़ील्ड दिखते हैं. |
|
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 | ज़रूरी है. पहले से तय किए गए GoogleProvidedPaymentOptions के मुताबिक, Google Pay के किसी प्रोसेसर से उपयोगकर्ता को शुल्क लगाने के लिए, पेमेंट टोकन वाली Base 64-एन्कोड की गई स्ट्रिंग. |
|
billingAddress |
PostalAddress |
पेमेंट के लिए बिलिंग पता. |
इस उदाहरण में GoogleProvidedPaymentInstrument
एलिमेंट दिखाया गया है:
उदाहरण
{ "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] } }
GoogleProvidedPaymentOptions
Google के दिए गए पेमेंट के तरीके से जुड़ी ज़रूरी शर्तें.
नीचे दी गई टेबल में, GoogleProvidedPaymentOptions
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
facilitationSpecification |
String |
स्ट्रिंग के तौर पर PaymentDataRequest JSON. Google Pay API के लिए, अपनी साइट की सहायता टीम को कॉन्फ़िगर करने के लिए, इस ऑब्जेक्ट का इस्तेमाल करें. |
|
supportedCardNetworks |
List<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 |
List<PaymentOptionsEnums > |
ऑर्डर पूरा करने के समय, उपयोगकर्ता के लिए उपलब्ध पेमेंट के विकल्पों की सूची. |
इस उदाहरण में OnFulfillmentPaymentData
एलिमेंट दिखाया गया है:
उदाहरण
{ "supportedPaymentOptions": [ "Cash", "Card" ] }
पैरामीटर
TokenizationParameters
से जुड़े टाइप तय करता है.
नीचे दी गई टेबल में, Parameters
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
gateway |
String | ज़रूरी है. उदाहरण: |
|
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 |
Const | ज़रूरी है. एपीआई का मेजर वर्शन. मान: |
|
apiVersionMinor |
Const | ज़रूरी है. एपीआई का माइनर वर्शन. मान: |
|
merchantInfo |
MerchantInfo |
ज़रूरी है. (Google Pay व्यापारी/कंपनी आईडी) उस व्यापारी/कंपनी की जानकारी जिसने पेमेंट डेटा का अनुरोध किया है. |
|
allowedPaymentMethods |
List<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 में पेमेंट के विकल्प के तौर पर GoogleProvidedPaymentOptions की जानकारी दी हो. |
इस उदाहरण में PaymentInfo
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" }
उदाहरण 2
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "123 Random Street", "Unit ABC" ], "recipients": [ "sample_receipient" ] } }, "paymentType": "PAYMENT_CARD" }
PaymentMethod
Google Pay API के लिए, अपनी साइट की सहायता टीम को कॉन्फ़िगर करने के लिए, इस ऑब्जेक्ट का इस्तेमाल करें.
नीचे दी गई टेबल में, PaymentMethod
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
type |
Const | ज़रूरी है. पेमेंट के इस्तेमाल किए जा सकने वाले तरीके का छोटा आइडेंटिफ़ायर. फ़िलहाल, सिर्फ़ कार्ड का इस्तेमाल किया जा सकता है. मान: |
|
parameters |
CardParameters |
ज़रूरी है. पेमेंट के दिए गए तरीके को कॉन्फ़िगर करने के लिए ज़रूरी पैरामीटर. |
|
tokenizationSpecification |
TokenizationSpecification |
ज़रूरी है. पेमेंट की जानकारी पाने के लिए, खाता या डिक्रिप्ट करने की सेवा देने वाली कंपनी को कॉन्फ़िगर करें. पेमेंट के कार्ड के तरीके के लिए, यह प्रॉपर्टी ज़रूरी है. |
इस उदाहरण में 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 |
actionProvidedOptions के साथ म्यूचुअल एक्सक्लूज़िव. gPay का इस्तेमाल करके ऑनलाइन पेमेंट करने के लिए, इसका इस्तेमाल करें. |
actionProvidedOptions |
ग्रुप 2 | ActionProvidedPaymentOptions |
यह एट्रिब्यूट, googleProvidedOptions के साथ इस्तेमाल नहीं किया जा सकता. इसका इस्तेमाल, "डिलीवरी के समय पैसे चुकाएं" या "ऑर्डर पूरा होने पर पैसे चुकाएं" के लिए करें. |
इस उदाहरण में PaymentOptions
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }
उदाहरण 2
{ "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\":true, \"billingAddressParameters\": { \"format\":\"MIN\" } }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }
उदाहरण 3
{ "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } } }
PaymentOptionsEnums
PaymentOptionsEnums
टाइप की ये वैल्यू हो सकती हैं:
Cash
Card
UPI
Paytm
PaymentType
PaymentType
टाइप की ये वैल्यू हो सकती हैं:
PAYMENT_CARD
: GoogleProvidedPaymentOptions के लिए.ON_FULFILLMENT
: ActionProvidedPaymentOptions के लिए.
SupportedCardNetworks
GoogleProvidedPaymentOptions
से जुड़े टाइप तय करता है.
SupportedCardNetworks
टाइप की ये वैल्यू हो सकती हैं:
UNSPECIFIED_CARD_NETWORK
AMEX
DISCOVER
JCB
MASTERCARD
VISA
TokenizationParameters
GoogleProvidedPaymentOptions
से जुड़े टाइप तय करता है.
नीचे दी गई टेबल में, TokenizationParameters
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
tokenizationType |
Enum [
"UNSPECIFIED_TOKENIZATION_TYPE",
"PAYMENT_GATEWAY"
] |
ज़रूरी है. इसके बजाय, facilitationSpecification का इस्तेमाल करें. स्वीकार किए जाने वाले टोकन टाइप. |
|
parameters |
Parameters |
इसके बजाय, facilitationSpecification का इस्तेमाल करें. |
TokenizationSpecification
इस ऑब्जेक्ट की मदद से, किसी खाते को कॉन्फ़िगर करके, शुल्क वाले पेमेंट की जानकारी ली जा सकती है.
नीचे दी गई टेबल में, TokenizationSpecification
टाइप की प्रॉपर्टी की सूची दी गई है:
प्रॉपर्टी | टाइप | ब्यौरा | |
---|---|---|---|
type |
Const | ज़रूरी है. |
|
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 |
Const | ज़रूरी है. डिफ़ॉल्ट तौर पर, "अनुमानित" का इस्तेमाल करें. जवाब में दी गई जानकारी के आधार पर, कुल कीमत में बदलाव हो सकता है. जैसे, बिलिंग पते के आधार पर लिया जाने वाला सेल्स टैक्स. मान: |
|
totalPrice |
String | ज़रूरी है. लेन-देन की कुल रकम, जिसमें दशमलव के बाद दो अंक हो सकते हैं. इस फ़ील्ड की वैल्यू, cart.totalPrice की वैल्यू से मेल खानी चाहिए. |
इस उदाहरण में TransactionInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "totalPriceStatus": "ESTIMATED", "totalPrice": "12.34", "currencyCode": "USD" }