বেস প্রকার
কার্ট
অর্ডারের বিশদ বিবরণ রয়েছে, সেইসাথে অনুরোধটি পিকআপ বা ডেলিভারির জন্য কিনা। একটি কার্টে ডেলিভারির বিবরণ, গ্র্যাচুইটি এবং ডেলিভারির ঠিকানাও থাকে।Cart
অবজেক্টটি একটি Checkout AppRequest
এ সংজ্ঞায়িত করা হয়েছে। আপনি আপনার Checkout AppResponse
এ কার্টের একটি অনুলিপি অন্তর্ভুক্ত করেন নিম্নলিখিত সারণী Cart
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
@type | কন্সট | এই বস্তুর ধরন. এই ক্ষেত্রটি বাদ দিন যদি মূল কার্ট বস্তুটি প্রস্তাবিত অর্ডারের অংশ হয়। মান: | |
id | স্ট্রিং | কার্টের ঐচ্ছিক আইডি। | |
merchant | Merchant | এই কার্টের সাথে সংশ্লিষ্ট ব্যবসায়ী। | |
lineItems | তালিকা< LineItem > | প্রয়োজন। ব্যবহারকারী যে পণ্যগুলি বা পরিষেবাগুলি অর্ডার করছেন তার তালিকা৷ 1টির কম আইটেম থাকতে হবে। | |
promotions | তালিকা< Promotion > | এই কার্টে প্রযোজ্য প্রচার। শুধুমাত্র একটি প্রচার বর্তমানে সমর্থিত. | |
notes | স্ট্রিং | অর্ডার বা বিতরণ নির্দেশাবলী সম্পর্কে নোট. | |
extension | FoodCartExtension | ব্যবহারকারীর সম্পর্কে বিশদ বর্ণনা করে, যেমন পরিপূর্ণতা পছন্দ। |
নিম্নলিখিত উদাহরণ একটি Cart
উপাদান দেখায়:
উদাহরণ 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }
উদাহরণ 2
{ "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }
যোগাযোগ
অর্ডার গ্রহণকারী ব্যক্তির সম্পর্কে বিশদ বিবরণ উল্লেখ করে। এটি শুধুমাত্রAppResponse
এ উপলব্ধ। নিম্নলিখিত সারণী Contact
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
displayName | স্ট্রিং | অর্ডার গ্রহণকারী ব্যক্তির নাম, যেমন আপনি এটি প্রদর্শন করতে চান। firstName এবং lastName নির্দিষ্ট না থাকলে এই ক্ষেত্রটি ব্যবহার করুন৷ উদাহরণ: | |
email | স্ট্রিং | অর্ডার গ্রহণকারী ব্যক্তির ইমেল ঠিকানা। উদাহরণ: | |
firstName | স্ট্রিং | অর্ডার গ্রহণকারী ব্যক্তির প্রথম নাম। উদাহরণ: | |
lastName | স্ট্রিং | আদেশ গ্রহণকারী ব্যক্তির উপাধি। উদাহরণ: | |
phoneNumber | স্ট্রিং | দেশের কোড সহ অর্ডার গ্রহণকারী ব্যক্তির ফোন নম্বর। উদাহরণ: | |
emailVerified | বুলিয়ান | অর্ডার প্রাপ্ত ব্যক্তি তার Google অ্যাকাউন্ট দিয়ে লগ ইন করেছেন কিনা তা নির্দেশ করে৷ |
নিম্নলিখিত উদাহরণ একটি Contact
উপাদান দেখায়:
উদাহরণ
{ "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" }
CustomPushMessage
অনুরোধের জন্যOrderUpdate
রয়েছে। নিম্নোক্ত সারণী CustomPushMessage
প্রকারের বৈশিষ্ট্য তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
orderUpdate | OrderUpdate | প্রয়োজন। অর্ডার জন্য আপডেট তথ্য. |
নিম্নলিখিত উদাহরণ একটি CustomPushMessage
উপাদান দেখায়:
উদাহরণ
{ "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } }
ডেলিভারি ইনফো
নিম্নলিখিত টেবিলে DeliveryInfo
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
deliveryTimeIso8601 | স্ট্রিং | আনুমানিক বিতরণের সময়, ISO 8601 টাইম স্ট্যাম্প ফর্ম্যাটে: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" বা সময়কাল ফর্ম্যাট: "P( n)Y(n)M(n)DT(n)H(n)M(n)S"। উদাহরণস্বরূপ, PT90M 90 মিনিটের সময়কাল উপস্থাপন করে। ডিফল্ট মান "PT0M", নির্দেশ করে যে পছন্দের ডেলিভারি সময় যত তাড়াতাড়ি সম্ভব। তথ্যসূত্র: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations। চেকআউট প্রতিক্রিয়ার সময় আনুমানিক বিতরণ সময় আপডেট করতে এটি ব্যবহার করুন। উদাহরণ: |
নিম্নলিখিত উদাহরণ একটি DeliveryInfo
উপাদান দেখায়:
উদাহরণ
{ "deliveryTimeIso8601": "PT90M" }
দাবিত্যাগ
নিম্নলিখিত টেবিলটি Disclaimer
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
predefinedMessage | PredefinedMessage | প্রয়োজন। চেকআউটের সময় পূর্বনির্ধারিত দাবিত্যাগ বার্তাগুলি দেখাতে। | |
feeAmount | Money | অংশীদার এই অর্ডারের জন্য বণিককে N পরিমাণ ফি নেবে৷ | |
feeAmountRange | FeeAmountRange | পার্টনার রেস্তোরাঁকে অর্ডার প্রতি N থেকে M পরিমাণ ফি চার্জ করবে। | |
feePercent | সংখ্যা | এই অর্ডারের জন্য অংশীদার বণিককে 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 } }
উদাহরণ 6
{ "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
: একটি লাইনআইটেম, পূর্ণতা বিকল্প, বা প্রচারে অবৈধ ডেটা রয়েছে৷ -
NOT_FOUND
: একটি লাইন আইটেম, পূরণের বিকল্প, বা প্রচার পাওয়া যাবে না। -
PRICE_CHANGED
: একটি আইটেমের দাম পরিবর্তিত হয়েছে৷
ফিঅ্যামাউন্ট রেঞ্জ
নিম্নলিখিত সারণিতে FeeAmountRange
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
minFeeAmount | Money | ফি এর পরিমাণ কম সীমাবদ্ধ.. | |
maxFeeAmount | Money | চার্জ পরিমাণের ঊর্ধ্বসীমা.. |
ফি পার্সেন্ট রেঞ্জ
নিচের সারণীটি FeePercentRange
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
minFeePercent | সংখ্যা | ফি শতাংশের নিম্ন সীমানা চার্জ করা হয়েছে। | |
maxFeePercent | সংখ্যা | ফি শতাংশের ঊর্ধ্বসীমা চার্জ করা হয়েছে। |
ফুডকার্ট এক্সটেনশন
ব্যবহারকারী সম্পর্কে বিশদ বিবরণ রয়েছে, যেমন পরিপূর্ণতা পছন্দ।
নিম্নলিখিত সারণীতে FoodCartExtension
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
@type | কন্সট | এই এক্সটেনশনের ধরন। এই ক্ষেত্রটি সর্বদা "type.googleapis.com/google.actions.v2.orders.FoodCartExtension" এ সেট করা থাকে। মান: | |
contact | Contact | অর্ডার গ্রহণকারী ব্যক্তির জন্য যোগাযোগের তথ্য। বিস্তারিত ব্যক্তির নাম, ফোন নম্বর, এবং ইমেল ঠিকানা অন্তর্ভুক্ত. | |
fulfillmentPreference | FulfillmentOption | প্রয়োজন। ব্যবহারকারীর পূরণ পছন্দ. | |
location | Location | CheckoutRequestMessage-এ, এই ক্ষেত্রটি ডেলিভারির ঠিকানা নির্দিষ্ট করে, যা অর্ডারটি ডেলিভারির জন্য হলে প্রয়োজন হয়৷ টেকআউট বা পিকআপের জন্য যে অর্ডারগুলি, এই ক্ষেত্রটি মেসেজে অন্তর্ভুক্ত নয়৷ |
নিম্নলিখিত উদাহরণ একটি FoodCartExtension
উপাদান দেখায়:
উদাহরণ 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } }
উদাহরণ 2
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } }
খাদ্য ত্রুটি এক্সটেনশন
একটি অনুরোধ প্রক্রিয়া করার সময় ঘটে যাওয়া এক বা একাধিক ত্রুটি সনাক্ত করে৷ নিম্নলিখিত টেবিলটিFoodErrorExtension
প্রকারের ক্ষেত্রগুলি বর্ণনা করে। একটি CheckoutResponse
এ ত্রুটিগুলি পাঠানো যেতে পারে৷ নিম্নলিখিত টেবিলে FoodErrorExtension
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
@type | কন্সট | প্রয়োজন। এই এক্সটেনশনের ধরন। মান: | |
foodOrderErrors | তালিকা< FoodOrderError > | প্রয়োজন। FoodOrderError অবজেক্টের অ্যারে যা ঘটে যাওয়া ত্রুটিগুলি বর্ণনা করে। প্রতি কার্ট বা আইটেম প্রতি একটি ত্রুটি প্রস্তাবিত. 1টির কম আইটেম থাকতে হবে। | |
correctedProposedOrder | ProposedOrder | সংশোধন সহ একটি নতুন প্রস্তাবিত আদেশ। মূল প্রস্তাবিত অর্ডারে পুনরুদ্ধারযোগ্য ত্রুটি থাকলে এই বস্তুটি ফেরত দিন। উদাহরণস্বরূপ, কার্টে এক বা একাধিক লাইন আইটেমের দামের পরিবর্তন একটি পুনরুদ্ধারযোগ্য ত্রুটি। একটি বৈধ প্রস্তাবিত অর্ডার সহ পুনরুদ্ধারযোগ্য ত্রুটিগুলি ব্যবহারকারীকে তাদের কার্ট পর্যালোচনা করার প্রয়োজন না করে নিশ্চিতকরণ পর্যায়ে অগ্রসর হয়৷ | |
paymentOptions | PaymentOptions | ব্যবহারকারীর জন্য ডিফল্ট অর্থপ্রদানের বিকল্পগুলি নির্বাচন করা হয়েছে৷ | |
additionalPaymentOptions | তালিকা< PaymentOptions > | বিকল্প পেমেন্ট বিকল্প ব্যবহারকারীর জন্য উপলব্ধ. |
নিম্নলিখিত উদাহরণ একটি FoodErrorExtension
উপাদান দেখায়:
উদাহরণ
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension", "foodOrderErrors": [ { "error": "PRICE_CHANGED", "id": "sample_item_offer_id_1", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, { "error": "PRICE_CHANGED", "id": "sample_item_offer_id_2", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "8" } } ], "correctedProposedOrder": { "id": "sample_corrected_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }, "paymentOptions": { "googleProvidedOptions": { "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "JCB", "VISA" ], "prepaidCardDisallowed": true } } }
ফুডআইটেম এক্সটেনশন
খাদ্য আইটেমগুলির জন্য অ্যাড-অনগুলি সংজ্ঞায়িত করে।
নিম্নলিখিত টেবিলে FoodItemExtension
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
@type | কন্সট | প্রয়োজন। এই এক্সটেনশনের ধরন। এই ক্ষেত্রটি সর্বদা "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" এ সেট করা থাকে। মান: | |
options | তালিকা< FoodItemOption > | একটি বিকল্প হতে পারে একটি অ্যাড-অন আইটেম বা অ্যাড-অন গ্রুপ যাতে অ্যাড-অনগুলির একটি সেট থাকে। |
নিম্নলিখিত উদাহরণ একটি FoodItemExtension
উপাদান দেখায়:
উদাহরণ
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1, "subOptions": [ { "id": "10239138", "offerId": "912391723", "name": "Fries", "price": { "currencyCode": "USD", "units": "2", "nanos": 230000000 }, "quantity": 1 } ] } ] }
ফুডআইটেম বিকল্প
নিম্নলিখিত টেবিলে FoodItemOption
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
id | স্ট্রিং | Google দ্বারা নির্ধারিত অনন্য আইডি। আপনি যখন একটি FoodOrderError বা AsyncOrderUpdateRequest পাঠান, সেই ক্ষেত্রে একটি কার্টে একই অফার আইডি সহ একাধিক আইটেম রয়েছে এমন ক্ষেত্রে পার্থক্য করতে এই ক্ষেত্রটি ব্যবহার করুন। উদাহরণ: | |
offerId | স্ট্রিং | আইটেম জন্য অফার আইডি. উদাহরণ: | |
name | স্ট্রিং | বিকল্পের নাম। উদাহরণ: | |
price | Money | ||
note | স্ট্রিং | বিকল্প সম্পর্কিত নোট। | |
quantity | সংখ্যা | বিকল্পগুলির জন্য যেগুলি আইটেম, আইটেমের সংখ্যা। উদাহরণ: | |
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 } ] }
ফুড অর্ডার ত্রুটি
একটিCheckoutResponse
এ ত্রুটি সম্পর্কে বিশদ বিবরণ রয়েছে৷ নিম্নলিখিত টেবিলে FoodOrderError
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
error | Error | প্রয়োজন। | |
id | স্ট্রিং | যখন আইটেম-স্তরের ত্রুটির জন্য এই ক্ষেত্রটি প্রয়োজন। এটি মেনু আইটেমগুলির জন্য Google-এর দ্বারা নির্ধারিত LineItem.id বা অ্যাড-অনগুলির জন্য FoodItemOption.id৷ | |
description | স্ট্রিং | ত্রুটির বর্ণনা। এই বিবরণটি অভ্যন্তরীণ লগিংয়ের জন্য এবং ব্যবহারকারীদের কাছে দৃশ্যমান নয়৷ | |
updatedPrice | Money | প্রয়োজন যখন একটি আইটেমের নতুন মূল্য যার কারণে ত্রুটি হয়েছে৷ ত্রুটি "PRICE_CHANGED" হলেই এটি প্রয়োজনীয়৷ | |
availableQuantity | পূর্ণসংখ্যা | প্রয়োজন যখন আইটেমের নতুন উপলব্ধ পরিমাণ যা ত্রুটি সৃষ্টি করেছে৷ এটি শুধুমাত্র তখনই প্রয়োজন যখন ত্রুটি "INVALID" বা "NOT_FOUND" হয়৷ "INVALID" এবং "NOT_FOUND" এর জন্য মান শূন্য হওয়া উচিত। |
নিম্নলিখিত উদাহরণ একটি FoodOrderError
উপাদান দেখায়:
উদাহরণ 1
{ "error": "CLOSED", "description": "This store is currently reachable. Please try again later." }
উদাহরণ 2
{ "error": "PRICE_CHANGED", "id": "french_fries", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }
ফুডঅর্ডার এক্সটেনশন
অর্ডার সম্পর্কে পূর্ণতা তথ্য রয়েছে।
নিম্নলিখিত টেবিলে FoodOrderExtension
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
@type | কন্সট | এই এক্সটেনশনের ধরন। এই ক্ষেত্রটি সর্বদা "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension" এ সেট করা থাকে। মান: | |
availableFulfillmentOptions | তালিকা< FulfillmentOption > | অর্ডারের জন্য উপলব্ধ পূর্ণতা বিকল্পগুলি প্রতিনিধিত্ব করে। | |
optinForRemarketing | বুলিয়ান | আপনার বিপণন চ্যানেলে নির্বাচন করার জন্য ব্যবহারকারীর অনুরোধ। ডিফল্টরূপে, আপনি ব্যবহারকারীর সম্মতি ছাড়া বিপণন সামগ্রী পাঠাতে পারবেন না। optinForRemarketing সত্য হলে, আপনি ব্যবহারকারীর সদস্যতা নিতে পারেন। যদি optinForRemarketing মিথ্যা হয় বা উপস্থিত না থাকে, তাহলে আপনাকে অবশ্যই আপনার সিস্টেমে সাবস্ক্রিপশন স্ট্যাটাস রাখতে হবে। ব্যবহারকারীরা Google-এর মাধ্যমে অপ্ট আউট করতে পারবেন না, শুধুমাত্র আপনার মার্কেটিং চ্যানেলে দেওয়া একটি আনসাবস্ক্রিপশন ফাংশনের মাধ্যমে। এই পতাকা শুধুমাত্র SubmitOrderRequestMessage-এ উপস্থিত। |
নিম্নলিখিত উদাহরণ একটি FoodOrderExtension
উপাদান দেখায়:
উদাহরণ 1
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] }
উদাহরণ 2
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2020-08-20T11:41:00Z" } ], "optinForRemarketing": true }
পূরণের বিকল্প
আপনি নিম্নলিখিত উপায়ে একটিFulfillmentOption
অবজেক্ট ব্যবহার করতে পারেন:-
Checkout AppRequest
এ এবংSubmit AppRequest
,Cart.extension.fulfillmentPreference
: ব্যবহারকারীর পছন্দ (ডেলিভারি বা পিকআপ) সংরক্ষণ করে। চেকআউট অনুরোধ পাঠানো হলে মূল্য সর্বদা 0 হয়। -
Checkout AppResponse
এ,ProposedOrder.extension.availableFulfillmentOptions
: এক বা একাধিক ডেলিভারি বিকল্প নির্ধারণ করে (বর্তমানে, শুধুমাত্র একটি বিকল্প সমর্থিত)। আপনিProposedOrder.otherItems
এ একটিLineItem
হিসাবে ডিফল্ট বিকল্পটি নির্দিষ্ট করুন।FulfillmentOption
এরofferId
ProposedOrder.otherItems
এ উল্লেখিতLineItem
এর আইডির সাথে মেলে।
নিম্নলিখিত সারণীটি FulfillmentOption
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
offerId | স্ট্রিং | এই পূর্ণতা বিকল্পের জন্য অনন্য শনাক্তকারী, যদি থাকে। | |
fulfillmentInfo | FulfillmentOptionInfo | প্রয়োজন। | |
expiresAt | ISO টাইমস্ট্যাম্প | এই পরিপূর্ণতা বিকল্পের মেয়াদ শেষ হওয়ার সময়। | |
price | Money | এই বিকল্পের খরচ। |
নিম্নলিখিত উদাহরণটি একটি FulfillmentOption
উপাদান দেখায়:
উদাহরণ
{ "offerId": "offer5", "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2019-05-02T00:00:00-07:00", "price": { "currencyCode": "USD", "units": "5", "nanos": 230000000 } }
পূরণের বিকল্প তথ্য
FulfillmentInfo
সম্পর্কিত তথ্য সংজ্ঞায়িত করে। নিম্নলিখিত সারণীটি FulfillmentOptionInfo
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
বৈশিষ্ট্যের নিম্নলিখিত গ্রুপগুলির মধ্যে ঠিক একটি প্রয়োজন। | |||
delivery | 1 নং দল | DeliveryInfo | উপস্থিত থাকলে, ডেলিভারি অর্ডার নির্দেশ করে। |
pickup | গ্রুপ 2 | PickupInfo | উপস্থিত থাকলে, একটি পিকআপ অর্ডার নির্দেশ করে। |
ছবি
নিম্নলিখিত সারণীতে Image
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
sourceUrl | স্ট্রিং | প্রয়োজন। ছবির জন্য URL. সর্বনিম্ন, চিত্রটি 72x72 পিক্সেল হওয়া উচিত। সর্বোত্তম ফলাফলের জন্য, অন্তত 216x216 পিক্সেলের একটি ছবি ব্যবহার করুন। ছবিটি অবশ্যই 6 MB এবং 64 মেগাপিক্সেলের কম হতে হবে। |
লাইন আইটেম
একটি কার্টের বিষয়বস্তু সংজ্ঞায়িত করে (Cart.lineItems
) বা একটি অর্ডারের জন্য অতিরিক্ত চার্জ ( ProposedOrder.otherItems
)। নিম্নলিখিত সারণী LineItem
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
id | স্ট্রিং | একটি কার্টে একটি লাইন আইটেমের জন্য (ProposedOrder.cart.lineItems[0].id), এটি অর্ডার তৈরি করার সময় Google দ্বারা তৈরি করা অনন্য আইডি। একটি প্রস্তাবিত অর্ডারে (ProposedOrder.otherItems[0].id) একটি লাইনআইটেমের জন্য, যা ডেলিভারি ফি এবং ট্যাক্সের মতো আইটেম যোগ করতে ব্যবহৃত হয়, আইডির মান প্রদানকারী দ্বারা সংজ্ঞায়িত করা হয়। উদাহরণস্বরূপ, একটি কার্টে একই আইটেমগুলির মধ্যে দুটি আলাদা প্রস্তুতির নির্দেশাবলী রয়েছে (যেমন টপিংসের বিভিন্ন সেট সহ দুটি মাঝারি পিজ্জা)। এই ক্ষেত্রে, উভয় আইটেম একই বেস অফার আইডি আছে। আপনি যখন একটি আইটেম প্রত্যাখ্যান করা হয়েছে তা নির্দেশ করার জন্য একটি অর্ডার আপডেটের অনুরোধ পাঠান, তখন এই আইডিটিকে দ্ব্যর্থক হিসাবে ব্যবহার করুন৷ অন্য কথায়, যদি পিজ্জাগুলির একটিকে প্রত্যাখ্যান করা হয় কারণ এটিতে একটি নির্দিষ্ট টপিংয়ের অভাব রয়েছে, তাহলে আইডিটি Google-কে সাহায্য করে আপনি কোন আইটেমটি উল্লেখ করছেন তা নির্ধারণ করতে। অন্যান্য আইটেম ছাড়া এই ক্ষেত্রটি প্রয়োজনীয়। | |
name | স্ট্রিং | প্রয়োজন। লাইন আইটেমের নাম। এটি একটি ব্যবহারকারী-দৃশ্যমান স্ট্রিং, এবং সম্ভব হলে বাক্যের ক্ষেত্রে হওয়া উচিত (যেমন "ডেলিভারি ফি", "সার্ভিস চার্জ", "ট্যাক্স")। ব্যবহারকারীদের জন্য এই ক্ষেত্রটি 100টি অক্ষরে কাটা হয়েছে। | |
type | LineItemType | প্রয়োজন। | |
quantity | পূর্ণসংখ্যা | আইটেম সংখ্যা অন্তর্ভুক্ত. ProposedOrder.otherItems এর ক্ষেত্রে প্রযোজ্য নয়। | |
description | স্ট্রিং | আইটেম বর্ণনা. | |
price | Price | প্রয়োজন। জিনিস বা জিনিসের দাম। এই মানটি এই লাইন আইটেমের জন্য সমস্ত পণ্য বা পরিষেবার মোট মূল্য প্রতিফলিত করে (অন্য কথায়, যেকোনো অ্যাড-অনের খরচ যোগ করুন এবং পরিমাণ দ্বারা গুণ করুন)। উদাহরণস্বরূপ: যদি একটি $10 আইটেমের পরিমাণ 3 থাকে, তাহলে দাম হবে $30। একটি পিজ্জার জন্য যার মূল মূল্য $5 এবং একটি $1 অ্যাড-অন, মূল্য হবে $6৷ দুটি পিজ্জার জন্য (পরিমাণ = 2) যার মূল মূল্য $5 এবং প্রতিটি $1 অ্যাড-অন সহ, মূল্য হবে $12৷ প্রতিটি লাইন আইটেমের একটি মূল্য থাকা উচিত, এমনকি যদি মূল্য "0" হয়। যখন টাইপ ডিসকাউন্ট হয়, তখন একটি নেতিবাচক হিসাবে মান নির্দিষ্ট করুন (উদাহরণস্বরূপ, "-2")। | |
subLines | তালিকা< SublineNote > | ঐচ্ছিক এবং শুধুমাত্র বৈধ যদি টাইপ "নিয়মিত" হয়। চেকআউট অনুরোধ এবং অর্ডার জমা দেওয়ার অনুরোধে ব্যবহারকারীর কাছ থেকে একটি আইটেম-নির্দিষ্ট নোট এই ক্ষেত্রে পাঠানো হতে পারে। নিশ্চিত করুন যে নোটটি সরবরাহ করা হলে ব্যবসায়ী তা গ্রহণ করেন। এটি সাবলাইনস[0] হিসেবে অনুরোধে থাকবে 1টির বেশি আইটেম থাকতে হবে না। | |
offerId | স্ট্রিং | আইটেমের জন্য MenuItem-এর অফার আইডি। ProposedOrder.otherItems এর ক্ষেত্রে প্রযোজ্য নয়। | |
extension | FoodItemExtension | খাদ্য আইটেমগুলির জন্য অ্যাড-অনগুলি সংজ্ঞায়িত করে। |
নিম্নলিখিত উদাহরণ একটি LineItem
উপাদান দেখায়:
উদাহরণ 1
{ "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }
উদাহরণ 2
{ "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }
লাইন আইটেম টাইপ
LineItemType
প্রকারের নিম্নলিখিত সম্ভাব্য মান রয়েছে:
-
REGULAR
: পণ্য লাইন আইটেম. Cart.lineItems এর জন্য প্রযোজ্য। -
TAX
: ট্যাক্স লাইন আইটেম. ProposedOrder.otherItems এর জন্য প্রযোজ্য। -
DISCOUNT
: ডিসকাউন্ট লাইন আইটেম। নোট করুন যে দাম নেতিবাচক হওয়া উচিত। ProposedOrder.otherItems এর জন্য প্রযোজ্য। -
GRATUITY
: গ্র্যাচুইটি লাইন আইটেম। সাধারণত একটি ব্যবহারকারী-নির্বাচিত টিপের জন্য SubmitOrderRequestMessage এর জন্য সংরক্ষিত। ProposedOrder.otherItems এর জন্য প্রযোজ্য। -
DELIVERY
: ডেলিভারি লাইন আইটেম. ProposedOrder.otherItems এর জন্য প্রযোজ্য। -
SUBTOTAL
: সাবটোটাল লাইন আইটেম। ProposedOrder.otherItems এর জন্য প্রযোজ্য। -
FEE
: অতিরিক্ত লাইন আইটেম অন্যান্য ধরনের দ্বারা আচ্ছাদিত নয়. ProposedOrder.otherItems এর জন্য প্রযোজ্য।
অবস্থান
খাবার অর্ডার করার জন্য একটি ঠিকানা উল্লেখ করে। শুধুমাত্র ডেলিভারি অর্ডারের গন্তব্য নির্দেশ করতে একটিCart
Location
ধরন ব্যবহার করা হয়। ব্যবহারকারী অর্ডার দিলে চূড়ান্ত স্থানটি TransactionDecisionValue
তেও উপস্থিত থাকে। পিকআপ নির্দিষ্ট করে এমন অর্ডারগুলির জন্য, একটি অবস্থান একেবারেই অন্তর্ভুক্ত নয় (এমনকি একটি খালিও নয়)। নিম্নলিখিত টেবিলে Location
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
coordinates | Coordinates | ||
formattedAddress | স্ট্রিং | অবস্থানের ঠিকানা প্রদর্শন করুন। উদাহরণ: | |
postalAddress | PostalAddress | ||
zipCode | স্ট্রিং | উদাহরণ: | |
city | স্ট্রিং | শহরের নাম। উদাহরণ: | |
notes | স্ট্রিং | অবস্থান সম্পর্কে নোট, যেমন গেট কোড। এটি 500 অক্ষর বা তার কম হওয়া উচিত। উদাহরণ: |
নিম্নলিখিত উদাহরণ একটি Location
উপাদান দেখায়:
উদাহরণ
{ "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" }
বণিক
নিম্নলিখিত সারণীতে Merchant
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
id | স্ট্রিং | ব্যবসায়ীর আইডি। উল্লেখ করা হলে, রেস্টুরেন্ট ফিডে রেস্টুরেন্ট.@id এর সাথে মেলে। উদাহরণ: | |
name | স্ট্রিং | প্রয়োজন। ব্যবসায়ীর ব্যবহারকারীর দৃশ্যমান নাম। উদাহরণ: |
নিম্নলিখিত উদাহরণটি একটি Merchant
উপাদান দেখায়:
উদাহরণ
{ "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }
টাকা
নিচের সারণীতে Money
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
currencyCode | স্ট্রিং | প্রয়োজন। ISO 4217 ফর্ম্যাটে একটি 3-অক্ষরের মুদ্রা কোড। উদাহরণ: | |
units | স্ট্রিং | রাশির পুরো একক। উদাহরণস্বরূপ, যদি মুদ্রার কোড "USD" হয়, তাহলে "1" ইউনিট হল এক মার্কিন ডলার। উদাহরণ: | |
nanos | পূর্ণসংখ্যা | পরিমাণের ন্যানো (10^-9) ইউনিটের সংখ্যা। মান অবশ্যই -999,999,999 এবং +999,999,999 এর মধ্যে হতে হবে। নিম্নলিখিত নিয়মগুলি ব্যবহার করুন: যদি একক ধনাত্মক হয়, ন্যানো অবশ্যই ধনাত্মক বা শূন্য হতে হবে। যদি ইউনিট শূন্য হয়, ন্যানো ধনাত্মক, শূন্য বা ঋণাত্মক হতে পারে। একক ঋণাত্মক হলে, ন্যানো অবশ্যই ঋণাত্মক বা শূন্য হতে হবে। উদাহরণস্বরূপ $-1.75 ইউনিট = -1 এবং ন্যানো = -750,000,000 হিসাবে উপস্থাপিত হয়। উদাহরণ: |
নিম্নলিখিত উদাহরণ একটি Money
উপাদান দেখায়:
উদাহরণ 1
{ "currencyCode": "USD", "units": "36", "nanos": 730000000 }
উদাহরণ 2
{ "currencyCode": "EUR", "units": "10" }
অর্ডার
ট্যাক্স, ফি এবং ডেলিভারি চার্জ, সেইসাথে পেমেন্টের তথ্য সহ চূড়ান্ত অর্ডার রয়েছে। এই বস্তুটি আপনার ক্রিয়া দ্বারা একটিSubmit AppRequest
গৃহীত হয়েছে। নিম্নোক্ত সারণীটি Order
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
finalOrder | ProposedOrder | প্রয়োজন। যে আদেশের কারণে প্রস্তাবিত আদেশ। | |
googleOrderId | স্ট্রিং | প্রয়োজন। Google দ্বারা নির্ধারিত অর্ডার আইডি। এই আইডিটি একটি অর্ডারের সমগ্র জীবনচক্রের জন্য স্থিতিশীল হওয়া উচিত। এই আইডিটি শেষ ব্যবহারকারীর কাছে দৃশ্যমান নয়। | |
orderDate | ISO টাইমস্ট্যাম্প | প্রয়োজন। তারিখ এবং সময় অর্ডার তৈরি করা হয়েছে. | |
paymentInfo | PaymentInfo | প্রয়োজন। এই আদেশের জন্য অর্থপ্রদানের সাথে সম্পর্কিত অর্থপ্রদানের তথ্য। |
নিম্নলিখিত উদাহরণ একটি Order
উপাদান দেখায়:
উদাহরণ
{ "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } }
অর্ডার আপডেট
নিম্নলিখিত সারণীটিAppResponse
এ অন্তর্ভুক্ত OrderUpdate প্রকারের ক্ষেত্রগুলি বর্ণনা করে। নিম্নোক্ত সারণী OrderUpdate
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
actionOrderId | স্ট্রিং | প্রয়োজন। ইন্টিগ্রেটর সিস্টেমে অর্ডারের অনন্য আইডি যা আপডেট পাঠানোর অর্ডারটি সনাক্ত করতে ব্যবহৃত হয়। যদি receipt.user_visible_order_id একটি "CREATED" অর্ডারের জন্য OrderUpdate-এ অন্তত একবার প্রদান না করা হয়, তাহলে এই আইডিটি Google অর্ডার কার্ডে প্রদর্শিত ইনপুটেড ব্যবহারকারী দৃশ্যমান ID হবে। | |
orderState | OrderState | প্রয়োজন। আদেশের নতুন অবস্থা। | |
lineItemUpdates | মানচিত্র<স্ট্রিং, LineItemUpdate > | ||
updateTime | ISO টাইমস্ট্যাম্প | প্রয়োজন। যে সময়ে অর্ডার আপডেট করা হয়েছিল। | |
orderManagementActions | তালিকা< OrderManagementAction > | পোস্ট-অর্ডার অ্যাকশন যেমন সহায়তার সাথে যোগাযোগ করা এবং অর্ডারের বিশদ বিবরণ দেখা। 1টির কম আইটেম এবং 6টির বেশি আইটেম থাকতে হবে না৷ | |
rejectionInfo | RejectionInfo | প্রয়োজনীয় যখন | |
cancellationInfo | CancellationInfo | প্রয়োজনীয় যখন | |
inTransitInfo | InTransitInfo | এই ক্ষেত্রটি অপ্রচলিত। | |
fulfillmentInfo | FulfillmentInfo | এই ক্ষেত্রটি অপ্রচলিত। | |
receipt | Receipt | একটি রসিদে ব্যবহারকারী-দৃশ্যমান অর্ডার আইডি প্রদান করুন। | |
totalPrice | Price | অর্ডারের মোট মূল্য। | |
infoExtension | FoodOrderUpdateExtension | অর্ডার আপডেটের আরও বিশদ বর্ণনা করে, যেমন আনুমানিক ডেলিভারি বা পিকআপের জন্য ব্যবধান। |
নিম্নলিখিত উদাহরণ একটি OrderUpdate
উপাদান দেখায়:
উদাহরণ
{ "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "41", "nanos": 600000000 } }, "lineItemUpdates": { "sample_item_id_1": { "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "reason": "This item has an updated price." } }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } }
পিকআপ ইনফো
নিম্নলিখিত সারণী PickupInfo
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
pickupTimeIso8601 | স্ট্রিং | আনুমানিক পিকআপের সময়, ISO 8601 টাইম স্ট্যাম্প ফর্ম্যাটে: "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" বা সময়কাল ফর্ম্যাট: "P( n)Y(n)M(n)DT(n)H(n)M(n)S"। উদাহরণস্বরূপ, PT90M 90 মিনিটের সময়কাল উপস্থাপন করে। ডিফল্ট মান "PT0M", নির্দেশ করে যে পছন্দের পিকআপ সময় যত তাড়াতাড়ি সম্ভব। তথ্যসূত্র: https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations। চেকআউট প্রতিক্রিয়ার সময় আনুমানিক পিকআপ সময় আপডেট করতে এটি ব্যবহার করুন। উদাহরণ: |
নিম্নলিখিত উদাহরণ একটি PickupInfo
উপাদান দেখায়:
উদাহরণ
{ "pickupTimeIso8601": "PT90M" }
ডাক ঠিকানা
নিম্নলিখিত সারণী PostalAddress
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
regionCode | স্ট্রিং | প্রয়োজন। একটি দুই-অক্ষরের দেশের কোড। উদাহরণ: | |
postalCode | স্ট্রিং | পোস্টাল কোড। উদাহরণ: | |
administrativeArea | স্ট্রিং | সর্বোচ্চ প্রশাসনিক উপবিভাগ যা একটি দেশ বা অঞ্চলের ডাক ঠিকানার জন্য ব্যবহৃত হয়। এটি একটি রাজ্য, একটি প্রদেশ, একটি ওব্লাস্ট বা একটি প্রিফেকচার হতে পারে। উদাহরণ: | |
locality | স্ট্রিং | এই অবস্থানের জন্য শহর বা শহর। বিশ্বের এমন অঞ্চলে যেখানে লোকালয়টি ভালভাবে সংজ্ঞায়িত করা হয় না বা এই কাঠামোর সাথে খাপ খায় না, স্থানীয়তা নির্দিষ্ট করবেন না এবং এর পরিবর্তে ঠিকানালাইন ক্ষেত্রটি ব্যবহার করুন। উদাহরণ: | |
addressLines | তালিকা<স্ট্রিং> | এক বা একাধিক লাইন যা আপনি রাস্তার ঠিকানা নির্দিষ্ট করতে ব্যবহার করতে পারেন। এই ক্ষেত্রটি সংশোধন করা উচিত নয় কারণ এতে অস্পষ্ট এলাকা থাকতে পারে। উদাহরণ: | |
recipients | তালিকা<স্ট্রিং> | একটি অর্ডারের জন্য প্রাপকদের তালিকা। এই ক্ষেত্রটি শুধুমাত্র বিলিং ঠিকানায় উপলব্ধ। |
নিম্নলিখিত উদাহরণ একটি PostalAddress
উপাদান দেখায়:
উদাহরণ
{ "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }
দাম
নিম্নলিখিত সারণী Price
প্রকারের জন্য বৈশিষ্ট্য তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
type | Enum [ "ESTIMATE", "ACTUAL" ] | প্রয়োজন। প্রচার কুপন কোড. | |
amount | Money | প্রয়োজন। |
পদোন্নতি
নিম্নোক্ত সারণী Promotion
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
coupon | স্ট্রিং | প্রয়োজন। প্রচার কুপন কোড. |
প্রস্তাবিত আদেশ
নিম্নোক্ত সারণী ProposedOrder
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
id | স্ট্রিং | প্রস্তাবিত আদেশের জন্য ঐচ্ছিক আইডি। | |
cart | Cart | প্রয়োজন। ব্যবহারকারীর আইটেম. | |
otherItems | তালিকা< LineItem > | প্রদানকারীর দ্বারা যোগ করা আইটেম, যেমন ডেলিভারি চার্জ, অন্যান্য ফি এবং ট্যাক্স। অন্যান্য আইটেমগুলিতে ব্যবহারকারীর দ্বারা যোগ করা গ্র্যাচুইটি এবং/অথবা ছাড়ও থাকতে পারে। 10টির বেশি আইটেম থাকতে হবে না। | |
image | Image | প্রস্তাবিত আদেশের সাথে যুক্ত ছবি। | |
totalPrice | Price | প্রয়োজন। প্রস্তাবিত অর্ডারের মোট মূল্য। | |
extension | FoodOrderExtension | প্রয়োজন। খাদ্য আদেশের জন্য পূর্ণতা তথ্য সংজ্ঞায়িত করে। | |
disclaimers | তালিকা< Disclaimer > | ডিসক্লেমার বার্তাগুলির সাথে মিলে যায় যা অর্ডার দেওয়ার আগে UI তে দেখানো হবে৷ |
নিম্নলিখিত উদাহরণ একটি 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
টাইপের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
note | স্ট্রিং | প্রয়োজন। |
টাইমস্ট্যাম্প
তারিখ এবং"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
লেনদেন সিদ্ধান্তমূল্য
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
হল actions.foodordering.intent.CHECKOUT
অভিপ্রায় সহ একটি AppRequest
।SubmitOrderRequestMessage
একটিSubmitOrderRequestMessage
হল actions.foodordering.intent.TRANSACTION_DECISION
উদ্দেশ্য সহ একটি AppRequest
৷কথোপকথন
একটিConversation
শুধুমাত্র একটি সেশনের জন্য অনন্য। প্রয়োজনে আপনি একাধিক Checkout
এবং SubmitOrder
অ্যাকশন একসাথে লিঙ্ক করতে এটি ব্যবহার করতে পারেন। নিম্নলিখিত সারণী Conversation
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
conversationId | স্ট্রিং | প্রয়োজন। কথোপকথনের জন্য অনন্য আইডি। |
নিম্নলিখিত উদাহরণ একটি Conversation
উপাদান দেখায়:
উদাহরণ
{ "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ" }
ইনপুট
একটি কার্ট চেক আউট জন্য প্রত্যাশিত আর্গুমেন্ট.
নিম্নলিখিত টেবিলটি Input
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
intent | Enum [ "actions.foodordering.intent.CHECKOUT", "actions.intent.TRANSACTION_DECISION" ] | প্রয়োজন। চেকআউট অনুরোধ বার্তার জন্য "actions.foodordering.intent.CHECKOUT" বা অর্ডার অনুরোধ বার্তা জমা দেওয়ার জন্য "actions.intent.TRANSACTION_DECISION" সেট করুন৷ | |
arguments | তালিকা< Argument > | প্রয়োজন। চেক আউট বা অর্ডার স্থাপন করা কার্ট রয়েছে ঠিক 1টি আইটেম থাকতে হবে। |
যুক্তি
ব্যবহারকারী চেক আউট করতে চায় যে খাদ্য আইটেম সম্পর্কে বিশদ রয়েছে. চেকআউটের জন্য, শুধুমাত্র এক্সটেনশন প্রযোজ্য। সাবমিট অর্ডারের জন্য, শুধুমাত্র লেনদেন ডিসিশন ভ্যালু প্রযোজ্য
নিম্নলিখিত সারণী Argument
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
বৈশিষ্ট্যের নিম্নলিখিত গ্রুপগুলির মধ্যে ঠিক একটি প্রয়োজন। | |||
extension | 1 নং দল | Cart | ব্যবহারকারী চেক আউট করতে চায় যে খাদ্য আইটেম বিশদ. |
transactionDecisionValue | গ্রুপ 2 | TransactionDecisionValue | পেমেন্টের বিশদ সহ অর্ডার দেওয়া আছে। |
পূর্ণতা প্রতিক্রিয়া
অ্যাপ রেসপন্স
নিম্নলিখিত টেবিলে 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
বা StructuredResponse
error
।SubmitOrderResponseMessage
একটিSubmitOrderResponseMessage
হল একটি AppResponse
যার একটি orderUpdate
StructuredResponse
রেসপন্স।চূড়ান্ত প্রতিক্রিয়া
কার্ট চেকআউট বা SubmitOrderRequestMessage এ আপনার প্রতিক্রিয়া।
নিম্নলিখিত টেবিলটি FinalResponse
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
richResponse | RichResponse | প্রয়োজন। CheckoutRequestMessage বা SubmitOrderRequestMessage-এ আপনার প্রতিক্রিয়া রয়েছে৷ |
চেকআউট প্রতিক্রিয়া
নিম্নলিখিত টেবিলটি 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
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
items | তালিকা< Item > | প্রয়োজন। ঠিক 1টি আইটেম থাকতে হবে। |
স্ট্রাকচার্ড রেসপন্স
CheckoutResponseMessage এর জন্য, এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: CheckoutResponse একটি সফল চেকআউট নির্দেশ করে৷ বা FoodErrorExtension: চেকআউটের সময় একটি ব্যর্থতা নির্দেশ করে। প্রতিক্রিয়াতে একটি সংশোধন করা প্রস্তাবিত অর্ডার এবং পেমেন্ট অপশন বা কোনো পেমেন্ট অপশন ছাড়া একটি ত্রুটি বার্তা অন্তর্ভুক্ত থাকতে পারে। SubmitOrderResponseMessage এর জন্য, শুধুমাত্র অর্ডারআপডেট প্রযোজ্য।
নিম্নলিখিত সারণীটি StructuredResponse
টাইপের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
বৈশিষ্ট্যের নিম্নলিখিত গ্রুপগুলির মধ্যে ঠিক একটি প্রয়োজন। | |||
checkoutResponse | 1 নং দল | CheckoutResponse | আইটেম প্লাস ট্যাক্স এবং ডিসকাউন্ট চেক আউট. |
error | গ্রুপ 2 | FoodErrorExtension | কার্ট আইটেমগুলিতে ত্রুটিগুলি পরিলক্ষিত হয়েছে৷ ত্রুটির প্রকৃতির উপর নির্ভর করে, এই সম্পত্তিতে একটি সংশোধন করা প্রস্তাবিত অর্ডার এবং অর্থপ্রদানের বিকল্পগুলি অন্তর্ভুক্ত থাকতে পারে, বা কোনও অর্থপ্রদানের বিকল্প ছাড়াই একটি ত্রুটি বার্তা অন্তর্ভুক্ত থাকতে পারে৷ |
orderUpdate | গ্রুপ 3 | OrderUpdate |
অ্যাসিঙ্ক্রোনাস অর্ডার আপডেট
এই বিভাগটি উচ্চ-স্তরের প্রকারগুলি বর্ণনা করে যা একটি সাধারণ খাদ্য অর্ডার বিল্ট-ইন অ্যাকশন ইন্টারঅ্যাকশনের অনুরোধ এবং প্রতিক্রিয়া তৈরি করে।AsyncOrderUpdateRequestMessage
একটি অর্ডার জমা এবং নিশ্চিত হওয়ার পরে পরিবর্তনের ব্যবহারকারীকে অবহিত করে। উদাহরণস্বরূপ, আপনি ব্যবহারকারীকে অবহিত করতে পারেন যে অর্ডারটি ট্রানজিটে আছে বা মূল্য পরিবর্তন হয়েছে কিনা। আরও তথ্যের জন্য, দেখুন নিম্নলিখিত সারণী AsyncOrderUpdateRequestMessage
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
isInSandbox | বুলিয়ান | নির্দেশ করে যে যে অর্ডারটির জন্য এই আপডেটটি পাঠানো হয়েছিল সেটি একটি স্যান্ডবক্স পেমেন্ট৷ | |
customPushMessage | CustomPushMessage | প্রয়োজন। অনুরোধের জন্য অর্ডার আপডেট রয়েছে। |
নিম্নলিখিত উদাহরণ একটি 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 | স্ট্রিং | প্রয়োজন। ডিসপ্লে লেবেল। সঠিক রেন্ডারিং নিশ্চিত করতে 30 অক্ষর বা তার কম সহ বাক্যের কেস ব্যবহার করুন। উদাহরণ: | |
openUrlAction | OpenUrlAction | প্রয়োজন। |
নিম্নলিখিত উদাহরণ একটি Button
উপাদান দেখায়:
উদাহরণ
{ "title": "Send us feedback", "openUrlAction": { "url": "mailto:person@example.com" } }
বাতিলকরণের তথ্য
নিম্নলিখিত সারণীটি CancellationInfo
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
reason | স্ট্রিং | প্রয়োজন। OrderState.state "বাতিল" হলে প্রত্যাখ্যানের জন্য প্রদর্শনযোগ্য পাঠ্য কারণ। উদাহরণ: |
নিম্নলিখিত উদাহরণটি একটি CancellationInfo
উপাদান দেখায়:
উদাহরণ
{ "reason": "Insufficient inventory" }
ফুডঅর্ডারআপডেট এক্সটেনশন
এই ধরনের একটি ব্যবহারকারীকে একটি আনুমানিক ব্যবধান প্রদান করে যখন অর্ডারটি বিতরণ করা হবে বা পিকআপের জন্য প্রস্তুত হবে। এই এক্সটেনশনটি OrderUpdate
পাঠান যখনই তথ্যটি পাওয়া যায় বা এটি সর্বশেষ পাঠানোর পর থেকে পরিবর্তিত হয়।
পূরণের ব্যবধানের জন্য একটি রক্ষণশীল অনুমান প্রদান করুন যাতে ব্যবহারকারীর প্রত্যাশা ধারাবাহিকভাবে পূরণ হয়। উদাহরণস্বরূপ, যদি অর্ডারটি আজ 13:00 এ বিতরণ করা হবে বলে অনুমান করা হয়, তাহলে আপনাকে একটি আনুমানিক ব্যবধান পাঠাতে হবে যা ট্রাফিক অবস্থার কারণে পরিবর্তনের সাথে সামঞ্জস্যপূর্ণ, যেমন আজ 12:45 থেকে 13:15 এ।
একটি ISO 8601 সময়কাল বা টাইমস্ট্যাম্পকে বোঝানো হয় OrderUpdate
updateTime
থেকে (সংক্ষেপে, "এখন") updateTime
প্লাস duration
পর্যন্ত ব্যবধান বোঝাতে। "এখন" আসলে একটি যুক্তিসঙ্গত প্রত্যাশা না হলে এই বিন্যাসটি ব্যবহার করবেন না।
একটি ISO 8601 ব্যবধানকে ব্যবধানের শুরু থেকে শেষ পর্যন্ত ব্যবধান বোঝাতে ব্যাখ্যা করা হয়।
নিম্নলিখিত টেবিলে FoodOrderUpdateExtension
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
@type | কন্সট | এই এক্সটেনশনের ধরন। এই ক্ষেত্রটি সর্বদা "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension" এ সেট করা থাকে। মান: | |
estimatedFulfillmentTimeIso8601 | স্ট্রিং | আনুমানিক সময় যখন অর্ডার বিতরণ করা হবে বা পিকআপের জন্য প্রস্তুত হবে। স্ট্রিংটি অবশ্যই ISO 8601 ফর্ম্যাটে হতে হবে এবং একটি নির্দিষ্ট সময়ের পরিবর্তে একটি ব্যবধানের সাথে সঙ্গতিপূর্ণ হতে হবে৷ গ্রহণযোগ্য নিয়মাবলী হল: বিরতি, সময়কাল এবং তারিখ/সময়। এই ক্ষেত্রটি SubmitOrderResponseMessage বা AsyncOrderUpdateRequestMessage-এ পাঠানো যেতে পারে যখন তথ্য উপলভ্য হয় বা কোনও পরিবর্তন হয়, যেমন আগমনের আগে বা বিলম্বিত। উদাহরণ: | |
foodOrderErrors | তালিকা< FoodOrderError > | পোস্ট-অর্ডার ঘটে যাওয়া ত্রুটিগুলি বর্ণনা করে৷ প্রতি কার্ট বা আইটেম প্রতি একটি ত্রুটি প্রস্তাবিত. RejectionInfo দ্বারা কভার না করা কোনো ত্রুটির জন্য FoodOrderUpdateExtension.FoodOrderErrors ব্যবহার করুন। 1টির কম আইটেম থাকতে হবে। |
নিম্নলিখিত উদাহরণ একটি 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
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
বৈশিষ্ট্যের নিম্নলিখিত গ্রুপগুলির মধ্যে ঠিক একটি প্রয়োজন। | |||
deliveryTime | 1 নং দল | ISO টাইমস্ট্যাম্প | FoodOrderingUpdateExtension মেসেজে আনুমানিকFulfillmentTimeIso8601 ব্যবহার করুন |
pickupTime | গ্রুপ 2 | ISO টাইমস্ট্যাম্প | FoodOrderingUpdateExtension মেসেজে আনুমানিকFulfillmentTimeIso8601 ব্যবহার করুন |
নিম্নলিখিত উদাহরণটি একটি FulfillmentInfo
উপাদান দেখায়:
উদাহরণ 1
{ "deliveryTime": "2017-05-10T02:36:38.803Z" }
উদাহরণ 2
{ "pickupTime": "2019-12-26T07:24:27.803Z" }
InTransitInfo
নিম্নলিখিত সারণীতে InTransitInfo
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
updatedTime | ISO টাইমস্ট্যাম্প | FoodOrderingUpdateExtension মেসেজে আনুমানিকFulfillmentTimeIso8601 ব্যবহার করুন |
নিম্নলিখিত উদাহরণটি একটি InTransitInfo
উপাদান দেখায়:
উদাহরণ
{ "updatedTime": "2017-05-10T02:36:38.803Z" }
লাইন আইটেম আপডেট
নিম্নলিখিত সারণী LineItemUpdate
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
orderState | OrderState | ||
price | Price | ||
reason | স্ট্রিং | পরিবর্তনের কারণ। মূল্য পরিবর্তনের জন্য প্রয়োজন. |
নিম্নলিখিত উদাহরণ একটি LineItemUpdate
উপাদান দেখায়:
উদাহরণ
{ "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "5", "nanos": 500000000 } }, "reason": "Menu updated prices." }
OpenUrlAction
নিম্নলিখিত টেবিলটি OpenUrlAction
প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
url | স্ট্রিং | প্রয়োজন। বোতামে ক্লিক বা স্পর্শ করে ক্রিয়াটি ট্রিগার হয়। প্রযোজ্য উপসর্গের তালিকা অর্ডার ম্যানেজমেন্ট অ্যাকশন টাইপের উপর নির্ভর করে। "EMAIL": উপসর্গটি অবশ্যই "mailto" হতে হবে। "ক্যাল": উপসর্গটি অবশ্যই "টেল" হতে হবে। "CUSTOMER_SERVICE": উপসর্গটি হতে হবে "mailto", "tel", "http", বা "https"। উদাহরণ: |
অর্ডার ম্যানেজমেন্ট অ্যাকশন
অর্ডার ম্যানেজমেন্ট ব্যবহারকারীদের পোস্ট-অর্ডার সমর্থন পেতে সক্ষম করে এবং প্রতিটি OrderUpdate
এ জমা অর্ডার AppResponse
এর মধ্যে পাঠানো উচিত এবং একটি নির্দিষ্ট অর্ডারের জন্য পাঠানো প্রতিটি পরবর্তী AsyncOrderUpdateRequestMessage
অর্ডার ম্যানেজমেন্ট অ্যাকশন রাজ্যের উপর ভিত্তি করে পরিবর্তিত হতে পারে।
উদাহরণস্বরূপ, "তৈরি করা" অবস্থায়, CUSTOMER_SERVICE
আপনার গ্রাহক সহায়তা টেলিফোনকে উল্লেখ করতে পারে। তারপর, "কনফার্মড" অবস্থায়, CUSTOMER_SERVICE
রেস্তোরাঁর টেলিফোনে পরিবর্তন করতে পারে যদি এটি গ্রাহকের যোগাযোগের সর্বোত্তম পয়েন্ট হয়ে ওঠে। Similarly, once the order is in the "FULFILLED" state, CUSTOMER_SERVICE
can reference your support email addresss.
The following table lists the properties for the OrderManagementAction
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
type | OrderManagementActionType | প্রয়োজন। | |
button | Button | প্রয়োজন। |
The following example shows a OrderManagementAction
element:
Example 1
{ "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }
Example 2
{ "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }
OrderManagementActionType
Defines types related toOrderManagementAction
. The OrderManagementActionType
type has the following possible values:
-
CUSTOMER_SERVICE
: Email and/or contact number of customer service to be shown on order confirmation page. This is required. openUrlAction.url prefix must be "mailto", "tel", "http", or "https". -
EMAIL
: Email action on order details page only. openUrlAction.url prefix must be "mailto". -
CALL_DRIVER
: Call action on order details page only. openUrlAction.url prefix must be "tel". -
CALL_RESTAURANT
: Call action on order details page only. openUrlAction.url prefix must be "tel".
OrderState
The current state of the order. Each state
value of OrderState
also corresponds to a purchase status on myaccount.google.com .
The following table lists the properties for the OrderState
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
state | OrderStateEnum | প্রয়োজন। | |
label | String | প্রয়োজন। The user-visible display string for the state. Use sentence case. Example: |
The following example shows a OrderState
element:
উদাহরণ
{ "state": "CONFIRMED", "label": "Provider confirmed" }
OrderStateEnum
Defines types related toOrderState
. The OrderStateEnum
type has the following possible values:
-
CREATED
: Order created by integrator and waiting for confirmation by provider. Corresponds to the "Ordered" purchase status. -
CONFIRMED
: Order confirmed by provider and is active. Corresponds to the "Accepted" purchase status. -
REJECTED
: Order rejected by integrator or provider. Corresponds to the "Declined" purchase status. -
CANCELLED
: User cancelled the order. Corresponds to the "Cancelled" purchase status. -
IN_PREPARATION
: Food is being prepared. Corresponds to the "Status unknown" purchase status. -
READY_FOR_PICKUP
: Food is ready for pickup. Corresponds to the "Ready for pickup" purchase status. -
IN_TRANSIT
: Order is being delivered. Corresponds to the "In progress" purchase status. -
FULFILLED
: User received what was ordered. Corresponds to the "Picked up" purchase status.
Receipt
Send this type in a submit orderAppResponse
, where OrderState
is "CONFIRMED", "FULFILLED", or "IN_TRANSIT". Send receipt at the time when the userVisibleOrderId
becomes available. You don't need to keep sending the receipt in subsequent updates. The following table lists the properties for the Receipt
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
userVisibleOrderId | String | প্রয়োজন। Required if the order is "CONFIRMED", "IN_TRANSIT", or "FULFILLED". This field is the single user-facing ID for this order (usually the restaurant's order ID), displayed in both the integrator's receipt and the Google order card. The user must be able to use this ID to reference their order for customer service with the provider and integrator. You only need to provide this ID one time in any given OrderUpdate. Until it is provided, the actionOrderId is the userVisibleOrderId. For example, you may not have a userVisibleOrderId until the order is confirmed by the restaurant. Once confirmed, you must then send an AsyncOrderUpdateRequestMessage with an OrderUpdate and a Receipt. |
The following example shows a Receipt
element:
উদাহরণ
{ "userVisibleOrderId": "userVisibleId1234" }
RejectionInfo
The following table lists the properties for the RejectionInfo
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
type | RejectionType | প্রয়োজন। | |
reason | String | Reason for the rejection used for internal logging. This field is not visible to users. |
The following example shows a RejectionInfo
element:
উদাহরণ
{ "type": "PAYMENT_DECLINED", "reason": "There is an issue with payment processing." }
RejectionType
The RejectionType
type has the following possible values:
-
INELIGIBLE
: User is not eligible due to policy or risk-related concerns. -
PAYMENT_DECLINED
: There is an issue with payment processing. -
UNAVAILABLE_SLOT
: The order cannot be fulfilled at the order ahead time specified by DeliveryInfo or PickupInfo. -
PROMO_NOT_APPLICABLE
: There is an issue with the promotion. -
UNKNOWN
: Any other reason.
Payment-related types
This section describes the payment-related types used for food ordering fulfillment.ActionProvidedPaymentOptions
Requirements for an action-provided payment method.
The following table lists the properties for the ActionProvidedPaymentOptions
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
paymentType | PaymentType | প্রয়োজন। | |
displayName | String | প্রয়োজন। Name of the payment instrument displayed on the receipt. Example: | |
onFulfillmentPaymentData | OnFulfillmentPaymentData | Additional data for the paymentType "ON_FULFILLMENT". For example, you can use this field to specify if cash or card are supported on fulfillment. |
The following example shows a ActionProvidedPaymentOptions
element:
উদাহরণ
{ "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } }
AllowedAuthMethods
The AllowedAuthMethods
type has the following possible values:
-
PAN_ONLY
: Authentication method associated with payment cards stored on file with the user's Google Account. Returned payment data includes personal account number (PAN) with the expiration month and the expiration year.
AllowedCardNetworks
The AllowedCardNetworks
type has the following possible values:
-
AMEX
-
DISCOVER
-
INTERAC
-
JCB
-
MASTERCARD
-
VISA
BillingAddressParameters
This object allows you to set additional fields to be returned for a requested billing address.
The following table lists the properties for the BillingAddressParameters
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
format | String | Billing address format required to complete the transaction. MIN: Name, country code, and postal code. FULL: Name, street address, locality, region, country code, and postal code. |
The following example shows a BillingAddressParameters
element:
Example 1
{ "format": "MIN" }
Example 2
{ "format": "FULL" }
CardParameters
Use this object to configure your site's support for the Google Pay API.
The following table lists the properties for the CardParameters
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
allowedAuthMethods | List<Const> | প্রয়োজন। Fields supported to authenticate a card transaction. Must have no fewer than 1 item . | |
allowedCardNetworks | List< AllowedCardNetworks > | প্রয়োজন। One or more card networks that you support that are also supported by the Google Pay API. Must have no fewer than 1 item . | |
billingAddressRequired | Boolean | Set to true if you require a billing address. Only request a billing address if it's required to process the transaction. Additional data requests can increase friction in the checkout process and lead to lower conversion rates. | |
billingAddressParameters | BillingAddressParameters | The expected fields returned if billingAddressRequired is set to true. | |
cvcRequired | Boolean | Set to true if using TimesofMoney, false for all other payment processors. |
The following example shows a CardParameters
element:
Example 1
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": false, "cvcRequired": false }
Example 2
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": true, "billingAddressParameters": { "format": "MIN" }, "cvcRequired": false }
GoogleProvidedPaymentInstrument
The following table lists the properties for the GoogleProvidedPaymentInstrument
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
instrumentToken | String | প্রয়োজন। Base 64-encoded string containing the payment token for charging the user with a participating Google Pay processor, per the previously specified GoogleProvidedPaymentOptions. | |
billingAddress | PostalAddress | Billing address for the payment. |
The following example shows a GoogleProvidedPaymentInstrument
element:
উদাহরণ
{ "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] } }
GoogleProvidedPaymentOptions
Requirements for Google-provided payment method.
The following table lists the properties for the GoogleProvidedPaymentOptions
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
facilitationSpecification | String | A PaymentDataRequest JSON as a string. Use this object to configure your site's support for the Google Pay API. | |
supportedCardNetworks | List< SupportedCardNetworks > | Use facilitationSpecification instead. Type of card networks supported by the agent. This field is deprecated. | |
prepaidCardDisallowed | Boolean | Use facilitationSpecification instead. Whether or not a prepaid card is allowed as a payment type. This field is deprecated. | |
billingAddressRequired | Boolean | Use facilitationSpecification instead. Whether or not a billing address is required. This field is deprecated. | |
tokenizationParameters | TokenizationParameters | This field is deprecated. |
The following example shows a GoogleProvidedPaymentOptions
element:
Example 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\"}}" }
Example 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 }
Example 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
Use this object to configure your site's support for the Google Pay API.
The following table lists the properties for the MerchantInfo
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
merchantId | String | Google merchant identifier issued to you by Google Pay. | |
merchantName | String | প্রয়োজন। Merchant name encoded as UTF-8. Merchant name is rendered in the payment sheet. |
OnFulfillmentPaymentData
Use this object to send additional data for the PaymentType "ON_FULFILLMENT".
The following table lists the properties for the OnFulfillmentPaymentData
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
supportedPaymentOptions | List< PaymentOptionsEnums > | List of payment options available to the user at the time of order fulfillment. |
The following example shows a OnFulfillmentPaymentData
element:
উদাহরণ
{ "supportedPaymentOptions": [ "Cash", "Card" ] }
পরামিতি
Defines types related to TokenizationParameters
.
The following table lists the properties for the Parameters
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
gateway | String | প্রয়োজন। Example: | |
gatewayMerchantId | String | ||
[additionalKey: string] | String | Additional key-value pairs |
The following example shows a Parameters
element:
Example 1
{ "gatewayMerchantId": "90412491", "gateway": "olo" }
Example 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
Use this object to configure your site's support for the Google Pay API.
The following table lists the properties for the PaymentDataRequest
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
apiVersion | Const | প্রয়োজন। Major API version. Value: | |
apiVersionMinor | Const | প্রয়োজন। Minor API version. Value: | |
merchantInfo | MerchantInfo | প্রয়োজন। (Google Pay merchant ID) Information about the merchant that requests payment data. | |
allowedPaymentMethods | List< PaymentMethod > | প্রয়োজন। Specifies support for one or more payment methods supported by the Google Pay API. | |
transactionInfo | TransactionInfo | প্রয়োজন। Details about the authorization of the transaction based upon whether the user agrees to the transaction or not. This field includes total price and price status. |
The following example shows a PaymentDataRequest
element:
উদাহরণ
{ "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
Payment-related information for an order.
The following table lists the properties for the PaymentInfo
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
displayName | String | প্রয়োজন। User-visible name of the payment instrument to display on the receipt. | |
paymentType | PaymentType | প্রয়োজন। | |
googleProvidedPaymentInstrument | GoogleProvidedPaymentInstrument | Token that can be used by the action. Only specify this if you specified GoogleProvidedPaymentOptions as a payment option in the CheckoutResponseMessage. |
The following example shows a PaymentInfo
element:
Example 1
{ "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" }
Example 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
Use this object to configure your site's support for the Google Pay API.
The following table lists the properties for the PaymentMethod
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
type | Const | প্রয়োজন। Short identifier for the supported payment method. Only CARD is currently supported. Value: | |
parameters | CardParameters | প্রয়োজন। Parameters required to configure the provided payment method type. | |
tokenizationSpecification | TokenizationSpecification | প্রয়োজন। Configure an account or decryption provider to receive payment information. This property is required for the CARD payment method. |
The following example shows a PaymentMethod
element:
উদাহরণ
{ "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": false }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "90412491", "gateway": "olo" } } }
PaymentOptions
The following table lists the properties for the PaymentOptions
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
Exactly one of the following groups of properties is required. | |||
googleProvidedOptions | Group 1 | GoogleProvidedPaymentOptions | Mutually exclusive with actionProvidedOptions. Use this for online payment using gPay. |
actionProvidedOptions | Group 2 | ActionProvidedPaymentOptions | Mutually exclusive with googleProvidedOptions. Use this for "cash on delivery" or "pay on fulfillment". |
The following example shows a PaymentOptions
element:
Example 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\"}}" } }
Example 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\"}}" } }
Example 3
{ "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } } }
PaymentOptionsEnums
The PaymentOptionsEnums
type has the following possible values:
-
Cash
-
Card
-
UPI
-
Paytm
PaymentType
The PaymentType
type has the following possible values:
-
PAYMENT_CARD
: For GoogleProvidedPaymentOptions. -
ON_FULFILLMENT
: For ActionProvidedPaymentOptions.
SupportedCardNetworks
Defines types related toGoogleProvidedPaymentOptions
. The SupportedCardNetworks
type has the following possible values:
-
UNSPECIFIED_CARD_NETWORK
-
AMEX
-
DISCOVER
-
JCB
-
MASTERCARD
-
VISA
TokenizationParameters
Defines types related toGoogleProvidedPaymentOptions
. The following table lists the properties for the TokenizationParameters
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
tokenizationType | Enum [ "UNSPECIFIED_TOKENIZATION_TYPE", "PAYMENT_GATEWAY" ] | প্রয়োজন। Use facilitationSpecification instead. Type of tokens acceptable. | |
parameters | Parameters | Use facilitationSpecification instead. |
TokenizationSpecification
This object allows you to configure an account to receive chargeable payment information.
The following table lists the properties for the TokenizationSpecification
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
type | Const | প্রয়োজন। | |
parameters | Parameters | প্রয়োজন। |
The following example shows a TokenizationSpecification
element:
Example 1
{ "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "1247192", "gateway": "cybersource" } }
Example 2
{ "type": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:version": "2018-10-31", "stripe:publishableKey": "12378127" } }
TransactionInfo
This object describes a transaction that determines a payer's ability to pay. It's used to present a payment authorization dialog.
The following table lists the properties for the TransactionInfo
type:
সম্পত্তি | টাইপ | বর্ণনা | |
---|---|---|---|
currencyCode | String | প্রয়োজন। ISO 4217 alphabetic currency code. | |
transactionId | String | Unique ID that identifies a transaction attempt. Merchants may use an existing ID or generate a specific one for Google Pay transaction attempts. This field is required when you send callbacks to the Google Transaction Events API. | |
totalPriceStatus | Const | প্রয়োজন। Use "ESTIMATED" as the default. Total price may adjust based on the details of the response, such as sales tax collected based on a billing address. Value: | |
totalPrice | String | প্রয়োজন। Total monetary value of the transaction with an optional decimal precision of two decimal places. This field should have the same value as cart.totalPrice. |
The following example shows a TransactionInfo
element:
উদাহরণ
{ "totalPriceStatus": "ESTIMATED", "totalPrice": "12.34", "currencyCode": "USD" }