बेस टाइप
कार्ट
इसमें ऑर्डर की जानकारी होती है. साथ ही, यह भी होता है कि अनुरोध पिकअप या डिलीवरी के लिए है या नहीं. कार्ट में डिलीवरी की जानकारी, ग्रेच्यूटी, और डिलीवरी का पता भी होता है.Cart
ऑब्जेक्ट के बारे में Checkout AppRequest
में बताया गया है.अगर
आप अपने Checkout AppResponse
में कार्ट की एक कॉपी शामिल करते हैं
यहां दी गई टेबल में Cart
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
@type |
कॉन्सटेंट |
यह ऑब्जेक्ट किस तरह का है. अगर पैरंट कार्ट ऑब्जेक्ट, प्रस्तावित ऑर्डर का हिस्सा है, तो इस फ़ील्ड को छोड़ दें. मान: |
|
id |
स्ट्रिंग |
कार्ट का वैकल्पिक आईडी. |
|
merchant |
Merchant |
इस कार्ट से जुड़ा व्यापारी/कंपनी. |
|
lineItems |
सूची<LineItem > |
ज़रूरी है. उन सामान या सेवाओं की सूची जिन्हें उपयोगकर्ता ऑर्डर कर रहा है. एक आइटम से कम नहीं होना चाहिए. |
|
promotions |
सूची<Promotion > |
इस कार्ट में लागू किया गया प्रमोशन. फ़िलहाल, सिर्फ़ एक प्रमोशन कोड इस्तेमाल किया जा सकता है. |
|
notes |
स्ट्रिंग |
ऑर्डर या डिलीवरी के निर्देशों के बारे में नोट. |
|
extension |
FoodCartExtension |
इससे उपयोगकर्ता की जानकारी मिलती है, जैसे कि ग्राहक को आइटम भेजने से जुड़ी प्राथमिकताएं. |
इस उदाहरण में Cart
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }
उदाहरण 2
{ "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }
Contact
इससे ऑर्डर पाने वाले व्यक्ति की जानकारी मिलती है. यह सिर्फ़AppResponse
में उपलब्ध है.
यहां दी गई टेबल में Contact
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
displayName |
स्ट्रिंग |
ऑर्डर पाने वाले व्यक्ति का नाम, जैसा आपको दिखाना है. अगर firstName और lastName के बारे में नहीं बताया गया है, तो इस फ़ील्ड का इस्तेमाल करें. उदाहरण: |
|
email |
स्ट्रिंग |
ऑर्डर पाने वाले व्यक्ति का ईमेल पता. उदाहरण: |
|
firstName |
स्ट्रिंग |
ऑर्डर पाने वाले व्यक्ति का नाम. उदाहरण: |
|
lastName |
स्ट्रिंग |
ऑर्डर पाने वाले व्यक्ति का उपनाम. उदाहरण: |
|
phoneNumber |
स्ट्रिंग |
ऑर्डर पाने वाले व्यक्ति का फ़ोन नंबर. इसमें देश का कोड भी शामिल है. उदाहरण: |
|
emailVerified |
बूलियन |
इससे पता चलता है कि ऑर्डर पाने वाले व्यक्ति ने अपने Google खाते से लॉग इन किया है या नहीं. |
इस उदाहरण में Contact
एलिमेंट दिखाया गया है:
उदाहरण
{ "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" }
CustomPushMessage
इसमें अनुरोध काOrderUpdate
शामिल है.
यहां दी गई टेबल में CustomPushMessage
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
orderUpdate |
OrderUpdate |
ज़रूरी है. ऑर्डर के लिए अपडेट की गई जानकारी. |
इस उदाहरण में CustomPushMessage
एलिमेंट दिखाया गया है:
उदाहरण
{ "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } }
DeliveryInfo
यहां दी गई टेबल में DeliveryInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
deliveryTimeIso8601 |
स्ट्रिंग |
डिलीवरी में लगने वाला अनुमानित समय, ISO 8601 टाइम स्टैंप फ़ॉर्मैट में: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" या अवधि का फ़ॉर्मैट: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". उदाहरण के लिए, PT90M 90 मिनट की अवधि का प्रतिनिधित्व करता है. डिफ़ॉल्ट वैल्यू ,"PT0M" से पता चलता है कि डिलीवरी में लगने वाला पसंदीदा समय जल्द से जल्द है. इससे जुड़ी जानकारी के लिए यह लिंक देखें: https://en.wikipedia.org/wiki/ISO_8601#Unitedd_date_and_time_representations. चेकआउट के जवाब के दौरान, डिलीवरी का अनुमानित समय अपडेट करने के लिए इसका इस्तेमाल करें. उदाहरण: |
इस उदाहरण में DeliveryInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "deliveryTimeIso8601": "PT90M" }
Disclaimer
यहां दी गई टेबल में Disclaimer
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
predefinedMessage |
PredefinedMessage |
ज़रूरी है. चेकआउट के दौरान पहले से तय डिसक्लेमर मैसेज दिखाने के लिए. |
|
feeAmount |
Money |
पार्टनर, इस ऑर्डर के लिए व्यापारी से N शुल्क लेगा. |
|
feeAmountRange |
FeeAmountRange |
पार्टनर रेस्टोरेंट से हर ऑर्डर के लिए, N से M तक की रकम का शुल्क लेगा. |
|
feePercent |
Number |
पार्टनर, इस ऑर्डर के लिए व्यापारी से N% शुल्क लेगा. |
|
feePercentRange |
FeePercentRange |
पार्टनर, व्यापारी या कंपनी से हर ऑर्डर के लिए, N% से M% तक का शुल्क लेगा. |
इस उदाहरण में Disclaimer
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "predefinedMessage": "NEW_YORK_DELIVERY_FEE_TIP_DISCLAIMER" }
उदाहरण 2
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE" }
तीसरा उदाहरण
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feePercent": 25 }
उदाहरण 4
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feePercentRange": { "minFeePercent": 20, "maxFeePercent": 30 } }
उदाहरण 5
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feeAmount": { "currencyCode": "AUD", "units": 2, "nanos": 500000000 } }
छठा उदाहरण
{ "predefinedMessage": "FEE_CHARGED_TO_RESTAURANT_DISCLOSURE", "feeAmountRange": { "minFeeAmount": { "currencyCode": "AUD", "units": 2, "nanos": 500000000 }, "maxFeeAmount": { "currencyCode": "AUD", "units": 10, "nanos": 0 } } }
गड़बड़ी
Error
टाइप की वैल्यू यहां दी गई है:
CLOSED
: ऑर्डर करते समय कारोबार के लिए रेस्टोरेंट बंद है.NO_CAPACITY
: सेवा उपलब्ध नहीं है (उदाहरण के लिए, व्यस्त समय की वजह से कुछ समय के लिए सेवा उपलब्ध नहीं है).NO_COURIER_AVAILABLE
: सीमित डिलीवरी कर्मचारी की वजह से ऑर्डर प्रोसेस नहीं किया जा सका.REQUIREMENTS_NOT_MET
: ऑर्डर स्वीकार करने की ज़रूरी शर्तें पूरी नहीं हुईं. जैसे, बास्केट का कम से कम साइज़.UNAVAILABLE_SLOT
: डिलीवरी की जानकारी या पिकअप जानकारी के ज़रिए बताए गए समय पर, ऑर्डर पूरा नहीं किया जा सकता.OUT_OF_SERVICE_AREA
: ऑर्डर उपयोगकर्ता के पते पर डिलीवर नहीं किया जा सकता.PROMO_EXPIRED
: आवेदन नहीं किया जा सका, क्योंकि प्रमोशन की समयसीमा खत्म हो गई है.PROMO_NOT_APPLICABLE
: अगर प्रोमो कोड में किसी भी दूसरी गड़बड़ी ठीक नहीं होती है, तो इसे लागू न कर पाने के सभी मामलों का पता लगाने के लिए, सामान्य गड़बड़ी कोड.PROMO_NOT_RECOGNIZED
: कूपन कोड पहचाना नहीं जा सका.PROMO_ORDER_INELIGIBLE
: मौजूदा ऑर्डर पर यह कूपन इस्तेमाल नहीं किया जा सकता.PROMO_USER_INELIGIBLE
: मौजूदा उपयोगकर्ता यह कूपन नहीं पा सकता.AVAILABILITY_CHANGED
: आइटम अब उपलब्ध नहीं है या अनुरोध को पूरा करने के लिए कम आइटम हैं.INCORRECT_PRICE
: शुल्क या कुल कीमत में कीमत से जुड़ी गड़बड़ियां.INVALID
: किसी LineItem, FulfillmentOption या प्रमोशन में अमान्य डेटा शामिल है.NOT_FOUND
: कोई LineItem, FulfillmentOption या प्रचार नहीं मिला.PRICE_CHANGED
: एक आइटम की कीमत बदल गई है.
FeeAmountRange
यहां दी गई टेबल में FeeAmountRange
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
minFeeAmount |
Money |
लिए गए शुल्क की निचली सीमा.. |
|
maxFeeAmount |
Money |
लिए गए शुल्क की ऊपरी सीमा.. |
FeePercentRange
यहां दी गई टेबल में FeePercentRange
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
minFeePercent |
Number |
शुल्क प्रतिशत की निचली सीमा. |
|
maxFeePercent |
Number |
शुल्क प्रतिशत की ऊपरी सीमा. |
FoodCartExtension
इसमें उपयोगकर्ता के बारे में जानकारी होती है, जैसे कि ग्राहक को आइटम भेजने से जुड़ी प्राथमिकताएं.
यहां दी गई टेबल में FoodCartExtension
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
@type |
कॉन्सटेंट |
इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.Order.FoodCartExtension" पर सेट रहता है. मान: |
|
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 |
कॉन्सटेंट | ज़रूरी है. इस एक्सटेंशन का टाइप. मान: |
|
foodOrderErrors |
सूची<FoodOrderError > |
ज़रूरी है. FoodOrderError ऑब्जेक्ट की ऐरे, जो होने वाली गड़बड़ियों की जानकारी देती है. हमारा सुझाव है कि हर कार्ट या हर आइटम के लिए एक गड़बड़ी की सूचना दें. एक आइटम से कम नहीं होना चाहिए. |
|
correctedProposedOrder |
ProposedOrder |
सुधार के साथ नया प्रस्तावित ऑर्डर. अगर मूल प्रस्तावितऑर्डर में ठीक करने लायक गड़बड़ियां हों, तो यह ऑब्जेक्ट वापस करें. उदाहरण के लिए, कार्ट में एक या उससे ज़्यादा लाइन आइटम की कीमत में बदलाव से रिकवर की जा सकने वाली गड़बड़ी होती है. मान्य प्रस्तावितऑर्डर के साथ वापस पाई जा सकने वाली गड़बड़ियां, पुष्टि के चरण में पहुंच जाती हैं और उपयोगकर्ता को कार्ट की समीक्षा करने की ज़रूरत नहीं पड़ती. |
|
paymentOptions |
PaymentOptions |
उपयोगकर्ता के लिए पेमेंट के डिफ़ॉल्ट विकल्प चुने गए. |
|
additionalPaymentOptions |
सूची<PaymentOptions > |
लोगों को पेमेंट के दूसरे विकल्प उपलब्ध हैं. |
इस उदाहरण में FoodErrorExtension
एलिमेंट दिखाया गया है:
उदाहरण
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension", "foodOrderErrors": [ { "error": "PRICE_CHANGED", "id": "sample_item_offer_id_1", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, { "error": "PRICE_CHANGED", "id": "sample_item_offer_id_2", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "8" } } ], "correctedProposedOrder": { "id": "sample_corrected_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "JCB", "VISA" ], "prepaidCardDisallowed": true } } }
FoodItemExtension
खाने-पीने की चीज़ों के लिए ऐड-ऑन के बारे में बताता है.
यहां दी गई टेबल में FoodItemExtension
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
@type |
कॉन्सटेंट | ज़रूरी है. इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.Order.FoodItemExtension" पर सेट रहता है. मान: |
|
options |
सूची<FoodItemOption > |
विकल्प कोई ऐड-ऑन आइटम या ऐड-ऑन ग्रुप हो सकता है जिसमें ऐड-ऑन का सेट शामिल हो. |
इस उदाहरण में FoodItemExtension
एलिमेंट दिखाया गया है:
उदाहरण
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1, "subOptions": [ { "id": "10239138", "offerId": "912391723", "name": "Fries", "price": { "currencyCode": "USD", "units": "2", "nanos": 230000000 }, "quantity": 1 } ] } ] }
FoodItemOption
यहां दी गई टेबल में FoodItemOption
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
id |
स्ट्रिंग |
Google की ओर से असाइन किया गया यूनीक आईडी. जब किसी FoodOrderError या AsyncOrderUpdateRequest को भेजा जाता है, तो इस फ़ील्ड का इस्तेमाल उन मामलों में अंतर करने के लिए किया जाता है जहां कार्ट में एक ही OfferId वाले एक से ज़्यादा आइटम होते हैं. उदाहरण: |
|
offerId |
स्ट्रिंग |
आइटम का ऑफ़र आईडी. उदाहरण: |
|
name |
स्ट्रिंग |
विकल्प का नाम. उदाहरण: |
|
price |
Money |
||
note |
स्ट्रिंग |
विकल्प के बारे में नोट. |
|
quantity |
Number |
आइटम वाले विकल्पों के लिए, आइटम की संख्या. उदाहरण: |
|
subOptions |
सूची<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 |
स्ट्रिंग |
यह फ़ील्ड, आइटम-लेवल की गड़बड़ियों के लिए ज़रूरी है. यह मेन्यू आइटम के लिए Google की ओर से असाइन की गई LineItem.id या ऐड-ऑन के लिए FoodItemOption.id है. |
|
description |
स्ट्रिंग |
गड़बड़ी की जानकारी. यह जानकारी इंटरनल लॉगिंग के लिए है. यह उपयोगकर्ताओं को नहीं दिखती. |
|
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 |
कॉन्सटेंट |
इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.Order.FoodOrderExtension" पर सेट रहते हैं. मान: |
|
availableFulfillmentOptions |
सूची<FulfillmentOption > |
इससे, ऑर्डर पूरा करने के लिए उपलब्ध विकल्पों की जानकारी मिलती है. |
|
optinForRemarketing |
बूलियन |
आपके मार्केटिंग चैनलों में ऑप्ट-इन करने के लिए उपयोगकर्ता का अनुरोध. डिफ़ॉल्ट रूप से, उपयोगकर्ता की सहमति के बिना मार्केटिंग कॉन्टेंट नहीं भेजा जा सकता. अगर ऑप्टिमाइज़ेशन के लिए रीमार्केटिंग सही है, तो आपके पास उपयोगकर्ता की सदस्यता लेने का विकल्प होता है. अगर ऑप्टइन के लिए रीमार्केटिंग की सुविधा गलत है या मौजूद नहीं है, तो आपको अपने सिस्टम में सदस्यता की स्थिति को वैसा ही बनाए रखना चाहिए. उपयोगकर्ता, Google से ऑप्ट आउट नहीं कर सकते. इसके लिए, उन्हें सिर्फ़ आपके मार्केटिंग चैनलों में सदस्यता छोड़ने की सुविधा उपलब्ध करानी होगी. यह फ़्लैग सिर्फ़ सबमिटOrderRequestMessage में मौजूद है. |
इस उदाहरण में FoodOrderExtension
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] }
उदाहरण 2
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2020-08-20T11:41:00Z" } ], "optinForRemarketing": true }
FulfillmentOption
FulfillmentOption
ऑब्जेक्ट का इस्तेमाल इन तरीकों से किया जा सकता है:
-
Checkout AppRequest
औरSubmit AppRequest
में,Cart.extension.fulfillmentPreference
: उपयोगकर्ता की पसंद (डिलीवरी या पिकअप) को सेव करता है. चेकआउट का अनुरोध भेजे जाने पर कीमत हमेशा 0 होती है. -
Checkout AppResponse
में,ProposedOrder.extension.availableFulfillmentOptions
: एक या ज़्यादा डिलीवरी विकल्पों के बारे में बताता है (फ़िलहाल, सिर्फ़ एक विकल्प काम करता है).ProposedOrder.otherItems
में डिफ़ॉल्ट विकल्प कोLineItem
के तौर पर तय किया जाता है.FulfillmentOption
काofferId
,ProposedOrder.otherItems
में दिए गएLineItem
के आईडी से मेल खाना चाहिए.
यहां दी गई टेबल में FulfillmentOption
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
offerId |
स्ट्रिंग |
ऑर्डर पूरा करने के इस विकल्प के लिए यूनीक आइडेंटिफ़ायर, अगर कोई हो. |
|
fulfillmentInfo |
FulfillmentOptionInfo |
ज़रूरी है. |
|
expiresAt |
ISO टाइमस्टैंप |
वह समय जब ऑर्डर पूरा करने के इस विकल्प की समयसीमा खत्म हो जाती है. |
|
price |
Money |
इस विकल्प की लागत. |
इस उदाहरण में FulfillmentOption
एलिमेंट दिखाया गया है:
उदाहरण
{ "offerId": "offer5", "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2019-05-02T00:00:00-07:00", "price": { "currencyCode": "USD", "units": "5", "nanos": 230000000 } }
FulfillmentOptionInfo
FulfillmentInfo
से जुड़ी जानकारी के बारे में बताता है.
यहां दी गई टेबल में FulfillmentOptionInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है. | |||
delivery |
समूह 1 | DeliveryInfo |
अगर मौजूद हो, तो डिलीवरी के ऑर्डर की जानकारी देता है. |
pickup |
समूह 2 | PickupInfo |
अगर मौजूद हो, तो पिकअप ऑर्डर की जानकारी देता है. |
इमेज
यहां दी गई टेबल में Image
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
sourceUrl |
स्ट्रिंग | ज़रूरी है. इमेज के लिए यूआरएल. कम से कम इमेज 72x72 पिक्सल की होनी चाहिए. बेहतर नतीजों के लिए, कम से कम 216x216 पिक्सल की इमेज इस्तेमाल करें. इमेज का साइज़ 6 एमबी और 64 मेगापिक्सल से कम होना चाहिए. |
LineItem
कार्ट के कॉन्टेंट (Cart.lineItems
) या ऑर्डर (ProposedOrder.otherItems
) के लिए लगने वाले अतिरिक्त शुल्क के बारे में बताता है.
यहां दी गई टेबल में LineItem
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
id |
स्ट्रिंग |
किसी कार्ट (ProposedOrder.cart.line आइटम[0].id) में लाइन आइटम के लिए, यह एक यूनीक आईडी होता है, जिसे Google ने ऑर्डर बनाते समय बनाया था. प्रस्तावितऑर्डर (ProposedOrder.otherItem[0].id) में लाइन आइटम के लिए, जिसका इस्तेमाल डिलीवरी शुल्क और टैक्स जैसे आइटम जोड़ने के लिए किया जाता है, आईडी की वैल्यू कंपनी तय करती है. उदाहरण के लिए, कार्ट में एक ही तरह के दो आइटम हैं, जिन्हें बनाने के लिए अलग-अलग निर्देश दिए गए हैं. जैसे, अलग-अलग तरह की टॉपिंग के साथ दो मीडियम पिज़्ज़ा. इस मामले में, दोनों आइटम का मूल OfferId एक ही है. जब किसी सामान को अस्वीकार किए जाने के बारे में बताने के लिए, ऑर्डर अपडेट करने का अनुरोध भेजा जाता है, तो इस आईडी को साफ़ तौर पर बताएं. दूसरे शब्दों में, अगर किसी पिज़्ज़ा को किसी खास टॉपिंग की कमी की वजह से अस्वीकार कर दिया जाता है, तो आईडी Google को यह तय करने में मदद करता है कि किस क्रम में किस आइटम की जानकारी दी जा रही है. अन्य आइटम के अलावा यह फ़ील्ड ज़रूरी है. |
|
name |
स्ट्रिंग | ज़रूरी है. लाइन आइटम का नाम. यह उपयोगकर्ता को दिखने वाली स्ट्रिंग है. जब भी हो सके, तब वाक्य में इस्तेमाल होना चाहिए, जैसे कि "डिलीवरी शुल्क", "सेवा शुल्क", "टैक्स". उपयोगकर्ताओं के लिए इस फ़ील्ड को 100 वर्णों तक सीमित कर दिया गया है. |
|
type |
LineItemType |
ज़रूरी है. |
|
quantity |
Integer |
शामिल किए गए आइटम की संख्या. प्रस्तावितऑर्डर.अन्य आइटम पर लागू नहीं होता. |
|
description |
स्ट्रिंग |
आइटम का ब्यौरा. |
|
price |
Price |
ज़रूरी है. आइटम या आइटम की कीमत. यह वैल्यू, इस लाइन आइटम के लिए सभी सामान या सेवाओं की कुल कीमत दिखाती है. दूसरे शब्दों में, किसी भी ऐड-ऑन की लागत जोड़ें और उसे संख्या से गुणा करें. उदाहरण के लिए: अगर 10 डॉलर के किसी आइटम की संख्या 3 है, तो कीमत 30 डॉलर होगी. 5 डॉलर और एक डॉलर के ऐड-ऑन की मूल कीमत वाले एक पिज़्ज़ा की कीमत 6 डॉलर होगी. दो पिज़्ज़ा (संख्या = 2) की मूल कीमत 5 डॉलर और हर एक ऐड-ऑन की मूल कीमत 1 डॉलर है. ऐसे में, हर पिज़्ज़ा की कीमत 12 डॉलर होगी. हर LineItem की कीमत होनी चाहिए, भले ही उसकी कीमत "0" हो. जब टाइप DISCOUNT होता है, तो वैल्यू को नेगेटिव के तौर पर बताएं (उदाहरण के लिए, "-2"). |
|
subLines |
सूची<SublineNote > |
ज़रूरी नहीं. टाइप "REGULAR" होने पर ही मान्य होगा. चेकआउट अनुरोध और ऑर्डर सबमिशन अनुरोध में उपयोगकर्ता की ओर से एक आइटम के लिए खास नोट इस फ़ील्ड में भेजा जा सकता है. पक्का करें कि दिए जाने पर व्यापारी को नोट मिल जाए. यह सबलाइन[0].note के तौर पर अनुरोध में होगा, जो इस फ़ील्ड में दी गई इकलौती वैल्यू है, जब यह किसी अनुरोध में मौजूद होती है. 1 से ज़्यादा आइटम नहीं होना चाहिए. |
|
offerId |
स्ट्रिंग |
आइटम के लिए MenuItem का ऑफ़र आईडी. प्रस्तावितऑर्डर.अन्य आइटम पर लागू नहीं होता. |
|
extension |
FoodItemExtension |
खाने-पीने की चीज़ों के लिए ऐड-ऑन के बारे में बताता है. |
इस उदाहरण में LineItem
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }
उदाहरण 2
{ "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }
LineItemType
LineItemType
टाइप की वैल्यू यहां दी गई है:
REGULAR
: सामान का लाइन आइटम. Cart.lineitems पर लागू होता है.TAX
: टैक्स लाइन आइटम. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.DISCOUNT
: छूट वाला लाइन आइटम. ध्यान दें कि कीमत नेगेटिव होनी चाहिए. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.GRATUITY
: ग्रेच्यूटी लाइन आइटम. आम तौर पर, उपयोगकर्ता की चुनी गई सलाह के लिए, सबमिटOrderRequestMessage के लिए रिज़र्व रखा जाता है. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.DELIVERY
: डिलीवरी लाइन आइटम. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.SUBTOTAL
: सबटोटल लाइन आइटम. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.FEE
: अतिरिक्त लाइन आइटम, जो अन्य टाइप में शामिल नहीं है. प्रस्तावितऑर्डर अन्य आइटम पर लागू होते हैं.
जगह
खाने-पीने की चीज़ें ऑर्डर करने के लिए पता देता है.Location
टाइप का इस्तेमाल,
Cart
में सिर्फ़ डिलीवरी ऑर्डर का डेस्टिनेशन बताने के लिए किया जाता है.
अगर उपयोगकर्ता ऑर्डर देता है, तो फ़ाइनल की गई जगह TransactionDecisionValue
में भी मौजूद होती है. पिकअप की जानकारी देने वाले ऑर्डर के लिए, जगह को शामिल नहीं किया जाता (यहां तक कि कोई खाली जगह भी नहीं).
यहां दी गई टेबल में Location
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
coordinates |
Coordinates |
||
formattedAddress |
स्ट्रिंग |
जगह का पता दिखाना. उदाहरण: |
|
postalAddress |
PostalAddress |
||
zipCode |
स्ट्रिंग |
उदाहरण: |
|
city |
स्ट्रिंग |
शहर का नाम. उदाहरण: |
|
notes |
स्ट्रिंग |
जगह के बारे में नोट, जैसे कि गेट कोड. इसमें 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 |
स्ट्रिंग |
व्यापारी/कंपनी का आईडी. अगर बताया गया है, तो रेस्टोरेंट फ़ीड में Restaurant.@id से मेल खाता है. उदाहरण: |
|
name |
स्ट्रिंग | ज़रूरी है. उपयोगकर्ता को दिखने वाला व्यापारी या कंपनी का नाम. उदाहरण: |
इस उदाहरण में Merchant
एलिमेंट दिखाया गया है:
उदाहरण
{ "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }
धन
यहां दी गई टेबल में Money
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
currencyCode |
स्ट्रिंग | ज़रूरी है. ISO 4217 फ़ॉर्मैट में तीन अक्षर का मुद्रा कोड. उदाहरण: |
|
units |
स्ट्रिंग |
रकम की पूरी इकाइयां. उदाहरण के लिए, अगर currencyCode "USD" है, तो "1" यूनिट एक डॉलर होगी. उदाहरण: |
|
nanos |
Integer |
मात्रा में नैनो (10^-9) यूनिट की संख्या. यह वैल्यू -9,99,99,999 से 9,99,99,999 के बीच की होनी चाहिए. इन नियमों का इस्तेमाल करें: अगर इकाइयां पॉज़िटिव हैं, तो नैनो को पॉज़िटिव या शून्य होना चाहिए. अगर इकाइयां शून्य हैं, तो नैनोस धनात्मक, शून्य या ऋणात्मक हो सकता है. अगर यूनिट ऋणात्मक हैं, तो नैनो को नेगेटिव या शून्य होना चाहिए. उदाहरण के लिए, $-1.75 को यूनिट = -1 और nanos = -7,50,000,000 के तौर पर दिखाया जाता है. उदाहरण: |
इस उदाहरण में Money
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "currencyCode": "USD", "units": "36", "nanos": 730000000 }
उदाहरण 2
{ "currencyCode": "EUR", "units": "10" }
ऑर्डर
इसमें आखिरी ऑर्डर शामिल होता है. इसमें टैक्स, शुल्क, और डिलीवरी के शुल्क के साथ-साथ क्रेडिट/डेबिट कार्ड की जानकारी भी शामिल होती है. यह ऑब्जेक्ट,Submit AppRequest
में आपकी कार्रवाई से मिला है.
यहां दी गई टेबल में Order
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
finalOrder |
ProposedOrder |
ज़रूरी है. वह प्रस्तावित ऑर्डर जिसकी वजह से ऑर्डर हुआ. |
|
googleOrderId |
स्ट्रिंग | ज़रूरी है. Google की ओर से असाइन किया गया ऑर्डर आईडी. किसी ऑर्डर की पूरी लाइफ़ साइकल के लिए, यह आईडी एक जैसा रहना चाहिए. यह आईडी, असली उपयोगकर्ता को नहीं दिखता. |
|
orderDate |
ISO टाइमस्टैंप | ज़रूरी है. ऑर्डर बनाने की तारीख और समय. |
|
paymentInfo |
PaymentInfo |
ज़रूरी है. इस ऑर्डर के पेमेंट से जुड़ी पेमेंट की जानकारी. |
इस उदाहरण में Order
एलिमेंट दिखाया गया है:
उदाहरण
{ "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } }
OrderUpdate
नीचे दी गई टेबल में, OrderUpdate टाइप के उन फ़ील्ड के बारे में बताया गया है जिन्हेंAppResponse
में शामिल किया गया है.
यहां दी गई टेबल में OrderUpdate
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
actionOrderId |
स्ट्रिंग | ज़रूरी है. इंटिग्रेटर के सिस्टम में मौजूद ऑर्डर का यूनीक आईडी, जिसका इस्तेमाल उस ऑर्डर की पहचान करने के लिए किया जाता है जिसके लिए अपडेट भेजा जाता है. अगर "CREATED" ऑर्डर के लिए, transaction.user_visible_order_id की जानकारी कम से कम एक बार नहीं दी जाती है, तो उपयोगकर्ता को दिया जाने वाला यह आईडी, Google के ऑर्डर कार्ड में दिखाया जाएगा. |
|
orderState |
OrderState |
ज़रूरी है. ऑर्डर की नई स्थिति. |
|
lineItemUpdates |
मैप<स्ट्रिंग, LineItemUpdate > |
||
updateTime |
ISO टाइमस्टैंप | ज़रूरी है. ऑर्डर अपडेट करने का समय. |
|
orderManagementActions |
सूची<OrderManagementAction > |
ऑर्डर करने के बाद की जाने वाली कार्रवाइयां, जैसे कि सहायता टीम से संपर्क करना और ऑर्डर की जानकारी देखना. इसमें कम से कम एक आइटम और 6 से ज़्यादा आइटम नहीं होने चाहिए. |
|
rejectionInfo |
RejectionInfo |
|
|
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 |
स्ट्रिंग |
पिकअप का अनुमानित समय, ISO 8601 टाइम स्टैंप फ़ॉर्मैट में: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" या अवधि का फ़ॉर्मैट: "P(n)Y(n)M(n)DT(n)H(n)M(n)S". उदाहरण के लिए, PT90M 90 मिनट की अवधि का प्रतिनिधित्व करता है. डिफ़ॉल्ट वैल्यू ,"PT0M" से पता चलता है कि पिकअप का पसंदीदा समय जल्द से जल्द है. इससे जुड़ी जानकारी के लिए यह लिंक देखें: https://en.wikipedia.org/wiki/ISO_8601#Unitedd_date_and_time_representations. चेकआउट के जवाब के दौरान, पिकअप का अनुमानित समय अपडेट करने के लिए इसका इस्तेमाल करें. उदाहरण: |
इस उदाहरण में PickupInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "pickupTimeIso8601": "PT90M" }
PostalAddress
यहां दी गई टेबल में PostalAddress
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
regionCode |
स्ट्रिंग | ज़रूरी है. दो अक्षरों वाला देश कोड. उदाहरण: |
|
postalCode |
स्ट्रिंग |
पिन कोड. उदाहरण: |
|
administrativeArea |
स्ट्रिंग |
सबसे ऊपर वाला एडमिन सबडिवीज़न, जिसका इस्तेमाल किसी देश या इलाके के डाक पतों के लिए किया जाता है. यह कोई राज्य, प्रांत, ओब्लास्ट या प्रांत हो सकता है. उदाहरण: |
|
locality |
स्ट्रिंग |
इस जगह का शहर या नगर. दुनिया के जिन क्षेत्रों में इलाके अच्छी तरह से परिभाषित नहीं हैं या इस संरचना में फ़िट नहीं होते हैं, वहां शहर का नाम न डालें और इसके बजाय 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 |
स्ट्रिंग | ज़रूरी है. प्रमोशन कूपन कोड. |
ProposedOrder
यहां दी गई टेबल में ProposedOrder
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
id |
स्ट्रिंग |
प्रस्तावित ऑर्डर के लिए वैकल्पिक आईडी. |
|
cart |
Cart |
ज़रूरी है. उपयोगकर्ता के आइटम. |
|
otherItems |
सूची<LineItem > |
सेवा देने वाली कंपनी की ओर से जोड़े गए आइटम, जैसे कि डिलीवरी शुल्क, अन्य शुल्क, और टैक्स. अन्य आइटम में भी, उपयोगकर्ताओं की ओर से जोड़ी गई छूट और/या छूट शामिल हो सकती है. 10 से ज़्यादा आइटम नहीं होने चाहिए. |
|
image |
Image |
प्रस्तावित ऑर्डर से जुड़ी इमेज. |
|
totalPrice |
Price |
ज़रूरी है. प्रस्तावित ऑर्डर की कुल कीमत. |
|
extension |
FoodOrderExtension |
ज़रूरी है. इससे खाने-पीने के ऑर्डर पूरे करने के तरीके की जानकारी मिलती है. |
|
disclaimers |
सूची<Disclaimer > |
यह ऑर्डर देने से पहले, यूज़र इंटरफ़ेस (यूआई) में दिखाए जाने वाले डिसक्लेमर मैसेज से मेल खाता है. |
इस उदाहरण में ProposedOrder
एलिमेंट दिखाया गया है:
उदाहरण
{ "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }
SublineNote
यहां दी गई टेबल में SublineNote
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
note |
स्ट्रिंग | ज़रूरी है. |
टाइमस्टैंप
इस फ़ॉर्मैट में तारीख और समय:
"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
TransactionDecisionValue
इसमेंOrder
शामिल है.
यहां दी गई टेबल में TransactionDecisionValue
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
order |
Order |
ज़रूरी है. पैसे चुकाने की जानकारी के साथ दिया जाने वाला ऑर्डर. |
इस उदाहरण में TransactionDecisionValue
एलिमेंट दिखाया गया है:
उदाहरण
{ "order": { "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } } }
ऑर्डर पूरा करने का अनुरोध
AppRequest
यहां दी गई टेबल में AppRequest
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
isInSandbox |
बूलियन |
यह बताता है कि बाद में होने वाले लेन-देन, सैंडबॉक्स एनवायरमेंट में किए गए हैं या नहीं. |
|
conversation |
Conversation |
||
inputs |
सूची<Input > |
ज़रूरी है. इसमें कार्ट से चेकआउट करने के लिए ज़रूरी तर्क शामिल होते हैं. इसमें एक आइटम होना चाहिए. |
इस उदाहरण में AppRequest
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "isInSandbox": true, "inputs": [ { "intent": "actions.foodordering.intent.CHECKOUT", "arguments": [ { "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } } } ] } ] }
उदाहरण 2
{ "isInSandbox": true, "inputs": [ { "intent": "actions.intent.TRANSACTION_DECISION", "arguments": [ { "transactionDecisionValue": { "order": { "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } } } } ] } ] }
CheckoutRequestMessage
CheckoutRequestMessage
, actions.foodordering.intent.CHECKOUT
इंटेंट वाला एक AppRequest
है.
SubmitOrderRequestMessage
SubmitOrderRequestMessage
, actions.foodordering.intent.TRANSACTION_DECISION
इंटेंट वाला एक AppRequest
है.
दर्शकों से बातचीत करें
Conversation
सिर्फ़ एक सेशन के लिए यूनीक होता है. अगर ज़रूरी हो, तो इसका इस्तेमाल कई
Checkout
और SubmitOrder
कार्रवाइयों को एक साथ लिंक करने के लिए किया जा सकता है.
यहां दी गई टेबल में Conversation
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
conversationId |
स्ट्रिंग | ज़रूरी है. बातचीत के लिए यूनीक आईडी. |
इस उदाहरण में Conversation
एलिमेंट दिखाया गया है:
उदाहरण
{ "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ" }
इनपुट
कार्ट से चेकआउट करने के लिए ज़रूरी तर्क.
यहां दी गई टेबल में Input
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
intent |
Enum [
"actions.foodordering.intent.CHECKOUT",
"actions.intent.TRANSACTION_DECISION"
] |
ज़रूरी है. चेकआउट के अनुरोध के मैसेज के लिए, "actions.foodordering.intent.एक्सप्रेशन" पर सेट करें या ऑर्डर का अनुरोध सबमिट करने के लिए, "actions.intent.TRANSACTION_DECISION" को सेट करें. |
|
arguments |
सूची<Argument > |
ज़रूरी है. इसमें, चेक आउट करने के लिए कार्ट शामिल है या ऑर्डर किया जाना है इसमें एक आइटम होना चाहिए. |
आर्ग्यूमेंट
इसमें उन खाने-पीने की चीज़ों के बारे में जानकारी होती है जिन्हें कोई व्यक्ति देखना चाहता है. चेकआउट के लिए, सिर्फ़ एक्सटेंशन लागू होता है. ऑर्डर सबमिट करने के लिए, सिर्फ़ transactionDiisionValue लागू होता है
यहां दी गई टेबल में Argument
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है. | |||
extension |
समूह 1 | Cart |
उन खाने-पीने की चीज़ों की जानकारी दें जिन्हें उपयोगकर्ता देखना चाहता है. |
transactionDecisionValue |
समूह 2 | TransactionDecisionValue |
इसमें पेमेंट के तरीके की जानकारी के साथ, ऑर्डर दिया जाना शामिल होता है. |
ग्राहक को भेजे गए आइटम का जवाब
AppResponse
यहां दी गई टेबल में AppResponse
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
expectUserResponse |
कॉन्सटेंट |
'गलत' पर सेट करें. मान: |
|
finalResponse |
FinalResponse |
ज़रूरी है. इसमें कार्ट चेकआउट के बारे में आपका जवाब शामिल होता है. |
इस उदाहरण में AppResponse
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "checkoutResponse": { "proposedOrder": { "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }, "additionalPaymentOptions": [ { "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Cash on delivery." } } ] } } } ] } } }
उदाहरण 2
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "CUSTOMER_SERVICE", "button": { "title": "Call customer service", "openUrlAction": { "url": "tel:+18005554679" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } } } ] } } }
तीसरा उदाहरण
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "error": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension", "foodOrderErrors": [ { "error": "CLOSED", "description": "The restaurant is closed." } ] } } } ] } } }
उदाहरण 4
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "checkoutResponse": { "proposedOrder": { "otherItems": [ { "name": "Delivery Fees", "subLines": [], "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "subLines": [], "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } }, "type": "TAX" }, { "name": "Promotion", "subLines": [], "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": 0 } }, "id": "OWG_ACTIVE_CODE", "type": "DISCOUNT" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "promotions": [ { "coupon": "OWG_ACTIVE_CODE" } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "14", "nanos": 860000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2018-04-10T01:20:08.471Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "VISA", "JCB" ], "prepaidCardDisallowed": true, "billingAddressRequired": true } } } } } ] } } }
CheckoutResponseMessage
CheckoutResponseMessage
एक AppResponse
है, जिसका
StructuredResponse
में checkoutResponse
या error
होता है.
SubmitOrderResponseMessage
ASubmitOrderResponseMessage
एक AppResponse
होता है, जो StructuredResponse
में
orderUpdate
होता है.
FinalResponse
कार्ट के चेकआउट या सबमिटOrderRequestMessage पर आपका जवाब.
यहां दी गई टेबल में FinalResponse
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
richResponse |
RichResponse |
ज़रूरी है. इसमें CheckoutRequestMessage या सबमिटOrderRequestMessage का आपका जवाब शामिल होता है. |
CheckoutResponse
यहां दी गई टेबल में CheckoutResponse
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
proposedOrder |
ProposedOrder |
ज़रूरी है. लेन-देन के लिए इस्तेमाल करने के लिए सुझाया गया ऑर्डर. |
|
paymentOptions |
PaymentOptions |
ज़रूरी है. उपयोगकर्ता के लिए पेमेंट का डिफ़ॉल्ट विकल्प चुना गया. |
|
additionalPaymentOptions |
सूची<PaymentOptions > |
लोगों को पेमेंट के दूसरे विकल्प उपलब्ध हैं. |
इस उदाहरण में CheckoutResponse
एलिमेंट दिखाया गया है:
उदाहरण
{ "proposedOrder": { "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }, "additionalPaymentOptions": [ { "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Cash on delivery." } } ] }
आइटम
इसमें कार्ट चेकआउट या सबमिटOrderRequestMessage का आपका जवाब शामिल होता है.
यहां दी गई टेबल में Item
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
structuredResponse |
StructuredResponse |
ज़रूरी है. |
RichResponse
इसमें कार्ट चेकआउट के बारे में आपका जवाब शामिल होता है.
यहां दी गई टेबल में RichResponse
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
items |
सूची<Item > |
ज़रूरी है. इसमें एक आइटम होना चाहिए. |
StructuredResponse
CheckoutResponseMessage के लिए, यह इनमें से कोई एक हो सकता है: CheckoutResponse, सही चेकआउट को दिखाता है. या FoodErrorExtension: चेकआउट के दौरान गड़बड़ी को दिखाता है. इस जवाब में सही OfferOrder और PaymentOptions या कोई PaymentOptions नहीं वाला गड़बड़ी का मैसेज शामिल किया जा सकता है. सबमिट किए जाने वाले ऑर्डर का जवाब देने से जुड़े मैसेज (पीओ) के लिए, सिर्फ़ ऑर्डर अपडेट लागू होता है.
यहां दी गई टेबल में StructuredResponse
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है. | |||
checkoutResponse |
समूह 1 | CheckoutResponse |
चेक आउट किए गए आइटम, टैक्स, और छूट. |
error |
समूह 2 | FoodErrorExtension |
कार्ट में मौजूद आइटम में गड़बड़ियां मिलीं. गड़बड़ी किस तरह की है, उसके आधार पर इस प्रॉपर्टी में सही OfferOrder और PaymentOptions शामिल किया जा सकता है. इसके अलावा, इसमें PaymentOptions के बिना गड़बड़ी का सिर्फ़ एक मैसेज भी शामिल किया जा सकता है. |
orderUpdate |
समूह 3 | OrderUpdate |
एसिंक्रोनस ऑर्डर अपडेट
इस सेक्शन में उन हाई लेवल टाइप के बारे में बताया गया है जिनसे खाने का ऑर्डर करने के लिए बने सामान्य बिल्ट-इन ऐक्शन इंटरैक्शन के अनुरोध और रिस्पॉन्स शामिल होते हैं.AsyncOrderUpdateRequestMessage
ऑर्डर सबमिट होने और उसकी पुष्टि होने के बाद, उपयोगकर्ता को बदलावों के बारे में सूचना देता है. उदाहरण के लिए, उपयोगकर्ता को यह सूचना दी जा सकती है कि ऑर्डर ट्रांज़िट में है या उसकी कीमत बदल गई है. ज़्यादा जानकारी के लिए, इसे देखेंयहां दी गई टेबल में AsyncOrderUpdateRequestMessage
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
isInSandbox |
बूलियन |
इससे पता चलता है कि जिस ऑर्डर के लिए यह अपडेट भेजा गया था वह सैंडबॉक्स पेमेंट है. |
|
customPushMessage |
CustomPushMessage |
ज़रूरी है. इसमें अनुरोध के लिए OrderUpdate होता है. |
इस उदाहरण में AsyncOrderUpdateRequestMessage
एलिमेंट दिखाया गया है:
उदाहरण
{ "isInSandbox": true, "customPushMessage": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } } }
AsyncOrderUpdateResponseMessage
AsyncOrderUpdateRequestMessage
भेजने के बाद, Google जवाब में एचटीटीपी 200 स्टेटस दिखाता है और जवाब में खाली बॉडी दिखती है. अगर अपडेट पूरा नहीं हो पाया, तो Google जवाब में ऑर्डर अपडेट न होने की वजह बताता है.
ऑर्डर अपडेट करने के टाइप
बटन
इससे एक यूज़र इंटरफ़ेस एलिमेंट की जानकारी मिलती है. इसे यूज़र इंटरैक्शन के लिए जोड़ा जा सकता है.
यहां दी गई टेबल में Button
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
title |
स्ट्रिंग | ज़रूरी है. डिसप्ले लेबल. सही रेंडरिंग के लिए, ऐसे वाक्य का इस्तेमाल करें जिसमें 30 या उससे कम वर्ण हों. उदाहरण: |
|
openUrlAction |
OpenUrlAction |
ज़रूरी है. |
इस उदाहरण में Button
एलिमेंट दिखाया गया है:
उदाहरण
{ "title": "Send us feedback", "openUrlAction": { "url": "mailto:person@example.com" } }
CancellationInfo
यहां दी गई टेबल में CancellationInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
reason |
स्ट्रिंग | ज़रूरी है. 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 |
कॉन्सटेंट |
इस एक्सटेंशन का टाइप. यह फ़ील्ड हमेशा "type.googleapis.com/google.actions.v2.order.FoodOrderUpdateExtension" पर सेट रहता है. मान: |
|
estimatedFulfillmentTimeIso8601 |
स्ट्रिंग |
ऑर्डर की डिलीवरी होने या उसे पिक अप करने का अनुमानित समय. स्ट्रिंग ISO 8601 फ़ॉर्मैट में होनी चाहिए और इसे किसी तय समय के बजाय किसी इंटरवल से जुड़ा होना चाहिए. मान्य तरीके ये हैं: इंटरवल, अवधि, और तारीख/समय. जानकारी उपलब्ध हो जाने या कोई बदलाव होने पर, जैसे कि जल्दी या देर से पहुंचने पर, इस फ़ील्ड को सबमिटOrderResponseMessage या AsyncOrderUpdateRequestMessage में भेजा जा सकता है. उदाहरण: |
|
foodOrderErrors |
सूची<FoodOrderError > |
पोस्ट-ऑर्डर होने के बाद होने वाली गड़बड़ियों की जानकारी देता है. हमारा सुझाव है कि हर कार्ट या हर आइटम के लिए एक गड़बड़ी की सूचना दें. ऐसी किसी भी गड़बड़ी के लिए FoodOrderUpdateExtension.FoodOrderErrors का इस्तेमाल करें जिसे अस्वीकार करने की जानकारी में शामिल नहीं किया गया है. एक आइटम से कम नहीं होना चाहिए. |
इस उदाहरण में FoodOrderUpdateExtension
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" }
उदाहरण 2
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "foodOrderErrors": [ { "error": "NO_CAPACITY", "description": "Sorry, the restaurant cannot take your order right now." } ] }
FulfillmentInfo
यहां दी गई टेबल में FulfillmentInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है. | |||
deliveryTime |
समूह 1 | ISO टाइमस्टैंप |
FoodOrderingUpdateExtension मैसेज में अनुमानितFulfillmentTimeIso8601 का इस्तेमाल करें |
pickupTime |
समूह 2 | ISO टाइमस्टैंप |
FoodOrderingUpdateExtension मैसेज में अनुमानितFulfillmentTimeIso8601 का इस्तेमाल करें |
इस उदाहरण में FulfillmentInfo
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "deliveryTime": "2017-05-10T02:36:38.803Z" }
उदाहरण 2
{ "pickupTime": "2019-12-26T07:24:27.803Z" }
InTransitInfo
यहां दी गई टेबल में InTransitInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
updatedTime |
ISO टाइमस्टैंप |
FoodOrderingUpdateExtension मैसेज में अनुमानितFulfillmentTimeIso8601 का इस्तेमाल करें |
इस उदाहरण में InTransitInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "updatedTime": "2017-05-10T02:36:38.803Z" }
LineItemUpdate
यहां दी गई टेबल में LineItemUpdate
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
orderState |
OrderState |
||
price |
Price |
||
reason |
स्ट्रिंग |
बदलाव की वजह. कीमत में बदलाव के लिए ज़रूरी है. |
इस उदाहरण में LineItemUpdate
एलिमेंट दिखाया गया है:
उदाहरण
{ "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "5", "nanos": 500000000 } }, "reason": "Menu updated prices." }
OpenUrlAction
यहां दी गई टेबल में OpenUrlAction
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
url |
स्ट्रिंग | ज़रूरी है. बटन पर क्लिक करने या उसे छूने पर ट्रिगर की गई कार्रवाई. लागू प्रीफ़िक्स की सूची, orderManagementActionType पर निर्भर करती है. "EMAIL": प्रीफ़िक्स "mailto" होना चाहिए. "CALL": प्रीफ़िक्स "tel" होना चाहिए. "CUSTOMER_SERVICE": प्रीफ़िक्स "mailto", "tel", "http" या "https" होना चाहिए. उदाहरण: |
OrderManagementAction
ऑर्डर मैनेजमेंट की मदद से, लोगों को ऑर्डर के बाद सहायता मिलती है. हर OrderUpdate
में, यह जानकारी सबमिट किए जाने के क्रम में ही भेजी जानी चाहिए
AppResponse
और हर AsyncOrderUpdateRequestMessage
किसी खास ऑर्डर के लिए भेजी जाने वाली ऑर्डर मैनेजमेंट कार्रवाइयां, हर स्थिति के हिसाब से
अलग-अलग हो सकती हैं.
उदाहरण के लिए, "बनाया गया" स्थिति में, CUSTOMER_SERVICE
आपके
ग्राहक सहायता टेलीफ़ोन का रेफ़रंस दे सकता है. इसके बाद, "पुष्टि हो गई" स्टेटस में, CUSTOMER_SERVICE
रेस्टोरेंट के टेलीफ़ोन को तब बदला जा सकता है, जब उसे
ग्राहक से संपर्क करने का सबसे बेहतर तरीका माना जाए. इसी तरह, ऑर्डर के "पूरा किया गया" स्थिति में आने पर,
CUSTOMER_SERVICE
आपके सहायता ईमेल पतों का रेफ़रंस दे सकता है.
यहां दी गई टेबल में OrderManagementAction
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
type |
OrderManagementActionType |
ज़रूरी है. |
|
button |
Button |
ज़रूरी है. |
इस उदाहरण में OrderManagementAction
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }
उदाहरण 2
{ "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }
OrderManagementActionType
OrderManagementAction
से जुड़े टाइप बताता है.
OrderManagementActionType
टाइप की वैल्यू यहां दी गई है:
CUSTOMER_SERVICE
: ऑर्डर की पुष्टि करने वाले पेज पर दिखाया जाने वाला, ग्राहक सेवा का ईमेल और/या संपर्क नंबर. यह ज़रूरी है. openUrlAction.url प्रीफ़िक्स "mailto", "tel", "http" या "https" होना चाहिए.EMAIL
: सिर्फ़ ऑर्डर की ज़्यादा जानकारी वाले पेज पर ईमेल से की जाने वाली कार्रवाई. openUrlAction.url प्रीफ़िक्स "mailto" होना चाहिए.CALL_DRIVER
: सिर्फ़ ऑर्डर की ज़्यादा जानकारी वाले पेज पर कॉल ऐक्शन. openUrlAction.url प्रीफ़िक्स "tel" होना चाहिए.CALL_RESTAURANT
: सिर्फ़ ऑर्डर की ज़्यादा जानकारी वाले पेज पर कॉल ऐक्शन. openUrlAction.url प्रीफ़िक्स "tel" होना चाहिए.
OrderState
ऑर्डर की मौजूदा स्थिति. OrderState
की हर state
वैल्यू
myaccount.google.com पर मौजूद खरीदारी की स्थिति से भी मेल खाती है.
यहां दी गई टेबल में OrderState
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
state |
OrderStateEnum |
ज़रूरी है. |
|
label |
स्ट्रिंग | ज़रूरी है. राज्य के लिए उपयोगकर्ता को दिखने वाली डिसप्ले स्ट्रिंग. अंग्रेज़ी के वाक्यों में, पहला वर्ण बड़ा (अपर केस में) रखें. उदाहरण: |
इस उदाहरण में OrderState
एलिमेंट दिखाया गया है:
उदाहरण
{ "state": "CONFIRMED", "label": "Provider confirmed" }
OrderStateEnum
OrderState
से जुड़े टाइप बताता है.
OrderStateEnum
टाइप की वैल्यू यहां दी गई है:
CREATED
: ऐसा ऑर्डर जिसे इंटिग्रेटर ने बनाया है और सेवा देने वाली कंपनी से पुष्टि का इंतज़ार किया जा रहा है. "ऑर्डर किया गया" खरीदारी की स्थिति से मेल खाता है.CONFIRMED
: सेवा देने वाली कंपनी ने ऑर्डर की पुष्टि की है और वह चालू है. खरीदारी की स्थिति "स्वीकार की गई" से मेल खाती हो.REJECTED
: इंटिग्रेटर या सेवा देने वाली कंपनी ने ऑर्डर अस्वीकार कर दिया है. "अस्वीकार किया गया" खरीदारी की स्थिति दिखाता है.CANCELLED
: उपयोगकर्ता ने ऑर्डर रद्द कर दिया. "रद्द की गई" खरीदारी की स्थिति से मेल खाती हो.IN_PREPARATION
: खाना बनाया जा रहा है. "स्थिति के बारे में जानकारी नहीं है" से मिलती-जुलती खरीदारी की स्थिति.READY_FOR_PICKUP
: खाना पिक अप के लिए तैयार है. "पिक अप के लिए तैयार" की खरीदारी की स्थिति से मेल खाता हो.IN_TRANSIT
: ऑर्डर डिलीवर किया जा रहा है. "जारी है" खरीदारी की स्थिति से मेल खाता है.FULFILLED
: उपयोगकर्ता को वह मिला जो ऑर्डर किया गया था. "पिक अप की गई" खरीदारी की स्थिति से मेल खाता है.
रसीद
इस टाइप को सबमिट किए गए ऑर्डरAppResponse
में भेजें,
जहां OrderState
"पुष्टि की गई", "FULFILLED" या "IN_transit" है. userVisibleOrderId
उपलब्ध होने पर
रसीद भेजें. आपको बाद के अपडेट में रसीद भेजते रहने की ज़रूरत नहीं है.
यहां दी गई टेबल में Receipt
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
userVisibleOrderId |
स्ट्रिंग | ज़रूरी है. अगर ऑर्डर की वैल्यू "पुष्टि की गई", "IN_ पड़ने" या "FULFILLED" है, तो इसे भरना ज़रूरी है. यह फ़ील्ड इस ऑर्डर के लिए उपयोगकर्ता के लिए उपलब्ध एक आईडी (आम तौर पर रेस्टोरेंट का ऑर्डर आईडी) होता है, जो इंटिग्रेटर की रसीद और Google ऑर्डर कार्ड, दोनों में दिखता है. उपयोगकर्ता के पास यह आईडी होना चाहिए कि वह इस आईडी का इस्तेमाल करके, ग्राहक सेवा से जुड़े अपने ऑर्डर का रेफ़रंस, सेवा देने वाली कंपनी और इंटिग्रेटर से दे सके. आपको किसी भी दिए गए OrderUpdate में यह आईडी सिर्फ़ एक बार देना होगा. जब तक यह नहीं दिया जाता, तब तक action OrderId ही uservisibleOrderId होता है. उदाहरण के लिए, हो सकता है कि जब तक रेस्टोरेंट के ऑर्डर की पुष्टि नहीं हो जाती, तब तक आपके पास uservisibleOrderId न हो. पुष्टि होने के बाद, आपको एक OrderUpdate और रसीद के साथ AsyncOrderUpdateRequestMessage की मदद से भेजना होगा. |
इस उदाहरण में Receipt
एलिमेंट दिखाया गया है:
उदाहरण
{ "userVisibleOrderId": "userVisibleId1234" }
RejectionInfo
यहां दी गई टेबल में RejectionInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
type |
RejectionType |
ज़रूरी है. |
|
reason |
स्ट्रिंग |
इंटरनल लॉगिंग के लिए इस्तेमाल किए गए अस्वीकार करने की वजह. यह फ़ील्ड उपयोगकर्ताओं को नहीं दिखता है. |
इस उदाहरण में RejectionInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "type": "PAYMENT_DECLINED", "reason": "There is an issue with payment processing." }
RejectionType
RejectionType
टाइप की वैल्यू यहां दी गई है:
INELIGIBLE
: नीति या जोखिम से जुड़ी समस्याओं की वजह से, उपयोगकर्ता इस प्रोग्राम में हिस्सा नहीं ले सकता.PAYMENT_DECLINED
: पैसे चुकाने की प्रक्रिया में कोई समस्या आ रही है.UNAVAILABLE_SLOT
: डिलीवरी की जानकारी या पिकअप जानकारी के ज़रिए बताए गए समय पर, ऑर्डर पूरा नहीं किया जा सकता.PROMO_NOT_APPLICABLE
: प्रमोशन में कोई समस्या है.UNKNOWN
: कोई और वजह.
पेमेंट के तरीके
इस सेक्शन में बताया गया है कि खाना ऑर्डर करने की सुविधा के लिए, पैसे चुकाने के किस तरीके का इस्तेमाल किया जाता है.ActionProvidedPaymentOptions
कार्रवाई के लिए उपलब्ध पेमेंट के तरीके से जुड़ी ज़रूरी शर्तें.
यहां दी गई टेबल में ActionProvidedPaymentOptions
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
paymentType |
PaymentType |
ज़रूरी है. |
|
displayName |
स्ट्रिंग | ज़रूरी है. रसीद पर मौजूद, पैसे चुकाने के तरीके का नाम. उदाहरण: |
|
onFulfillmentPaymentData |
OnFulfillmentPaymentData |
पेमेंट टाइप "ON_FULFILLMENT" के लिए अतिरिक्त डेटा. उदाहरण के लिए, इस फ़ील्ड का इस्तेमाल करके यह बताया जा सकता है कि ऑर्डर पूरा करने के लिए नकद या कार्ड का इस्तेमाल किया जा सकता है या नहीं. |
इस उदाहरण में ActionProvidedPaymentOptions
एलिमेंट दिखाया गया है:
उदाहरण
{ "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } }
AllowedAuthMethods
AllowedAuthMethods
टाइप की वैल्यू यहां दी गई है:
PAN_ONLY
: उपयोगकर्ता के Google खाते की फ़ाइल में सेव किए गए पेमेंट कार्ड से जुड़ी पुष्टि करने का तरीका. पेमेंट के तरीके से जुड़े डेटा में निजी खाता नंबर (पैन) शामिल होता है. इस डेटा में, खत्म होने की तारीख का महीना और खत्म होने की तारीख की जानकारी शामिल होती है.
AllowedCardNetworks
AllowedCardNetworks
टाइप की वैल्यू यहां दी गई है:
AMEX
DISCOVER
INTERAC
JCB
MASTERCARD
VISA
BillingAddressParameters
यह ऑब्जेक्ट आपको किसी अनुरोध किए गए बिलिंग पते के लिए, अतिरिक्त फ़ील्ड सेट करने की अनुमति देता है.
यहां दी गई टेबल में BillingAddressParameters
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
format |
स्ट्रिंग |
लेन-देन पूरा करने के लिए बिलिंग पता फ़ॉर्मैट ज़रूरी है. MIN: नाम, देश कोड, और पिन कोड. पूरा नाम: नाम, मोहल्ले का पता, शहर, क्षेत्र, देश का कोड, और पिन कोड. |
इस उदाहरण में BillingAddressParameters
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "format": "MIN" }
उदाहरण 2
{ "format": "FULL" }
CardParameters
इस ऑब्जेक्ट का इस्तेमाल करके, अपनी साइट पर Google Pay API के साथ काम करने की सुविधा को कॉन्फ़िगर करें.
यहां दी गई टेबल में CardParameters
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
allowedAuthMethods |
List<Const> | ज़रूरी है. कार्ड से लेन-देन की पुष्टि करने के लिए इस्तेमाल किए जाने वाले फ़ील्ड. एक आइटम से कम नहीं होना चाहिए. |
|
allowedCardNetworks |
सूची<AllowedCardNetworks > |
ज़रूरी है. आपके पास एक या एक से ज़्यादा कार्ड नेटवर्क हैं, जो Google Pay API के साथ काम करते हैं. एक आइटम से कम नहीं होना चाहिए. |
|
billingAddressRequired |
बूलियन |
बिलिंग पते की ज़रूरत पड़ने पर, इसे 'सही' पर सेट करें. बिलिंग पते का अनुरोध सिर्फ़ तब करें, जब लेन-देन को प्रोसेस करना ज़रूरी हो. ज़्यादा डेटा के अनुरोध मिलने से, चेकआउट की प्रोसेस में रुकावट बढ़ सकती है और कन्वर्ज़न रेट कम हो सकते हैं. |
|
billingAddressParameters |
BillingAddressParameters |
अगर BillingAddressAddress को 'सही' पर सेट किया जाता है, तो उम्मीद के मुताबिक फ़ील्ड दिखाए जाते हैं. |
|
cvcRequired |
बूलियन |
TimesofMoney का इस्तेमाल करने पर, पेमेंट प्रोसेस करने वाली अन्य सभी कंपनियों के लिए 'गलत' पर सेट करें. |
इस उदाहरण में CardParameters
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": false, "cvcRequired": false }
उदाहरण 2
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": true, "billingAddressParameters": { "format": "MIN" }, "cvcRequired": false }
GoogleProvidedPaymentInstrument
यहां दी गई टेबल में GoogleProvidedPaymentInstrument
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
instrumentToken |
स्ट्रिंग | ज़रूरी है. यह बेस 64 कोड में बदली गई स्ट्रिंग है, जिसमें पैसे चुकाने का टोकन होता है. यह पेमेंट टोकन, हिस्सा लेने वाले Google Pay प्रोसेसर से शुल्क लेता है. ऐसा, पहले बताए गए GoogleprovidedPaymentOptions के मुताबिक किया जाता है. |
|
billingAddress |
PostalAddress |
पेमेंट के लिए बिलिंग पता. |
इस उदाहरण में GoogleProvidedPaymentInstrument
एलिमेंट दिखाया गया है:
उदाहरण
{ "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] } }
GoogleProvidedPaymentOptions
Google की ओर से दिए गए पैसे चुकाने के तरीके से जुड़ी ज़रूरी शर्तें.
यहां दी गई टेबल में GoogleProvidedPaymentOptions
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
facilitationSpecification |
स्ट्रिंग |
स्ट्रिंग के तौर पर PaymentDataRequest JSON. इस ऑब्जेक्ट का इस्तेमाल करके, अपनी साइट पर Google Pay API के साथ काम करने की सुविधा को कॉन्फ़िगर करें. |
|
supportedCardNetworks |
सूची<SupportedCardNetworks > |
इसके बजाय, facilitationSpecification का इस्तेमाल करें. एजेंट के साथ काम करने वाले कार्ड नेटवर्क किस तरह के हैं. यह फ़ील्ड अब काम नहीं करता. |
|
prepaidCardDisallowed |
बूलियन |
इसके बजाय, facilitationSpecification का इस्तेमाल करें. पैसे चुकाने के तरीके के तौर पर प्रीपेड कार्ड इस्तेमाल करने की अनुमति है या नहीं. यह फ़ील्ड अब काम नहीं करता. |
|
billingAddressRequired |
बूलियन |
इसके बजाय, facilitationSpecification का इस्तेमाल करें. बिलिंग पता ज़रूरी है या नहीं. यह फ़ील्ड अब काम नहीं करता. |
|
tokenizationParameters |
TokenizationParameters |
यह फ़ील्ड अब काम नहीं करता. |
इस उदाहरण में GoogleProvidedPaymentOptions
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" }
उदाहरण 2
{ "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "braintree", "braintree:apiVersion": "v1", "braintree:sdkVersion": "1.4.0", "braintree:merchantId": "a1b2c3d4e5", "braintree:clientKey": "production_braintree_client_key", "braintree:authorizationFingerprint": "same_as_client_key" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "JCB", "VISA" ], "prepaidCardDisallowed": true }
तीसरा उदाहरण
{ "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "VISA", "JCB" ], "prepaidCardDisallowed": true, "billingAddressRequired": true }
MerchantInfo
इस ऑब्जेक्ट का इस्तेमाल करके, अपनी साइट पर Google Pay API के साथ काम करने की सुविधा को कॉन्फ़िगर करें.
यहां दी गई टेबल में MerchantInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
merchantId |
स्ट्रिंग |
आपको Google Pay से जारी किया गया Google व्यापारी आईडी. |
|
merchantName |
स्ट्रिंग | ज़रूरी है. व्यापारी/कंपनी का नाम, UTF-8 कोड में बदला गया है. पेमेंट शीट में व्यापारी/कंपनी का नाम दिख रहा है. |
OnFulfillmentPaymentData
इस ऑब्जेक्ट का इस्तेमाल करके, PaymentType "ON_FULFILLMENT" के लिए ज़्यादा डेटा भेजें.
यहां दी गई टेबल में OnFulfillmentPaymentData
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
supportedPaymentOptions |
सूची<PaymentOptionsEnums > |
ऑर्डर पूरा करते समय, उपयोगकर्ता के लिए उपलब्ध पेमेंट के विकल्पों की सूची. |
इस उदाहरण में OnFulfillmentPaymentData
एलिमेंट दिखाया गया है:
उदाहरण
{ "supportedPaymentOptions": [ "Cash", "Card" ] }
पैरामीटर
TokenizationParameters
से जुड़े टाइप बताता है.
यहां दी गई टेबल में Parameters
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
gateway |
स्ट्रिंग | ज़रूरी है. उदाहरण: |
|
gatewayMerchantId |
स्ट्रिंग | ||
[additionalKey: string] |
स्ट्रिंग | अतिरिक्त की-वैल्यू पेयर |
इस उदाहरण में Parameters
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "gatewayMerchantId": "90412491", "gateway": "olo" }
उदाहरण 2
{ "gateway": "braintree", "braintree:apiVersion": "v1", "braintree:sdkVersion": "1.4.0", "braintree:merchantId": "YOUR_MERCHANT_ID", "braintree:clientKey": "YOUR_BRAINTREE_SANDVOX_OR_PRODUCTION_KEY" }
PaymentDataRequest
इस ऑब्जेक्ट का इस्तेमाल करके, अपनी साइट पर Google Pay API के साथ काम करने की सुविधा को कॉन्फ़िगर करें.
यहां दी गई टेबल में PaymentDataRequest
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
apiVersion |
कॉन्सटेंट | ज़रूरी है. एपीआई का मुख्य वर्शन. मान: |
|
apiVersionMinor |
कॉन्सटेंट | ज़रूरी है. माइनर एपीआई वर्शन. मान: |
|
merchantInfo |
MerchantInfo |
ज़रूरी है. (Google Pay मर्चेंट आईडी) पेमेंट डेटा का अनुरोध करने वाले व्यापारी की जानकारी. |
|
allowedPaymentMethods |
सूची<PaymentMethod > |
ज़रूरी है. Google Pay API पर काम करने वाले, पैसे चुकाने के एक या उससे ज़्यादा तरीकों के बारे में बताता है. |
|
transactionInfo |
TransactionInfo |
ज़रूरी है. लेन-देन की अनुमति के बारे में जानकारी, जो इस बात पर निर्भर करता है कि उपयोगकर्ता लेन-देन से सहमत है या नहीं. इस फ़ील्ड में कुल कीमत और कीमत की स्थिति की जानकारी शामिल होती है. |
इस उदाहरण में PaymentDataRequest
एलिमेंट दिखाया गया है:
उदाहरण
{ "apiVersion": 2, "apiVersionMinor": 0, "merchantInfo": { "merchantId": "10391231", "merchantName": "Burrito Town" }, "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": true, "billingAddressParameters": { "format": "FULL" }, "cvcRequired": false }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:version": "2019-05-16", "stripe:publishableKey": "pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA" } } } ], "transactionInfo": { "currencyCode": "INR", "totalPriceStatus": "ESTIMATED", "totalPrice": "185.00" } }
PaymentInfo
किसी ऑर्डर के लिए पेमेंट से जुड़ी जानकारी.
यहां दी गई टेबल में PaymentInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
displayName |
स्ट्रिंग | ज़रूरी है. रसीद पर दिखाने के लिए, पैसे चुकाने के तरीके का उपयोगकर्ता को दिखने वाला नाम. |
|
paymentType |
PaymentType |
ज़रूरी है. |
|
googleProvidedPaymentInstrument |
GoogleProvidedPaymentInstrument |
ऐसा टोकन जिसे कार्रवाई के लिए इस्तेमाल किया जा सकता है. इसे केवल तब ही बताएं, अगर आपने CheckoutResponseMessage में GoogleprovidedPaymentOptions को भुगतान विकल्प के रूप में बताया है. |
इस उदाहरण में PaymentInfo
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" }
उदाहरण 2
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "123 Random Street", "Unit ABC" ], "recipients": [ "sample_receipient" ] } }, "paymentType": "PAYMENT_CARD" }
PaymentMethod
इस ऑब्जेक्ट का इस्तेमाल करके, अपनी साइट पर Google Pay API के साथ काम करने की सुविधा को कॉन्फ़िगर करें.
यहां दी गई टेबल में PaymentMethod
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
type |
कॉन्सटेंट | ज़रूरी है. पैसे चुकाने के मान्य तरीके के लिए छोटा आइडेंटिफ़ायर. वर्तमान में केवल CARD समर्थित है. मान: |
|
parameters |
CardParameters |
ज़रूरी है. पैसे चुकाने के दिए गए तरीके को कॉन्फ़िगर करने के लिए ज़रूरी पैरामीटर. |
|
tokenizationSpecification |
TokenizationSpecification |
ज़रूरी है. क्रेडिट/डेबिट कार्ड की जानकारी पाने के लिए, किसी खाते या डिक्रिप्शन की सेवा देने वाली कंपनी को कॉन्फ़िगर करें. CARD भुगतान विधि के लिए यह प्रॉपर्टी आवश्यक है. |
इस उदाहरण में PaymentMethod
एलिमेंट दिखाया गया है:
उदाहरण
{ "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": false }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "90412491", "gateway": "olo" } } }
PaymentOptions
यहां दी गई टेबल में PaymentOptions
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
प्रॉपर्टी के इन ग्रुप में से कोई एक ज़रूरी है. | |||
googleProvidedOptions |
समूह 1 | GoogleProvidedPaymentOptions |
कार्रवाई देने के विकल्प के साथ म्यूचुअली एक्सक्लूसिव. GPay से ऑनलाइन पेमेंट करने के लिए, इसका इस्तेमाल करें. |
actionProvidedOptions |
समूह 2 | ActionProvidedPaymentOptions |
googleprovidedOptions के साथ म्यूचुअली एक्सक्लूसिव. इसका इस्तेमाल "डिलीवरी पर कैश" या "पेमेंट करने पर पैसे चुकाएं" के लिए करें. |
इस उदाहरण में PaymentOptions
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }
उदाहरण 2
{ "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\":true, \"billingAddressParameters\": { \"format\":\"MIN\" } }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" } }
तीसरा उदाहरण
{ "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } } }
PaymentOptionsEnums
PaymentOptionsEnums
टाइप की वैल्यू यहां दी गई है:
Cash
Card
UPI
Paytm
PaymentType
PaymentType
टाइप की वैल्यू यहां दी गई है:
PAYMENT_CARD
: GoogleprovidedPaymentOptions के लिए.ON_FULFILLMENT
: ActionprovidedPaymentOptions के लिए.
SupportedCardNetworks
GoogleProvidedPaymentOptions
से जुड़े टाइप बताता है.
SupportedCardNetworks
टाइप की वैल्यू यहां दी गई है:
UNSPECIFIED_CARD_NETWORK
AMEX
DISCOVER
JCB
MASTERCARD
VISA
TokenizationParameters
यह बताता है किGoogleProvidedPaymentOptions
से किस तरह के लोग जुड़े हैं.
यहां दी गई टेबल में TokenizationParameters
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
tokenizationType |
Enum [
"UNSPECIFIED_TOKENIZATION_TYPE",
"PAYMENT_GATEWAY"
] |
ज़रूरी है. इसके बजाय, facilitationSpecification का इस्तेमाल करें. स्वीकार किए जाने वाले टोकन का टाइप. |
|
parameters |
Parameters |
इसके बजाय, facilitationSpecification का इस्तेमाल करें. |
TokenizationSpecification
यह ऑब्जेक्ट आपको पैसे चुकाने के बारे में शुल्क जानकारी पाने के लिए खाते को कॉन्फ़िगर करने की अनुमति देता है.
यहां दी गई टेबल में TokenizationSpecification
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
type |
कॉन्सटेंट | ज़रूरी है. |
|
parameters |
Parameters |
ज़रूरी है. |
इस उदाहरण में TokenizationSpecification
एलिमेंट दिखाया गया है:
उदाहरण 1
{ "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "1247192", "gateway": "cybersource" } }
उदाहरण 2
{ "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:version": "2018-10-31", "stripe:publishableKey": "12378127" } }
TransactionInfo
यह ऑब्जेक्ट, ऐसे लेन-देन के बारे में बताता है जिससे पैसे चुकाने वाले के लिए, पैसे चुकाने की क्षमता तय होती है. इसका इस्तेमाल, पैसे चुकाने की अनुमति देने वाला डायलॉग दिखाने के लिए किया जाता है.
यहां दी गई टेबल में TransactionInfo
टाइप की प्रॉपर्टी दी गई हैं:
प्रॉपर्टी | टाइप | जानकारी | |
---|---|---|---|
currencyCode |
स्ट्रिंग | ज़रूरी है. ISO 4217 वर्णमाला से जुड़ा मुद्रा कोड. |
|
transactionId |
स्ट्रिंग |
यूनीक आईडी, जिससे लेन-देन की कोशिश की पहचान होती है. लेन-देन की कोशिश करने के लिए, व्यापारी/कंपनी/कारोबारी किसी मौजूदा आईडी का इस्तेमाल कर सकते हैं या कोई खास आईडी जनरेट कर सकते हैं. Google Transaction Events API को कॉलबैक भेजते समय, इस फ़ील्ड की ज़रूरत होती है. |
|
totalPriceStatus |
कॉन्सटेंट | ज़रूरी है. डिफ़ॉल्ट रूप से "अनुमानित" इस्तेमाल करें. कुल कीमत, रिस्पॉन्स से मिली जानकारी के आधार पर अडजस्ट हो सकती है. जैसे, बिलिंग पते के आधार पर इकट्ठा किया गया सेल्स टैक्स. मान: |
|
totalPrice |
स्ट्रिंग | ज़रूरी है. दो दशमलव स्थानों का वैकल्पिक दशमलव सटीक लेन-देन का कुल आर्थिक मूल्य. इस फ़ील्ड की वैल्यू,cart.totalPrice के बराबर होनी चाहिए. |
इस उदाहरण में TransactionInfo
एलिमेंट दिखाया गया है:
उदाहरण
{ "totalPriceStatus": "ESTIMATED", "totalPrice": "12.34", "currencyCode": "USD" }