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