পূর্ণতা কর্ম স্কিমা

অর্ডারিং এন্ড-টু-এন্ড বিল্ট-ইন অ্যাকশন এপিআই-এর সাথে কাজ করার সময় এই পৃষ্ঠাটি পূরণ করা ওয়েব পরিষেবার পেলোড (অর্ডারিং এন্ড-টু-এন্ড এপিআই) বর্ণনা করে। এই তথ্যের একটি মেশিন-পাঠযোগ্য সংস্করণের জন্য, আপনি JSON স্কিমা ডাউনলোড করতে পারেন।

বেস প্রকার

কার্ট

অর্ডারের বিশদ বিবরণ রয়েছে, সেইসাথে অনুরোধটি পিকআপ বা ডেলিভারির জন্য কিনা। একটি কার্টে ডেলিভারির বিবরণ, গ্র্যাচুইটি এবং ডেলিভারির ঠিকানাও থাকে। Cart অবজেক্টটি একটি Checkout AppRequest এ সংজ্ঞায়িত করা হয়েছে। আপনি আপনার Checkout AppResponse এ কার্টের একটি অনুলিপি অন্তর্ভুক্ত করেন

নিম্নলিখিত সারণী Cart প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
@type কন্সট

এই বস্তুর ধরন. এই ক্ষেত্রটি বাদ দিন যদি মূল কার্ট বস্তুটি প্রস্তাবিত অর্ডারের অংশ হয়।

মান: type.googleapis.com/google.actions.v2.orders.Cart

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 নির্দিষ্ট না থাকলে এই ক্ষেত্রটি ব্যবহার করুন৷

উদাহরণ: Lovefood Ordering

email স্ট্রিং

অর্ডার গ্রহণকারী ব্যক্তির ইমেল ঠিকানা।

উদাহরণ: ilovefood@example.com

firstName স্ট্রিং

অর্ডার গ্রহণকারী ব্যক্তির প্রথম নাম।

উদাহরণ: Lovefood

lastName স্ট্রিং

আদেশ গ্রহণকারী ব্যক্তির উপাধি।

উদাহরণ: Ordering

phoneNumber স্ট্রিং

দেশের কোড সহ অর্ডার গ্রহণকারী ব্যক্তির ফোন নম্বর।

উদাহরণ: +16501234567

emailVerified বুলিয়ান

অর্ডার প্রাপ্ত ব্যক্তি তার Google অ্যাকাউন্ট দিয়ে লগ ইন করেছেন কিনা তা নির্দেশ করে৷

নিম্নলিখিত উদাহরণ একটি Contact উপাদান দেখায়:

উদাহরণ

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

CustomPushMessage

অনুরোধের জন্য OrderUpdate রয়েছে।

নিম্নোক্ত সারণী CustomPushMessage প্রকারের বৈশিষ্ট্য তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
orderUpdate OrderUpdate

প্রয়োজন।

অর্ডার জন্য আপডেট তথ্য.

নিম্নলিখিত উদাহরণ একটি CustomPushMessage উপাদান দেখায়:

উদাহরণ

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

ডেলিভারি ইনফো

নিম্নলিখিত টেবিলে DeliveryInfo প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

সম্পত্তি টাইপ বর্ণনা
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। চেকআউট প্রতিক্রিয়ার সময় আনুমানিক বিতরণ সময় আপডেট করতে এটি ব্যবহার করুন।

উদাহরণ: PT90M

নিম্নলিখিত উদাহরণ একটি 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" এ সেট করা থাকে।

মান: 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 কন্সট

প্রয়োজন।

এই এক্সটেনশনের ধরন।

মান: type.googleapis.com/google.actions.v2.orders.FoodErrorExtension

foodOrderErrors তালিকা< FoodOrderError >

প্রয়োজন।

FoodOrderError অবজেক্টের অ্যারে যা ঘটে যাওয়া ত্রুটিগুলি বর্ণনা করে। প্রতি কার্ট বা আইটেম প্রতি একটি ত্রুটি প্রস্তাবিত.

1টির কম আইটেম থাকতে হবে।

correctedProposedOrder ProposedOrder

foodOrderErrors.error = "UNAVAILABLE_SLOT", "PROMO_EXPIRED", "PROMO_NOT_APPLICABLE", "PROMO_NOT_RECOGNIZED", "PROMO_ORDER_INELIGIBLE", "PROMO_USER_INELIGIBLE", "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "INVALID", "NOT_FOUND", or "PRICE_CHANGED" .

সংশোধন সহ একটি নতুন প্রস্তাবিত আদেশ। মূল প্রস্তাবিত অর্ডারে পুনরুদ্ধারযোগ্য ত্রুটি থাকলে এই বস্তুটি ফেরত দিন। উদাহরণস্বরূপ, কার্টে এক বা একাধিক লাইন আইটেমের দামের পরিবর্তন একটি পুনরুদ্ধারযোগ্য ত্রুটি। একটি বৈধ প্রস্তাবিত অর্ডার সহ পুনরুদ্ধারযোগ্য ত্রুটিগুলি ব্যবহারকারীকে তাদের কার্ট পর্যালোচনা করার প্রয়োজন না করে নিশ্চিতকরণ পর্যায়ে অগ্রসর হয়৷

paymentOptions PaymentOptions

foodOrderErrors.error = "UNAVAILABLE_SLOT", "PROMO_EXPIRED", "PROMO_NOT_APPLICABLE", "PROMO_NOT_RECOGNIZED", "PROMO_ORDER_INELIGIBLE", "PROMO_USER_INELIGIBLE", "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "INVALID", "NOT_FOUND", or "PRICE_CHANGED" .

ব্যবহারকারীর জন্য ডিফল্ট অর্থপ্রদানের বিকল্পগুলি নির্বাচন করা হয়েছে৷

additionalPaymentOptions তালিকা< PaymentOptions >

বিকল্প পেমেন্ট বিকল্প ব্যবহারকারীর জন্য উপলব্ধ.

নিম্নলিখিত উদাহরণ একটি FoodErrorExtension উপাদান দেখায়:

উদাহরণ

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodErrorExtension",
  "foodOrderErrors": [
    {
      "error": "PRICE_CHANGED",
      "id": "sample_item_offer_id_1",
      "description": "The price has changed.",
      "updatedPrice": {
        "currencyCode": "USD",
        "units": "2",
        "nanos": 750000000
      }
    },
    {
      "error": "PRICE_CHANGED",
      "id": "sample_item_offer_id_2",
      "description": "The price has changed.",
      "updatedPrice": {
        "currencyCode": "USD",
        "units": "8"
      }
    }
  ],
  "correctedProposedOrder": {
    "id": "sample_corrected_proposed_order_id_1",
    "otherItems": [
      {
        "name": "New customer discount",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "-5",
            "nanos": -500000000
          }
        },
        "type": "DISCOUNT"
      },
      {
        "name": "Delivery fee",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "3",
            "nanos": 500000000
          }
        },
        "type": "DELIVERY"
      },
      {
        "name": "Tax",
        "price": {
          "type": "ESTIMATE",
          "amount": {
            "currencyCode": "USD",
            "units": "1",
            "nanos": 500000000
          }
        },
        "type": "TAX"
      }
    ],
    "cart": {
      "merchant": {
        "id": "https://www.exampleprovider.com/merchant/id1",
        "name": "Falafel Bite"
      },
      "lineItems": [
        {
          "name": "Pita Chips",
          "type": "REGULAR",
          "id": "sample_item_offer_id_1",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id1",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "2",
              "nanos": 750000000
            }
          },
          "subLines": [
            {
              "note": "Notes for this item."
            }
          ],
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
            "options": [
              {
                "id": "sample_addon_offer_id_1",
                "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
                "name": "Honey Mustard",
                "price": {
                  "currencyCode": "USD"
                },
                "quantity": 1
              },
              {
                "id": "sample_addon_offer_id_2",
                "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
                "name": "BBQ Sauce",
                "price": {
                  "currencyCode": "USD",
                  "nanos": 500000000
                },
                "quantity": 1
              }
            ]
          }
        },
        {
          "name": "Chicken Shwarma Wrap",
          "type": "REGULAR",
          "id": "sample_item_offer_id_2",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id2",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "8"
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        },
        {
          "name": "Greek Salad",
          "type": "REGULAR",
          "id": "sample_item_offer_id_3",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id3",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "9",
              "nanos": 990000000
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        },
        {
          "name": "Prawns Biryani",
          "type": "REGULAR",
          "id": "sample_item_offer_id_4",
          "offerId": "https://www.exampleprovider.com/menu/item/offer/id4",
          "quantity": 1,
          "price": {
            "type": "ESTIMATE",
            "amount": {
              "currencyCode": "USD",
              "units": "15",
              "nanos": 990000000
            }
          },
          "extension": {
            "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension"
          }
        }
      ],
      "extension": {
        "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension",
        "fulfillmentPreference": {
          "fulfillmentInfo": {
            "delivery": {
              "deliveryTimeIso8601": "P90M"
            }
          }
        },
        "location": {
          "coordinates": {
            "latitude": 37.788783,
            "longitude": -122.41384
          },
          "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States",
          "zipCode": "94043",
          "city": "Mountain View",
          "postalAddress": {
            "regionCode": "US",
            "postalCode": "94043",
            "administrativeArea": "CA",
            "locality": "Mountain View",
            "addressLines": [
              "1350 Charleston Road"
            ]
          },
          "notes": "Gate code is #111"
        }
      }
    },
    "totalPrice": {
      "type": "ESTIMATE",
      "amount": {
        "currencyCode": "USD",
        "units": "36",
        "nanos": 730000000
      }
    },
    "extension": {
      "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension",
      "availableFulfillmentOptions": [
        {
          "fulfillmentInfo": {
            "delivery": {
              "deliveryTimeIso8601": "P90M"
            }
          },
          "expiresAt": "2017-07-17T12:30:00Z"
        }
      ]
    }
  },
  "paymentOptions": {
    "googleProvidedOptions": {
      "tokenizationParameters": {
        "tokenizationType": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "stripe",
          "stripe:publishableKey": "pk_live_stripe_client_key",
          "stripe:version": "2017-04-06"
        }
      },
      "supportedCardNetworks": [
        "AMEX",
        "DISCOVER",
        "MASTERCARD",
        "JCB",
        "VISA"
      ],
      "prepaidCardDisallowed": true
    }
  }
}

ফুডআইটেম এক্সটেনশন

খাদ্য আইটেমগুলির জন্য অ্যাড-অনগুলি সংজ্ঞায়িত করে।

নিম্নলিখিত টেবিলে FoodItemExtension প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

সম্পত্তি টাইপ বর্ণনা
@type কন্সট

প্রয়োজন।

এই এক্সটেনশনের ধরন। এই ক্ষেত্রটি সর্বদা "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" এ সেট করা থাকে।

মান: type.googleapis.com/google.actions.v2.orders.FoodItemExtension

options তালিকা< FoodItemOption >

একটি বিকল্প হতে পারে একটি অ্যাড-অন আইটেম বা অ্যাড-অন গ্রুপ যাতে অ্যাড-অনগুলির একটি সেট থাকে।

নিম্নলিখিত উদাহরণ একটি FoodItemExtension উপাদান দেখায়:

উদাহরণ

{
  "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension",
  "options": [
    {
      "id": "sample_addon_offer_id_1",
      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1",
      "name": "Honey Mustard",
      "price": {
        "currencyCode": "USD"
      },
      "quantity": 1
    },
    {
      "id": "sample_addon_offer_id_2",
      "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2",
      "name": "BBQ Sauce",
      "price": {
        "currencyCode": "USD",
        "nanos": 500000000
      },
      "quantity": 1,
      "subOptions": [
        {
          "id": "10239138",
          "offerId": "912391723",
          "name": "Fries",
          "price": {
            "currencyCode": "USD",
            "units": "2",
            "nanos": 230000000
          },
          "quantity": 1
        }
      ]
    }
  ]
}

ফুডআইটেম বিকল্প

নিম্নলিখিত টেবিলে FoodItemOption প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

সম্পত্তি টাইপ বর্ণনা
id স্ট্রিং

Google দ্বারা নির্ধারিত অনন্য আইডি। আপনি যখন একটি FoodOrderError বা AsyncOrderUpdateRequest পাঠান, সেই ক্ষেত্রে একটি কার্টে একই অফার আইডি সহ একাধিক আইটেম রয়েছে এমন ক্ষেত্রে পার্থক্য করতে এই ক্ষেত্রটি ব্যবহার করুন।

উদাহরণ: 39231093

offerId স্ট্রিং

আইটেম জন্য অফার আইডি.

উদাহরণ: 912835081

name স্ট্রিং

বিকল্পের নাম।

উদাহরণ: Honey Mustard

price Money
note স্ট্রিং

বিকল্প সম্পর্কিত নোট।

quantity সংখ্যা

বিকল্পগুলির জন্য যেগুলি আইটেম, আইটেমের সংখ্যা।

উদাহরণ: 3

subOptions তালিকা< FoodItemOption >

বিকল্পের জন্য উপ-বিকল্প, যদি থাকে।

[ { "id": "71283712", "offerId": "51209121", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "units": "3", "nanos": 780000000 }, "quantity": 2 }, { "id": "102941024", "offerId": "12084102", "name": "Ketchup", "price": { "currencyCode": "USD", "units": "2", "nanos": 980000000 }, "quantity": 6 } ]

নিম্নলিখিত উদাহরণ একটি FoodItemOption উপাদান দেখায়:

উদাহরণ 1

{
  "id": "10293231",
  "offerId": "1918491",
  "name": "Honey Mustard",
  "price": {
    "currencyCode": "USD",
    "units": "1",
    "nanos": 250000000
  },
  "quantity": 5
}

উদাহরণ 2

{
  "id": "123166552",
  "offerId": "912849184",
  "name": "Make It A Meal",
  "price": {
    "currencyCode": "USD",
    "units": "3",
    "nanos": 730000000
  },
  "quantity": 1,
  "subOptions": [
    {
      "id": "10239138",
      "offerId": "912391723",
      "name": "Fries",
      "price": {
        "currencyCode": "USD",
        "units": "2",
        "nanos": 230000000
      },
      "quantity": 1
    },
    {
      "id": "57159183",
      "offerId": "81837123",
      "name": "Drink",
      "price": {
        "currencyCode": "USD",
        "units": "3",
        "nanos": 130000000
      },
      "quantity": 1
    }
  ]
}

ফুড অর্ডার ত্রুটি

একটি CheckoutResponse এ ত্রুটি সম্পর্কে বিশদ বিবরণ রয়েছে৷

নিম্নলিখিত টেবিলে FoodOrderError প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

সম্পত্তি টাইপ বর্ণনা
error Error

প্রয়োজন।

id স্ট্রিং

যখন error = "AVAILABILITY_CHANGED", "INCORRECT_PRICE", "PRICE_CHANGED", "INVALID", or "NOT_FOUND" প্রয়োজন।

আইটেম-স্তরের ত্রুটির জন্য এই ক্ষেত্রটি প্রয়োজন। এটি মেনু আইটেমগুলির জন্য Google-এর দ্বারা নির্ধারিত LineItem.id বা অ্যাড-অনগুলির জন্য FoodItemOption.id৷

description স্ট্রিং

ত্রুটির বর্ণনা। এই বিবরণটি অভ্যন্তরীণ লগিংয়ের জন্য এবং ব্যবহারকারীদের কাছে দৃশ্যমান নয়৷

updatedPrice Money

প্রয়োজন যখন error = "PRICE_CHANGED"

একটি আইটেমের নতুন মূল্য যার কারণে ত্রুটি হয়েছে৷ ত্রুটি "PRICE_CHANGED" হলেই এটি প্রয়োজনীয়৷

availableQuantity পূর্ণসংখ্যা

প্রয়োজন যখন error = "INVALID", or "NOT_FOUND"

আইটেমের নতুন উপলব্ধ পরিমাণ যা ত্রুটি সৃষ্টি করেছে৷ এটি শুধুমাত্র তখনই প্রয়োজন যখন ত্রুটি "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" এ সেট করা থাকে।

মান: 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 স্ট্রিং

type = "REGULAR"

একটি কার্টে একটি লাইন আইটেমের জন্য (ProposedOrder.cart.lineItems[0].id), এটি অর্ডার তৈরি করার সময় Google দ্বারা তৈরি করা অনন্য আইডি। একটি প্রস্তাবিত অর্ডারে (ProposedOrder.otherItems[0].id) একটি লাইনআইটেমের জন্য, যা ডেলিভারি ফি এবং ট্যাক্সের মতো আইটেম যোগ করতে ব্যবহৃত হয়, আইডির মান প্রদানকারী দ্বারা সংজ্ঞায়িত করা হয়। উদাহরণস্বরূপ, একটি কার্টে একই আইটেমগুলির মধ্যে দুটি আলাদা প্রস্তুতির নির্দেশাবলী রয়েছে (যেমন টপিংসের বিভিন্ন সেট সহ দুটি মাঝারি পিজ্জা)। এই ক্ষেত্রে, উভয় আইটেম একই বেস অফার আইডি আছে। আপনি যখন একটি আইটেম প্রত্যাখ্যান করা হয়েছে তা নির্দেশ করার জন্য একটি অর্ডার আপডেটের অনুরোধ পাঠান, তখন এই আইডিটিকে দ্ব্যর্থক হিসাবে ব্যবহার করুন৷ অন্য কথায়, যদি পিজ্জাগুলির একটিকে প্রত্যাখ্যান করা হয় কারণ এটিতে একটি নির্দিষ্ট টপিংয়ের অভাব রয়েছে, তাহলে আইডিটি Google-কে সাহায্য করে আপনি কোন আইটেমটি উল্লেখ করছেন তা নির্ধারণ করতে। অন্যান্য আইটেম ছাড়া এই ক্ষেত্রটি প্রয়োজনীয়।

name স্ট্রিং

প্রয়োজন।

লাইন আইটেমের নাম। এটি একটি ব্যবহারকারী-দৃশ্যমান স্ট্রিং, এবং সম্ভব হলে বাক্যের ক্ষেত্রে হওয়া উচিত (যেমন "ডেলিভারি ফি", "সার্ভিস চার্জ", "ট্যাক্স")। ব্যবহারকারীদের জন্য এই ক্ষেত্রটি 100টি অক্ষরে কাটা হয়েছে।

type LineItemType

প্রয়োজন।

quantity পূর্ণসংখ্যা

type = "REGULAR"

আইটেম সংখ্যা অন্তর্ভুক্ত. ProposedOrder.otherItems এর ক্ষেত্রে প্রযোজ্য নয়।

description স্ট্রিং

আইটেম বর্ণনা.

price Price

প্রয়োজন।

জিনিস বা জিনিসের দাম। এই মানটি এই লাইন আইটেমের জন্য সমস্ত পণ্য বা পরিষেবার মোট মূল্য প্রতিফলিত করে (অন্য কথায়, যেকোনো অ্যাড-অনের খরচ যোগ করুন এবং পরিমাণ দ্বারা গুণ করুন)। উদাহরণস্বরূপ: যদি একটি $10 আইটেমের পরিমাণ 3 থাকে, তাহলে দাম হবে $30। একটি পিজ্জার জন্য যার মূল মূল্য $5 এবং একটি $1 অ্যাড-অন, মূল্য হবে $6৷ দুটি পিজ্জার জন্য (পরিমাণ = 2) যার মূল মূল্য $5 এবং প্রতিটি $1 অ্যাড-অন সহ, মূল্য হবে $12৷ প্রতিটি লাইন আইটেমের একটি মূল্য থাকা উচিত, এমনকি যদি মূল্য "0" হয়। যখন টাইপ ডিসকাউন্ট হয়, তখন একটি নেতিবাচক হিসাবে মান নির্দিষ্ট করুন (উদাহরণস্বরূপ, "-2")।

subLines তালিকা< SublineNote >

ঐচ্ছিক এবং শুধুমাত্র বৈধ যদি টাইপ "নিয়মিত" হয়। চেকআউট অনুরোধ এবং অর্ডার জমা দেওয়ার অনুরোধে ব্যবহারকারীর কাছ থেকে একটি আইটেম-নির্দিষ্ট নোট এই ক্ষেত্রে পাঠানো হতে পারে। নিশ্চিত করুন যে নোটটি সরবরাহ করা হলে ব্যবসায়ী তা গ্রহণ করেন। এটি সাবলাইনস[0] হিসেবে অনুরোধে থাকবে

1টির বেশি আইটেম থাকতে হবে না।

offerId স্ট্রিং

type = "REGULAR"

আইটেমের জন্য 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 স্ট্রিং

অবস্থানের ঠিকানা প্রদর্শন করুন।

উদাহরণ: 1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States

postalAddress PostalAddress
zipCode স্ট্রিং

উদাহরণ: 90210

city স্ট্রিং

শহরের নাম।

উদাহরণ: Los Angeles

notes স্ট্রিং

অবস্থান সম্পর্কে নোট, যেমন গেট কোড। এটি 500 অক্ষর বা তার কম হওয়া উচিত।

উদাহরণ: Gate code is #111

নিম্নলিখিত উদাহরণ একটি Location উপাদান দেখায়:

উদাহরণ

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

বণিক

নিম্নলিখিত সারণীতে Merchant প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

সম্পত্তি টাইপ বর্ণনা
id স্ট্রিং

ব্যবসায়ীর আইডি। উল্লেখ করা হলে, রেস্টুরেন্ট ফিডে রেস্টুরেন্ট.@id এর সাথে মেলে।

উদাহরণ: https://www.exampleprovider.com/merchant/id1

name স্ট্রিং

প্রয়োজন।

ব্যবসায়ীর ব্যবহারকারীর দৃশ্যমান নাম।

উদাহরণ: Falafel Bite

নিম্নলিখিত উদাহরণটি একটি Merchant উপাদান দেখায়:

উদাহরণ

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

টাকা

নিচের সারণীতে Money প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করা হয়েছে:

সম্পত্তি টাইপ বর্ণনা
currencyCode স্ট্রিং

প্রয়োজন।

ISO 4217 ফর্ম্যাটে একটি 3-অক্ষরের মুদ্রা কোড।

উদাহরণ: USD

units স্ট্রিং

রাশির পুরো একক। উদাহরণস্বরূপ, যদি মুদ্রার কোড "USD" হয়, তাহলে "1" ইউনিট হল এক মার্কিন ডলার।

উদাহরণ: 36

nanos পূর্ণসংখ্যা

পরিমাণের ন্যানো (10^-9) ইউনিটের সংখ্যা। মান অবশ্যই -999,999,999 এবং +999,999,999 এর মধ্যে হতে হবে। নিম্নলিখিত নিয়মগুলি ব্যবহার করুন: যদি একক ধনাত্মক হয়, ন্যানো অবশ্যই ধনাত্মক বা শূন্য হতে হবে। যদি ইউনিট শূন্য হয়, ন্যানো ধনাত্মক, শূন্য বা ঋণাত্মক হতে পারে। একক ঋণাত্মক হলে, ন্যানো অবশ্যই ঋণাত্মক বা শূন্য হতে হবে। উদাহরণস্বরূপ $-1.75 ইউনিট = -1 এবং ন্যানো = -750,000,000 হিসাবে উপস্থাপিত হয়।

উদাহরণ: 730000000

নিম্নলিখিত উদাহরণ একটি Money উপাদান দেখায়:

উদাহরণ 1

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

উদাহরণ 2

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

অর্ডার

ট্যাক্স, ফি এবং ডেলিভারি চার্জ, সেইসাথে পেমেন্টের তথ্য সহ চূড়ান্ত অর্ডার রয়েছে। এই বস্তুটি আপনার ক্রিয়া দ্বারা একটি Submit AppRequest গৃহীত হয়েছে।

নিম্নোক্ত সারণীটি Order প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
finalOrder ProposedOrder

প্রয়োজন।

যে আদেশের কারণে প্রস্তাবিত আদেশ।

googleOrderId স্ট্রিং

প্রয়োজন।

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

প্রয়োজনীয় যখন orderState.state = "REJECTED"

cancellationInfo CancellationInfo

প্রয়োজনীয় যখন orderState.state = "CANCELLED"

inTransitInfo InTransitInfo

এই ক্ষেত্রটি অপ্রচলিত।

fulfillmentInfo FulfillmentInfo

এই ক্ষেত্রটি অপ্রচলিত।

receipt Receipt

orderState.state = "CONFIRMED", "IN_PREPARATION", or "READY_FOR_PICKUP" হলে প্রয়োজনীয়।

একটি রসিদে ব্যবহারকারী-দৃশ্যমান অর্ডার আইডি প্রদান করুন।

totalPrice Price

অর্ডারের মোট মূল্য।

infoExtension FoodOrderUpdateExtension

অর্ডার আপডেটের আরও বিশদ বর্ণনা করে, যেমন আনুমানিক ডেলিভারি বা পিকআপের জন্য ব্যবধান।

নিম্নলিখিত উদাহরণ একটি OrderUpdate উপাদান দেখায়:

উদাহরণ

{
  "actionOrderId": "sample_action_order_id",
  "orderState": {
    "state": "CONFIRMED",
    "label": "Provider confirmed"
  },
  "totalPrice": {
    "type": "ESTIMATE",
    "amount": {
      "currencyCode": "USD",
      "units": "41",
      "nanos": 600000000
    }
  },
  "lineItemUpdates": {
    "sample_item_id_1": {
      "price": {
        "type": "ESTIMATE",
        "amount": {
          "currencyCode": "USD",
          "units": "3",
          "nanos": 500000000
        }
      },
      "reason": "This item has an updated price."
    }
  },
  "receipt": {
    "userVisibleOrderId": "userVisibleId1234"
  },
  "updateTime": "2017-07-17T12:00:00Z",
  "orderManagementActions": [
    {
      "type": "CUSTOMER_SERVICE",
      "button": {
        "title": "Contact customer service",
        "openUrlAction": {
          "url": "mailto:support@example.com"
        }
      }
    },
    {
      "type": "EMAIL",
      "button": {
        "title": "Email restaurant",
        "openUrlAction": {
          "url": "mailto:person@example.com"
        }
      }
    },
    {
      "type": "CALL_RESTAURANT",
      "button": {
        "title": "Call restaurant",
        "openUrlAction": {
          "url": "tel:+16505554679"
        }
      }
    }
  ],
  "infoExtension": {
    "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
    "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
  }
}

পিকআপ ইনফো

নিম্নলিখিত সারণী PickupInfo প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
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। চেকআউট প্রতিক্রিয়ার সময় আনুমানিক পিকআপ সময় আপডেট করতে এটি ব্যবহার করুন।

উদাহরণ: PT90M

নিম্নলিখিত উদাহরণ একটি PickupInfo উপাদান দেখায়:

উদাহরণ

{
  "pickupTimeIso8601": "PT90M"
}

ডাক ঠিকানা

নিম্নলিখিত সারণী PostalAddress প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
regionCode স্ট্রিং

প্রয়োজন।

একটি দুই-অক্ষরের দেশের কোড।

উদাহরণ: US

postalCode স্ট্রিং

পোস্টাল কোড।

উদাহরণ: 94043

administrativeArea স্ট্রিং

সর্বোচ্চ প্রশাসনিক উপবিভাগ যা একটি দেশ বা অঞ্চলের ডাক ঠিকানার জন্য ব্যবহৃত হয়। এটি একটি রাজ্য, একটি প্রদেশ, একটি ওব্লাস্ট বা একটি প্রিফেকচার হতে পারে।

উদাহরণ: CA

locality স্ট্রিং

এই অবস্থানের জন্য শহর বা শহর। বিশ্বের এমন অঞ্চলে যেখানে লোকালয়টি ভালভাবে সংজ্ঞায়িত করা হয় না বা এই কাঠামোর সাথে খাপ খায় না, স্থানীয়তা নির্দিষ্ট করবেন না এবং এর পরিবর্তে ঠিকানালাইন ক্ষেত্রটি ব্যবহার করুন।

উদাহরণ: Mountain View

addressLines তালিকা<স্ট্রিং>

এক বা একাধিক লাইন যা আপনি রাস্তার ঠিকানা নির্দিষ্ট করতে ব্যবহার করতে পারেন। এই ক্ষেত্রটি সংশোধন করা উচিত নয় কারণ এতে অস্পষ্ট এলাকা থাকতে পারে।

উদাহরণ: [ "1350 Charleston Road" ]

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 কন্সট

মিথ্যা সেট করুন.

মান: False

finalResponse FinalResponse

প্রয়োজন।

কার্ট চেকআউটে আপনার প্রতিক্রিয়া রয়েছে।

নিম্নলিখিত উদাহরণ একটি AppResponse উপাদান দেখায়:

উদাহরণ 1

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

উদাহরণ 2

{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "structuredResponse": {
            "orderUpdate": {
              "actionOrderId": "sample_action_order_id",
              "orderState": {
                "state": "CONFIRMED",
                "label": "Provider confirmed"
              },
              "receipt": {
                "userVisibleOrderId": "userVisibleId1234"
              },
              "updateTime": "2017-07-17T12:00:00Z",
              "orderManagementActions": [
                {
                  "type": "CUSTOMER_SERVICE",
                  "button": {
                    "title": "Contact customer service",
                    "openUrlAction": {
                      "url": "mailto:support@example.com"
                    }
                  }
                },
                {
                  "type": "CUSTOMER_SERVICE",
                  "button": {
                    "title": "Call customer service",
                    "openUrlAction": {
                      "url": "tel:+18005554679"
                    }
                  }
                },
                {
                  "type": "EMAIL",
                  "button": {
                    "title": "Email restaurant",
                    "openUrlAction": {
                      "url": "mailto:person@example.com"
                    }
                  }
                },
                {
                  "type": "CALL_RESTAURANT",
                  "button": {
                    "title": "Call restaurant",
                    "openUrlAction": {
                      "url": "tel:+16505554679"
                    }
                  }
                }
              ],
              "infoExtension": {
                "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension",
                "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z"
              }
            }
          }
        }
      ]
    }
  }
}

উদাহরণ 3

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

উদাহরণ 4

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

CheckoutResponseMessage

একটি CheckoutResponseMessage হল একটি AppResponse যার একটি checkoutResponse বা 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 অক্ষর বা তার কম সহ বাক্যের কেস ব্যবহার করুন।

উদাহরণ: Contact us

openUrlAction OpenUrlAction

প্রয়োজন।

নিম্নলিখিত উদাহরণ একটি Button উপাদান দেখায়:

উদাহরণ

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

বাতিলকরণের তথ্য

নিম্নলিখিত সারণীটি CancellationInfo প্রকারের বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
reason স্ট্রিং

প্রয়োজন।

OrderState.state "বাতিল" হলে প্রত্যাখ্যানের জন্য প্রদর্শনযোগ্য পাঠ্য কারণ।

উদাহরণ: Restaurant closed

নিম্নলিখিত উদাহরণটি একটি 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" এ সেট করা থাকে।

মান: type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension

estimatedFulfillmentTimeIso8601 স্ট্রিং

আনুমানিক সময় যখন অর্ডার বিতরণ করা হবে বা পিকআপের জন্য প্রস্তুত হবে। স্ট্রিংটি অবশ্যই ISO 8601 ফর্ম্যাটে হতে হবে এবং একটি নির্দিষ্ট সময়ের পরিবর্তে একটি ব্যবধানের সাথে সঙ্গতিপূর্ণ হতে হবে৷ গ্রহণযোগ্য নিয়মাবলী হল: বিরতি, সময়কাল এবং তারিখ/সময়। এই ক্ষেত্রটি SubmitOrderResponseMessage বা AsyncOrderUpdateRequestMessage-এ পাঠানো যেতে পারে যখন তথ্য উপলভ্য হয় বা কোনও পরিবর্তন হয়, যেমন আগমনের আগে বা বিলম্বিত।

উদাহরণ: 2017-07-17T13:00:00Z/2017-07-17T13:30:00Z

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"।

উদাহরণ: https://www.google.com

অর্ডার ম্যানেজমেন্ট অ্যাকশন

অর্ডার ম্যানেজমেন্ট ব্যবহারকারীদের পোস্ট-অর্ডার সমর্থন পেতে সক্ষম করে এবং প্রতিটি 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 to OrderManagementAction .

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: Your order has been received

The following example shows a OrderState element:

উদাহরণ

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

OrderStateEnum

Defines types related to OrderState .

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 order AppResponse , 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: Taco Points Total

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: braintree

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: 2

apiVersionMinor Const

প্রয়োজন।

Minor API version.

Value: 0

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: CARD

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 to GoogleProvidedPaymentOptions .

The SupportedCardNetworks type has the following possible values:

  • UNSPECIFIED_CARD_NETWORK
  • AMEX
  • DISCOVER
  • JCB
  • MASTERCARD
  • VISA

TokenizationParameters

Defines types related to GoogleProvidedPaymentOptions .

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: ESTIMATED

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"
}