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

অর্ডারিং এন্ড-টু-এন্ড বিল্ট-ইন অ্যাকশন এপিআই-এর সাথে কাজ করার সময় এই পৃষ্ঠাটি পূরণ করা ওয়েব পরিষেবার পেলোড (অর্ডারিং এন্ড-টু-এন্ড এপিআই) বর্ণনা করে। এই তথ্যের একটি মেশিন-পাঠযোগ্য সংস্করণের জন্য, আপনি 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 রেস্তোরাঁর টেলিফোনে পরিবর্তন করতে পারে যদি এটি গ্রাহকের যোগাযোগের সর্বোত্তম পয়েন্ট হয়ে ওঠে। একইভাবে, একবার অর্ডারটি "FULFILLED" অবস্থায় থাকলে, CUSTOMER_SERVICE আপনার সমর্থন ইমেল ঠিকানাগুলি উল্লেখ করতে পারে৷

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

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

প্রয়োজন।

button Button

প্রয়োজন।

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

উদাহরণ 1

{
  "type": "CUSTOMER_SERVICE",
  "button": {
    "title": "Contact customer service",
    "openUrlAction": {
      "url": "mailto:support@example.com"
    }
  }
}

উদাহরণ 2

{
  "type": "EMAIL",
  "button": {
    "title": "Email restaurant",
    "openUrlAction": {
      "url": "mailto:person@example.com"
    }
  }
}

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

OrderManagementAction সম্পর্কিত প্রকারগুলি সংজ্ঞায়িত করে।

OrderManagementActionType প্রকারের নিম্নলিখিত সম্ভাব্য মান রয়েছে:

  • CUSTOMER_SERVICE : ইমেল এবং/অথবা গ্রাহক পরিষেবার যোগাযোগ নম্বর অর্ডার নিশ্চিতকরণ পৃষ্ঠায় দেখানো হবে। এই প্রয়োজন. openUrlAction.url উপসর্গ হতে হবে "mailto", "tel", "http", বা "https"।
  • EMAIL : শুধুমাত্র অর্ডার বিশদ পৃষ্ঠায় ইমেল অ্যাকশন। openUrlAction.url প্রিফিক্স অবশ্যই "mailto" হতে হবে।
  • CALL_DRIVER : শুধুমাত্র অর্ডারের বিবরণ পৃষ্ঠায় কল অ্যাকশন। openUrlAction.url উপসর্গ "tel" হতে হবে।
  • CALL_RESTAURANT : শুধুমাত্র অর্ডারের বিবরণ পৃষ্ঠায় কল অ্যাকশন। openUrlAction.url উপসর্গ "tel" হতে হবে।

অর্ডার স্টেট

আদেশের বর্তমান অবস্থা। OrderState এর প্রতিটি state মান myaccount.google.com- এ একটি ক্রয়ের অবস্থার সাথেও মিলে যায়।

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

সম্পত্তি টাইপ বর্ণনা
state OrderStateEnum

প্রয়োজন।

label স্ট্রিং

প্রয়োজন।

রাজ্যের জন্য ব্যবহারকারী-দৃশ্যমান প্রদর্শন স্ট্রিং। বাক্যের ক্ষেত্রে ব্যবহার করুন।

উদাহরণ: Your order has been received

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

উদাহরণ

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

OrderStateEnum

OrderState সম্পর্কিত প্রকারগুলি সংজ্ঞায়িত করে।

OrderStateEnum প্রকারের নিম্নলিখিত সম্ভাব্য মান রয়েছে:

  • CREATED : ইন্টিগ্রেটার দ্বারা তৈরি অর্ডার এবং সরবরাহকারীর দ্বারা নিশ্চিতকরণের জন্য অপেক্ষা করা। "অর্ডার করা" ক্রয়ের স্থিতির সাথে সম্পর্কিত।
  • CONFIRMED : অর্ডার সরবরাহকারী দ্বারা নিশ্চিত করা এবং সক্রিয়। "স্বীকৃত" ক্রয়ের স্থিতির সাথে সম্পর্কিত।
  • REJECTED : ইন্টিগ্রেটার বা সরবরাহকারী দ্বারা প্রত্যাখ্যান আদেশ। "অস্বীকৃত" ক্রয়ের স্থিতির সাথে সম্পর্কিত।
  • CANCELLED : ব্যবহারকারী অর্ডার বাতিল করেছেন। "বাতিল" ক্রয়ের স্থিতির সাথে সম্পর্কিত।
  • IN_PREPARATION : খাবার প্রস্তুত করা হচ্ছে। "স্থিতি অজানা" ক্রয়ের স্থিতির সাথে সম্পর্কিত।
  • READY_FOR_PICKUP : খাবার পিকআপের জন্য প্রস্তুত। "পিকআপের জন্য প্রস্তুত" ক্রয়ের স্থিতি সম্পর্কিত।
  • IN_TRANSIT : অর্ডার বিতরণ করা হচ্ছে। "অগ্রগতি" ক্রয়ের স্থিতির সাথে সম্পর্কিত।
  • FULFILLED : ব্যবহারকারী যা অর্ডার করা হয়েছিল তা পেয়েছে। "পিক আপ" ক্রয়ের স্থিতির সাথে সম্পর্কিত।

প্রাপ্তি

এই প্রকারটি জমা দেওয়ার AppResponse মধ্যে প্রেরণ করুন, যেখানে OrderState "নিশ্চিত", "পরিপূর্ণ", বা "ইন_ট্রানসিত" রয়েছে। যখন userVisibleOrderId উপলব্ধ হয় তখন রসিদটি প্রেরণ করুন। আপনার পরবর্তী আপডেটগুলিতে রসিদ প্রেরণ চালিয়ে যাওয়ার দরকার নেই।

নিম্নলিখিত টেবিলটি Receipt প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

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

প্রয়োজন।

যদি অর্ডারটি "নিশ্চিত", "IN_TRANSIT", বা "পরিপূর্ণ" হয় তবে প্রয়োজনীয়। এই ক্ষেত্রটি এই ক্রমের জন্য একক ব্যবহারকারী-মুখী আইডি (সাধারণত রেস্তোঁরাটির অর্ডার আইডি), ইন্টিগ্রেটারের প্রাপ্তি এবং গুগল অর্ডার কার্ড উভয়ই প্রদর্শিত হয়। ব্যবহারকারী অবশ্যই সরবরাহকারী এবং ইন্টিগ্রেটারের সাথে গ্রাহক পরিষেবার জন্য তাদের অর্ডারটি উল্লেখ করতে এই আইডিটি ব্যবহার করতে সক্ষম হতে হবে। আপনাকে কেবল কোনও প্রদত্ত অর্ডারআপডেটে এই আইডি সরবরাহ করতে হবে। যতক্ষণ না এটি সরবরাহ করা হয়, অ্যাকশন অর্ডারআইডিটি হ'ল ব্যবহারযোগ্য অর্ডারআইডি। উদাহরণস্বরূপ, অর্ডারটি রেস্তোঁরা দ্বারা নিশ্চিত না হওয়া পর্যন্ত আপনার কোনও ব্যবহারযোগ্য অর্ডারড নাও থাকতে পারে। একবার নিশ্চিত হয়ে গেলে, আপনাকে অবশ্যই একটি অর্ডারআপডেট এবং একটি রশিদ সহ একটি অ্যাসিঙ্কার্ডারআপডেটারেকস্টমেসেজ প্রেরণ করতে হবে।

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

উদাহরণ

{
  "userVisibleOrderId": "userVisibleId1234"
}

প্রত্যাখ্যান info

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

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

প্রয়োজন।

reason স্ট্রিং

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

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

উদাহরণ

{
  "type": "PAYMENT_DECLINED",
  "reason": "There is an issue with payment processing."
}

প্রত্যাখ্যান টাইপ

RejectionType টাইপের নিম্নলিখিত সম্ভাব্য মানগুলি রয়েছে:

  • INELIGIBLE : নীতি বা ঝুঁকি সম্পর্কিত উদ্বেগের কারণে ব্যবহারকারী যোগ্য নয়।
  • PAYMENT_DECLINED : পেমেন্ট প্রসেসিংয়ের সাথে একটি সমস্যা রয়েছে।
  • UNAVAILABLE_SLOT : ডেলিভারিআইএনএফও বা পিকুপিনফো দ্বারা নির্দিষ্ট করা অর্ডারটিতে অর্ডারটি পূরণ করা যাবে না।
  • PROMO_NOT_APPLICABLE : প্রচারের সাথে একটি সমস্যা রয়েছে।
  • UNKNOWN : অন্য কোনও কারণ।

অর্থ-সম্পর্কিত প্রকার

এই বিভাগটি খাদ্য ক্রমের পরিপূর্ণতার জন্য ব্যবহৃত অর্থ-সম্পর্কিত প্রকারগুলি বর্ণনা করে।

অ্যাকশনপ্রভাইডেডপেমেন্টঅপশনস

একটি অ্যাকশন সরবরাহিত অর্থ প্রদানের পদ্ধতির জন্য প্রয়োজনীয়তা।

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

সম্পত্তি টাইপ বর্ণনা
paymentType PaymentType

প্রয়োজন।

displayName স্ট্রিং

প্রয়োজন।

রসিদে প্রদর্শিত পেমেন্ট ইনস্ট্রুমেন্টের নাম।

উদাহরণ: Taco Points Total

onFulfillmentPaymentData OnFulfillmentPaymentData

পেমেন্টটাইপ "অন_ফুলফিলমেন্ট" এর জন্য অতিরিক্ত ডেটা। উদাহরণস্বরূপ, নগদ বা কার্ড পরিপূর্ণতায় সমর্থিত কিনা তা নির্দিষ্ট করতে আপনি এই ক্ষেত্রটি ব্যবহার করতে পারেন।

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

উদাহরণ

{
  "paymentType": "ON_FULFILLMENT",
  "displayName": "Pay when you get your food.",
  "onFulfillmentPaymentData": {
    "supportedPaymentOptions": [
      "Cash",
      "Card"
    ]
  }
}

অনুমোদিত

AllowedAuthMethods প্রকারের নিম্নলিখিত সম্ভাব্য মানগুলি রয়েছে:

  • PAN_ONLY : ব্যবহারকারীর গুগল অ্যাকাউন্টের সাথে ফাইলটিতে সঞ্চিত পেমেন্ট কার্ডগুলির সাথে যুক্ত প্রমাণীকরণ পদ্ধতি। ফেরত প্রদানের ডেটাতে মেয়াদোত্তীর্ণ মাস এবং মেয়াদোত্তীর্ণ বছর সহ ব্যক্তিগত অ্যাকাউন্ট নম্বর (প্যান) অন্তর্ভুক্ত রয়েছে।

অনুমোদিত কার্ডনেট ওয়ার্কস

AllowedCardNetworks টাইপের নিম্নলিখিত সম্ভাব্য মানগুলি রয়েছে:

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA

BillingAddress প্যারামিটার

এই অবজেক্টটি আপনাকে অনুরোধ করা বিলিং ঠিকানার জন্য অতিরিক্ত ক্ষেত্রগুলি সেট করতে দেয়।

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

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

লেনদেন সম্পূর্ণ করতে বিলিং ঠিকানা বিন্যাস প্রয়োজন। মিনিট: নাম, দেশের কোড এবং ডাক কোড। পূর্ণ: নাম, রাস্তার ঠিকানা, অঞ্চল, অঞ্চল, দেশ কোড এবং ডাক কোড।

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

উদাহরণ 1

{
  "format": "MIN"
}

উদাহরণ 2

{
  "format": "FULL"
}

কার্ডপ্যারামিটার

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

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

সম্পত্তি টাইপ বর্ণনা
allowedAuthMethods তালিকা <কনস্ট>

প্রয়োজন।

ক্ষেত্রগুলি একটি কার্ড লেনদেন প্রমাণীকরণ করতে সমর্থিত।

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

allowedCardNetworks তালিকা < AllowedCardNetworks >

প্রয়োজন।

গুগল পে এপিআই দ্বারা সমর্থিত এক বা একাধিক কার্ড নেটওয়ার্ক যা আপনি সমর্থন করেন।

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

billingAddressRequired বুলিয়ান

আপনার একটি বিলিং ঠিকানা প্রয়োজন হলে সত্য সেট করুন। লেনদেনটি প্রক্রিয়া করার প্রয়োজন হলে কেবল একটি বিলিং ঠিকানার জন্য অনুরোধ করুন। অতিরিক্ত ডেটা অনুরোধগুলি চেকআউট প্রক্রিয়াতে ঘর্ষণ বাড়িয়ে তুলতে পারে এবং কম রূপান্তর হারের দিকে পরিচালিত করে।

billingAddressParameters BillingAddressParameters

বিলিংএডড্রেস্রেকোয়ার্ড যদি সত্যে সেট করা থাকে তবে প্রত্যাশিত ক্ষেত্রগুলি ফিরে আসে।

cvcRequired বুলিয়ান

টাইমসফমনি ব্যবহার করে যদি সত্যে সেট করুন, অন্যান্য সমস্ত পেমেন্ট প্রসেসরের জন্য মিথ্যা।

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

উদাহরণ 1

{
  "allowedAuthMethods": [
    "PAN_ONLY"
  ],
  "allowedCardNetworks": [
    "AMEX",
    "DISCOVER"
  ],
  "billingAddressRequired": false,
  "cvcRequired": false
}

উদাহরণ 2

{
  "allowedAuthMethods": [
    "PAN_ONLY"
  ],
  "allowedCardNetworks": [
    "AMEX",
    "DISCOVER"
  ],
  "billingAddressRequired": true,
  "billingAddressParameters": {
    "format": "MIN"
  },
  "cvcRequired": false
}

গুগলপ্রোভাইডপেইমেন্টিনস্ট্রুমেন্ট

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

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

প্রয়োজন।

পূর্বে নির্দিষ্ট গুগলপ্রোভাইডপেইমেন্টোপেশনগুলি অনুযায়ী অংশগ্রহণকারী গুগল পে প্রসেসরের সাথে ব্যবহারকারীকে চার্জ করার জন্য অর্থ প্রদানের টোকেনযুক্ত বেস 64৪-এনকোডযুক্ত স্ট্রিং।

billingAddress PostalAddress

অর্থ প্রদানের জন্য বিলিং ঠিকানা।

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

উদাহরণ

{
  "instrumentToken": "abcd",
  "billingAddress": {
    "regionCode": "US",
    "postalCode": "94043",
    "administrativeArea": "CA",
    "locality": "Mountain View",
    "addressLines": [
      "1350 Charleston Road"
    ]
  }
}

গুগলপ্রোভাইডপেমেন্টোপশনস

গুগল সরবরাহিত অর্থ প্রদানের পদ্ধতির জন্য প্রয়োজনীয়তা।

নিম্নলিখিত টেবিলটি GoogleProvidedPaymentOptions প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

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

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

supportedCardNetworks তালিকা < SupportedCardNetworks >

পরিবর্তে সুবিধাগুলি ব্যবহার করুন। এজেন্ট দ্বারা সমর্থিত কার্ড নেটওয়ার্কের ধরণ।

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

prepaidCardDisallowed বুলিয়ান

পরিবর্তে সুবিধাগুলি ব্যবহার করুন। প্রিপেইড কার্ডটি পেমেন্টের ধরণ হিসাবে অনুমোদিত কিনা।

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

billingAddressRequired বুলিয়ান

পরিবর্তে সুবিধাগুলি ব্যবহার করুন। কোনও বিলিং ঠিকানা প্রয়োজন কিনা।

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

tokenizationParameters TokenizationParameters

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

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

উদাহরণ 1

{
  "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\": false    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
}

উদাহরণ 2

{
  "tokenizationParameters": {
    "tokenizationType": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "braintree",
      "braintree:apiVersion": "v1",
      "braintree:sdkVersion": "1.4.0",
      "braintree:merchantId": "a1b2c3d4e5",
      "braintree:clientKey": "production_braintree_client_key",
      "braintree:authorizationFingerprint": "same_as_client_key"
    }
  },
  "supportedCardNetworks": [
    "AMEX",
    "DISCOVER",
    "MASTERCARD",
    "JCB",
    "VISA"
  ],
  "prepaidCardDisallowed": true
}

উদাহরণ 3

{
  "tokenizationParameters": {
    "tokenizationType": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "stripe",
      "stripe:publishableKey": "pk_live_stripe_client_key",
      "stripe:version": "2017-04-06"
    }
  },
  "supportedCardNetworks": [
    "AMEX",
    "DISCOVER",
    "MASTERCARD",
    "VISA",
    "JCB"
  ],
  "prepaidCardDisallowed": true,
  "billingAddressRequired": true
}

মার্চেন্টিনফো

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

নিম্নলিখিত টেবিলটি MerchantInfo প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

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

গুগল বেতন দ্বারা আপনাকে গুগল মার্চেন্ট আইডেন্টিফায়ার জারি করা হয়েছে।

merchantName স্ট্রিং

প্রয়োজন।

মার্চেন্টের নামটি ইউটিএফ -8 হিসাবে এনকোড করা হয়েছে। বণিকের নাম পেমেন্ট শীটে রেন্ডার করা হয়।

অনফুলফিলমেন্টপেমেন্টডাটা

পেমেন্ট টাইপ "অন_ফুলফিলমেন্ট" এর জন্য অতিরিক্ত ডেটা প্রেরণে এই অবজেক্টটি ব্যবহার করুন।

নিম্নলিখিত টেবিলটি OnFulfillmentPaymentData প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

সম্পত্তি টাইপ বর্ণনা
supportedPaymentOptions তালিকা < PaymentOptionsEnums >

অর্ডার পূরণের সময় ব্যবহারকারীর কাছে উপলব্ধ অর্থের বিকল্পগুলির তালিকা।

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

উদাহরণ

{
  "supportedPaymentOptions": [
    "Cash",
    "Card"
  ]
}

পরামিতি

TokenizationParameters সম্পর্কিত প্রকারগুলি সংজ্ঞায়িত করে।

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

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

প্রয়োজন।

উদাহরণ: braintree

gatewayMerchantId স্ট্রিং
[additionalKey: string] স্ট্রিং অতিরিক্ত কী-মান জোড়া

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

উদাহরণ 1

{
  "gatewayMerchantId": "90412491",
  "gateway": "olo"
}

উদাহরণ 2

{
  "gateway": "braintree",
  "braintree:apiVersion": "v1",
  "braintree:sdkVersion": "1.4.0",
  "braintree:merchantId": "YOUR_MERCHANT_ID",
  "braintree:clientKey": "YOUR_BRAINTREE_SANDVOX_OR_PRODUCTION_KEY"
}

পেমেন্ট ডেটা অনুরোধ

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

নিম্নলিখিত টেবিলটি PaymentDataRequest প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

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

প্রয়োজন।

মেজর এপিআই সংস্করণ।

মান: 2

apiVersionMinor কন্সট

প্রয়োজন।

ক্ষুদ্র API সংস্করণ।

মান: 0

merchantInfo MerchantInfo

প্রয়োজন।

(গুগল পে মার্চেন্ট আইডি) বণিক সম্পর্কে তথ্য যা অর্থ প্রদানের ডেটা অনুরোধ করে।

allowedPaymentMethods তালিকা < PaymentMethod >

প্রয়োজন।

গুগল পে এপিআই দ্বারা সমর্থিত এক বা একাধিক অর্থ প্রদানের পদ্ধতির জন্য সমর্থন নির্দিষ্ট করে।

transactionInfo TransactionInfo

প্রয়োজন।

ব্যবহারকারী লেনদেনের সাথে সম্মত হন কি না তার উপর ভিত্তি করে লেনদেনের অনুমোদন সম্পর্কে বিশদ। এই ক্ষেত্রটিতে মোট মূল্য এবং দামের স্থিতি অন্তর্ভুক্ত রয়েছে।

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

উদাহরণ

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "merchantInfo": {
    "merchantId": "10391231",
    "merchantName": "Burrito Town"
  },
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": [
          "PAN_ONLY"
        ],
        "allowedCardNetworks": [
          "VISA",
          "AMEX",
          "MASTERCARD"
        ],
        "billingAddressRequired": true,
        "billingAddressParameters": {
          "format": "FULL"
        },
        "cvcRequired": false
      },
      "tokenizationSpecification": {
        "type": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "stripe",
          "stripe:version": "2019-05-16",
          "stripe:publishableKey": "pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA"
        }
      }
    }
  ],
  "transactionInfo": {
    "currencyCode": "INR",
    "totalPriceStatus": "ESTIMATED",
    "totalPrice": "185.00"
  }
}

পেমেন্টইনফো

একটি আদেশের জন্য অর্থ প্রদান সম্পর্কিত তথ্য।

নিম্নলিখিত টেবিলটি PaymentInfo প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

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

প্রয়োজন।

প্রাপ্তিতে প্রদর্শনের জন্য অর্থ প্রদানের যন্ত্রের ব্যবহারকারী-দৃশ্যমান নাম।

paymentType PaymentType

প্রয়োজন।

googleProvidedPaymentInstrument GoogleProvidedPaymentInstrument

টোকেন যা ক্রিয়া দ্বারা ব্যবহার করা যেতে পারে। আপনি যদি চেকআউটট্রেসপোনসেমেসেজে অর্থ প্রদানের বিকল্প হিসাবে গুগলপ্রোভাইডপেন্টপেশনগুলি নির্দিষ্ট করে থাকেন তবে কেবল এটি নির্দিষ্ট করুন।

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

উদাহরণ 1

{
  "displayName": "Visa\u2006****\u20061111",
  "googleProvidedPaymentInstrument": {
    "instrumentToken": "abcd"
  },
  "paymentType": "PAYMENT_CARD"
}

উদাহরণ 2

{
  "displayName": "Visa\u2006****\u20061111",
  "googleProvidedPaymentInstrument": {
    "instrumentToken": "abcd",
    "billingAddress": {
      "regionCode": "US",
      "postalCode": "94043",
      "administrativeArea": "CA",
      "locality": "Mountain View",
      "addressLines": [
        "123 Random Street",
        "Unit ABC"
      ],
      "recipients": [
        "sample_receipient"
      ]
    }
  },
  "paymentType": "PAYMENT_CARD"
}

পেমেন্ট পদ্ধতি

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

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

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

প্রয়োজন।

সমর্থিত অর্থ প্রদানের পদ্ধতির জন্য সংক্ষিপ্ত শনাক্তকারী। শুধুমাত্র কার্ড বর্তমানে সমর্থিত।

মান: CARD

parameters CardParameters

প্রয়োজন।

প্রদত্ত অর্থ প্রদানের পদ্ধতির প্রকারটি কনফিগার করতে প্যারামিটারগুলি প্রয়োজনীয়।

tokenizationSpecification TokenizationSpecification

প্রয়োজন।

অর্থপ্রদানের তথ্য পেতে একটি অ্যাকাউন্ট বা ডিক্রিপশন প্রদানকারী কনফিগার করুন। কার্ড প্রদানের পদ্ধতির জন্য এই সম্পত্তিটি প্রয়োজনীয়।

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

উদাহরণ

{
  "type": "CARD",
  "parameters": {
    "allowedAuthMethods": [
      "PAN_ONLY"
    ],
    "allowedCardNetworks": [
      "VISA",
      "AMEX",
      "MASTERCARD"
    ],
    "billingAddressRequired": false
  },
  "tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
      "gatewayMerchantId": "90412491",
      "gateway": "olo"
    }
  }
}

পেমেন্ট অপশন

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

সম্পত্তি টাইপ বর্ণনা
ঠিক নিম্নলিখিত বৈশিষ্ট্যগুলির একটি গ্রুপের প্রয়োজন।
googleProvidedOptions গ্রুপ 1 GoogleProvidedPaymentOptions

অ্যাকশনপ্রভাইডঅপশনগুলির সাথে পারস্পরিক একচেটিয়া। জিপিএই ব্যবহার করে অনলাইন পেমেন্টের জন্য এটি ব্যবহার করুন।

actionProvidedOptions গ্রুপ 2 ActionProvidedPaymentOptions

গুগলপ্রোভাইডোপশনগুলির সাথে পারস্পরিক একচেটিয়া। এটি "নগদ অন ডেলিভারি" বা "পরিপূর্ণতার উপর অর্থ প্রদান" এর জন্য ব্যবহার করুন।

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

উদাহরণ 1

{
  "googleProvidedOptions": {
    "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\": false    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
  }
}

উদাহরণ 2

{
  "googleProvidedOptions": {
    "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": {  \"merchantId\": \"Merchant ID\",  \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [  {    \"type\": \"CARD\",    \"parameters\": {      \"allowedAuthMethods\": [        \"PAN_ONLY\"      ],      \"allowedCardNetworks\": [        \"VISA\",        \"AMEX\",        \"MASTERCARD\"      ],      \"billingAddressRequired\":true,   \"billingAddressParameters\": {  \"format\":\"MIN\"  }    },    \"tokenizationSpecification\": {      \"type\": \"PAYMENT_GATEWAY\",      \"parameters\": {        \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\",        \"gateway\": \"stripe\",        \"stripe:version\": \"2019-05-16\"      }    }  }],\"transactionInfo\": {  \"currencyCode\": \"AUD\",  \"totalPriceStatus\": \"ESTIMATED\",  \"totalPrice\": \"1.0\"}}"
  }
}

উদাহরণ 3

{
  "actionProvidedOptions": {
    "paymentType": "ON_FULFILLMENT",
    "displayName": "Pay when you get your food.",
    "onFulfillmentPaymentData": {
      "supportedPaymentOptions": [
        "Cash",
        "Card"
      ]
    }
  }
}

পেমেন্টঅপশনসেনামস

PaymentOptionsEnums টাইপের নিম্নলিখিত সম্ভাব্য মানগুলি রয়েছে:

  • Cash
  • Card
  • UPI
  • Paytm

পেমেন্ট টাইপ

PaymentType টাইপের নিম্নলিখিত সম্ভাব্য মানগুলি রয়েছে:

  • PAYMENT_CARD : গুগলপ্রোভাইডপেমেন্টঅপশনগুলির জন্য।
  • ON_FULFILLMENT : অ্যাকশনপ্রভাইডেডপেমেন্টঅপশনগুলির জন্য।

সাপোর্টডকার্ডনেট ওয়ার্কস

GoogleProvidedPaymentOptions সম্পর্কিত প্রকারগুলি সংজ্ঞায়িত করে।

SupportedCardNetworks ধরণের নিম্নলিখিত সম্ভাব্য মানগুলি রয়েছে:

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

টোকেনাইজেশনপ্যারামিটার

GoogleProvidedPaymentOptions সম্পর্কিত প্রকারগুলি সংজ্ঞায়িত করে।

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

সম্পত্তি টাইপ বর্ণনা
tokenizationType Enum [ "UNSPECIFIED_TOKENIZATION_TYPE", "PAYMENT_GATEWAY" ]

প্রয়োজন।

পরিবর্তে সুবিধাগুলি ব্যবহার করুন। টোকেন গ্রহণযোগ্য প্রকার।

parameters Parameters

পরিবর্তে সুবিধাগুলি ব্যবহার করুন।

টোকেনাইজেশন স্পেসিফিকেশন

এই অবজেক্টটি আপনাকে চার্জযোগ্য অর্থ প্রদানের তথ্য পেতে কোনও অ্যাকাউন্ট কনফিগার করতে দেয়।

নিম্নলিখিত টেবিলটি TokenizationSpecification প্রকারের জন্য বৈশিষ্ট্যগুলি তালিকাভুক্ত করে:

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

প্রয়োজন।

parameters Parameters

প্রয়োজন।

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

উদাহরণ 1

{
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gatewayMerchantId": "1247192",
    "gateway": "cybersource"
  }
}

উদাহরণ 2

{
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "stripe",
    "stripe:version": "2018-10-31",
    "stripe:publishableKey": "12378127"
  }
}

লেনদেন ইনফো

এই অবজেক্টটি এমন একটি লেনদেনের বর্ণনা দেয় যা কোনও প্রদানকারীর অর্থ প্রদানের ক্ষমতা নির্ধারণ করে। এটি একটি অর্থ প্রদানের অনুমোদনের ডায়ালগ উপস্থাপন করতে ব্যবহৃত হয়।

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

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

প্রয়োজন।

আইএসও 4217 বর্ণমালা মুদ্রা কোড।

transactionId স্ট্রিং

অনন্য আইডি যা লেনদেনের প্রচেষ্টা চিহ্নিত করে। বণিকরা একটি বিদ্যমান আইডি ব্যবহার করতে পারে বা গুগল পে লেনদেনের চেষ্টার জন্য একটি নির্দিষ্ট একটি তৈরি করতে পারে। আপনি যখন গুগল লেনদেনের ইভেন্টগুলি এপিআইতে কলব্যাকগুলি প্রেরণ করেন তখন এই ক্ষেত্রটি প্রয়োজন।

totalPriceStatus কন্সট

প্রয়োজন।

ডিফল্ট হিসাবে "আনুমানিক" ব্যবহার করুন। মোট মূল্য প্রতিক্রিয়ার বিশদগুলির ভিত্তিতে সামঞ্জস্য করতে পারে, যেমন বিলিং ঠিকানার ভিত্তিতে সংগ্রহ করা বিক্রয় কর।

মান: ESTIMATED

totalPrice স্ট্রিং

প্রয়োজন।

দুটি দশমিক স্থানের al চ্ছিক দশমিক নির্ভুলতার সাথে লেনদেনের মোট আর্থিক মান। এই ক্ষেত্রটির কার্ট.টোটালপ্রাইস হিসাবে একই মান থাকতে হবে।

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

উদাহরণ

{
  "totalPriceStatus": "ESTIMATED",
  "totalPrice": "12.34",
  "currencyCode": "USD"
}