סוגי בסיס
עגלת קניות
כולל פרטים על ההזמנה, וכן אם הבקשה היא לאיסוף או למשלוח. עגלה מכילה גם פרטי משלוח, תשומת לב וכתובת למשלוח. האובייקטCart
מוגדר בקובץ Checkout AppRequest
.f
כולל עותק של עגלת הקניות בCheckout AppResponse
בטבלה הבאה מפורטים המאפיינים מסוג Cart
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
@type |
ניגודיות |
סוג האובייקט. אין להשמיט את השדה הזה, אם האובייקט של עגלת הקניות הוא חלק מ-OfferOrderOrder. ערך: |
|
id |
מחרוזת |
המזהה האופציונלי של עגלת הקניות. |
|
merchant |
Merchant |
מוכר המשויך לעגלת הקניות הזו. |
|
lineItems |
List<LineItem > |
חובה. רשימה של הטובין או השירותים שהמשתמש מזמין. אין לכלול יותר מפריט אחד. |
|
promotions |
List<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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
displayName |
מחרוזת |
שם האדם שמקבל את ההזמנה, כפי שהיית רוצה שיוצג. יש להשתמש בשדה הזה אם firstName ו-lastName לא מצוינים. לדוגמה: |
|
email |
מחרוזת |
כתובת האימייל של האדם שמקבל את ההזמנה. לדוגמה: |
|
firstName |
מחרוזת |
השם הפרטי של האדם שמקבל את ההזמנה. לדוגמה: |
|
lastName |
מחרוזת |
שם המשפחה של האדם שמקבל את ההזמנה. לדוגמה: |
|
phoneNumber |
מחרוזת |
מספר הטלפון של האדם שמקבל את ההזמנה, כולל קוד המדינה. לדוגמה: |
|
emailVerified |
ערך בוליאני |
מציין אם האדם שמקבל את ההזמנה מחובר באמצעות חשבון Google שלו. |
בדוגמה הבאה מוצג רכיב Contact
:
דוגמה
{ "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" }
הודעת Push מותאמת אישית
מכיל אתOrderUpdate
של הבקשה.
בטבלה הבאה מפורטים המאפיינים מסוג CustomPushMessage
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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;;. לדוגמה, PT90M מייצג משך זמן של 90 דקות. ערך ברירת המחדל ,"PT0M" מציין שזמן האספקה המועדף הוא בהקדם האפשרי. הפניה: https://en.wikipedia.org/wiki/ISO_8601#שילובd_date_and_time_representations. אפשר להשתמש במאפיין הזה כדי לעדכן את זמן האספקה המשוער במהלך התשלום בקופה. לדוגמה: |
בדוגמה הבאה מוצג רכיב DeliveryInfo
:
דוגמה
{ "deliveryTimeIso8601": "PT90M" }
כתב ויתור
בטבלה הבאה מפורטים המאפיינים מסוג Disclaimer
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
predefinedMessage |
PredefinedMessage |
חובה. כדי להציג הודעות עם כתב ויתור מוגדר מראש במהלך התשלום בקופה. |
|
feeAmount |
Money |
השותף יחייב את המוכר בעמלה בסך N בגין ההזמנה. |
|
feeAmountRange |
FeeAmountRange |
השותף יחייב את המסעדה בעמלה של N עד M לכל הזמנה. |
|
feePercent |
מספר |
השותף יחייב את המוכר בעמלה של% N עבור ההזמנה. |
|
feePercentRange |
FeePercentRange |
השותף יחייב את המוכר בעמלה של% N עד% לכל הזמנה. |
בדוגמה הבאה מוצג רכיב 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
: לא ניתן למלא את ההזמנה במועד שנקבע מראש על ידי מסירת מידע.OUT_OF_SERVICE_AREA
: לא ניתן לשלוח את ההזמנה לכתובת של המשתמש.PROMO_EXPIRED
: לא ניתן להחיל את המבצע מכיוון שתוקף המבצע פג.PROMO_NOT_APPLICABLE
: קוד שגיאה כללי כדי לזהות את כל המקרים של אי-מימוש קוד הטבה, אם אף אחת משגיאות אחרות של קוד ההטבה לא מתאימה.PROMO_NOT_RECOGNIZED
: קוד השובר אינו מוכר.PROMO_ORDER_INELIGIBLE
: ההזמנה הנוכחית לא עומדת בתנאים של השובר הזה.PROMO_USER_INELIGIBLE
: המשתמש הנוכחי לא זכאי לשובר הזה.AVAILABILITY_CHANGED
: הפריט כבר לא זמין, או שאין מספיק פריטים כדי למלא את הבקשה.INCORRECT_PRICE
: שגיאות מחיר בעמלות או בסך הכול.INVALID
: פריט, FulfillmentOption או קידום מכירות מכילים נתונים לא חוקיים.NOT_FOUND
: לא ניתן למצוא פריט בודד, FulfillmentOption או מבצע.PRICE_CHANGED
: מחיר הפריט השתנה.
טווח עמלה
בטבלה הבאה מפורטים המאפיינים מסוג FeeAmountRange
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
minFeeAmount |
Money |
סף תחתון של סכום העמלה.. |
|
maxFeeAmount |
Money |
סף החיוב העליון של סכום העמלה. |
טווח עמלה
בטבלה הבאה מפורטים המאפיינים מסוג FeePercentRange
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
minFeePercent |
מספר |
סף החיוב התחתון באחוזים של עמלה. |
|
maxFeePercent |
מספר |
סף עליון לעמלה באחוזים. |
תוסף מזון
מכיל פרטים על המשתמש, כגון העדפות מילוי הזמנה.
בטבלה הבאה מפורטים המאפיינים מסוג FoodCartExtension
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
@type |
ניגודיות |
סוג התוסף הזה. השדה הזה תמיד מוגדר כ-"type.googleapis.com/google.actions.v2.orders.fooddCartExtension". ערך: |
|
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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
@type |
ניגודיות | חובה. סוג התוסף הזה. ערך: |
|
foodOrderErrors |
List<FoodOrderError > |
חובה. מערך אובייקטים של OrderOrderError המתארים את השגיאות שהתרחשו. מומלץ שגיאה אחת לכל עגלת קניות או לכל פריט. אין לכלול יותר מפריט אחד. |
|
correctedProposedOrder |
ProposedOrder |
חובה
בתאריך הזמנה חדשה שהוצעה עם תיקונים. יש להחזיר את האובייקט הזה אם יש שגיאות בשחזור ההזמנה המוצעת המקורית. לדוגמה, שינוי במחיר של פריט אחד או יותר בעגלת הקניות הוא שגיאה שניתן לשחזר. שגיאות שניתנות לשחזור עם הזמנה מוצעת תקפה מופיעות במקום שלב האישור, במקום שהמשתמש יצטרך לבדוק את עגלת הקניות. |
|
paymentOptions |
PaymentOptions |
חובה
בתאריך נבחרו אפשרויות תשלום המוגדרות כברירת מחדל עבור המשתמש. |
|
additionalPaymentOptions |
List<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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
@type |
ניגודיות | חובה. סוג התוסף הזה. השדה הזה תמיד מוגדר כ-"type.googleapis.com/google.actions.v2.orders.fooddItemExtension". ערך: |
|
options |
List<FoodItemOption > |
אפשרות יכולה להיות פריט בתוסף או קבוצת תוספים שמכילים קבוצה של תוספים. |
בדוגמה הבאה מוצג רכיב FoodItemExtension
:
דוגמה
{ "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1, "subOptions": [ { "id": "10239138", "offerId": "912391723", "name": "Fries", "price": { "currencyCode": "USD", "units": "2", "nanos": 230000000 }, "quantity": 1 } ] } ] }
FoodItemOption
בטבלה הבאה מפורטים המאפיינים מסוג FoodItemOption
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
id |
מחרוזת |
המזהה הייחודי שהוקצה על ידי Google. כששולחים שגיאת OrderOrderError או AsyncOrderUpdateRequest, אפשר להשתמש בשדה הזה כדי להבדיל בין מקרים שבהם עגלת קניות מכילה יותר מפריט אחד עם אותו מזהה מזהה. לדוגמה: |
|
offerId |
מחרוזת |
מזהה המבצע של הפריט. לדוגמה: |
|
name |
מחרוזת |
שם האפשרות. לדוגמה: |
|
price |
Money |
||
note |
מחרוזת |
הערה שקשורה לאפשרות. |
|
quantity |
מספר |
לאפשרויות שהן פריטים, מספר הפריטים. לדוגמה: |
|
subOptions |
List<FoodItemOption > |
אפשרויות משנה של אפשרות, אם יש. לדוגמה: |
בדוגמה הבאה מוצג רכיב FoodItemOption
:
דוגמה 1
{ "id": "10293231", "offerId": "1918491", "name": "Honey Mustard", "price": { "currencyCode": "USD", "units": "1", "nanos": 250000000 }, "quantity": 5 }
דוגמה 2
{ "id": "123166552", "offerId": "912849184", "name": "Make It A Meal", "price": { "currencyCode": "USD", "units": "3", "nanos": 730000000 }, "quantity": 1, "subOptions": [ { "id": "10239138", "offerId": "912391723", "name": "Fries", "price": { "currencyCode": "USD", "units": "2", "nanos": 230000000 }, "quantity": 1 }, { "id": "57159183", "offerId": "81837123", "name": "Drink", "price": { "currencyCode": "USD", "units": "3", "nanos": 130000000 }, "quantity": 1 } ] }
שגיאת הזמנת אוכל
מכיל פרטים על שגיאות בקובץCheckoutResponse
.
בטבלה הבאה מפורטים המאפיינים מסוג FoodOrderError
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
error |
Error |
חובה. |
|
id |
מחרוזת | חובה
בתאריך השדה הזה נדרש עבור שגיאות ברמת הפריט. זהו ערך LineItem.id שהוקצה על ידי Google עבור פריטים בתפריט או FoodItemOption.id לתוספים. |
|
description |
מחרוזת |
תיאור השגיאה. התיאור הזה מיועד לרישום פנימי ואינו גלוי למשתמשים. |
|
updatedPrice |
Money |
חובה
בתאריך מחיר חדש של פריט שגרם לשגיאה. צריך לעשות זאת רק אם השגיאה היא "PRICE_changed". |
|
availableQuantity |
Integer | חובה
בתאריך הכמות הזמינה החדשה של הפריט שגרמה לשגיאה. צריך לעשות זאת רק אם השגיאה היא "INVALID" או "NOT_FOUND". הערך צריך להיות אפס עבור "INVALID" ו-"NOT_FOUND". |
בדוגמה הבאה מוצג רכיב FoodOrderError
:
דוגמה 1
{ "error": "CLOSED", "description": "This store is currently reachable. Please try again later." }
דוגמה 2
{ "error": "PRICE_CHANGED", "id": "french_fries", "description": "The price has changed.", "updatedPrice": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }
תוסף הזמנת אוכל
מכיל פרטים לגבי אספקת ההזמנה.
בטבלה הבאה מפורטים המאפיינים מסוג FoodOrderExtension
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
@type |
ניגודיות |
סוג התוסף הזה. השדה הזה תמיד מוגדר כ-"type.googleapis.com/google.actions.v2.orders.fooddOrderExtension". ערך: |
|
availableFulfillmentOptions |
List<FulfillmentOption > |
הצגת האפשרויות הזמינות להזמנה. |
|
optinForRemarketing |
ערך בוליאני |
בקשה מהמשתמש להצטרף לערוצי השיווק שלך. כברירת מחדל, אי אפשר לשלוח תוכן שיווקי ללא הסכמת המשתמשים. אם ההצטרפות של ההצטרפות ל-True היא אמיתית, אפשר לרשום את המשתמש. אם ההצטרפות של ההצטרפות ל-False היא לא נכונה או לא קיימת, עליך להשאיר את סטטוס המינוי במערכת כפי שהוא. המשתמשים לא יכולים לבטל את ההסכמה דרך 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
: מגדיר אפשרות משלוח אחת או יותר (כרגע יש תמיכה רק באפשרות אחת). ציינת את אפשרות ברירת המחדל בתורLineItem
ב-ProposedOrder.otherItems
. הערך שלofferId
מתוךFulfillmentOption
צריך להיות זהה למזהה שלLineItem
שצוין ב-ProposedOrder.otherItems
.
בטבלה הבאה מפורטים המאפיינים מסוג FulfillmentOption
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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 } }
מידע על FulfillmentOption
מגדיר מידע הקשור לFulfillmentInfo
.
בטבלה הבאה מפורטים המאפיינים מסוג FulfillmentOptionInfo
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
רק אחת מהקבוצות של הנכסים נדרשת. | |||
delivery |
קבוצה 1 | DeliveryInfo |
אם קיים, מציין הזמנת משלוח. |
pickup |
קבוצה 2 | PickupInfo |
אם מופיעה הזמנה, המערכת מציגה הזמנה לאיסוף. |
תמונה
בטבלה הבאה מפורטים המאפיינים מסוג Image
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
sourceUrl |
מחרוזת | חובה. כתובת URL של התמונה. גודל התמונה המינימלי הוא 72x72 פיקסלים. לקבלת התוצאות הטובות ביותר, מומלץ להשתמש בתמונה בגודל 216x216 פיקסלים לפחות. התמונה צריכה להיות בגודל של פחות מ-6MB וב-64 מגה פיקסל. |
פריט
מגדיר את התוכן של עגלת הקניות (Cart.lineItems
) או של חיובים נוספים על הזמנה (ProposedOrder.otherItems
).
בטבלה הבאה מפורטים המאפיינים מסוג LineItem
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
id |
מחרוזת | חובה
בתאריך עבור פריט בעגלת קניות (ProsuggestOrder.cart.lineItems[0].id), זהו המזהה הייחודי ש-Google יצרה בעת יצירת ההזמנה. עבור פריט ב-ProsuggestOrder (ProsuggestOrder.otherItems[0].id), המשמש להוספת פריטים כמו עמלות משלוח ומיסים, הערך של המזהה מוגדר על ידי הספק. לדוגמה, בעגלת הקניות יש שני פריטים זהים עם הוראות הכנה שונות (למשל, שתי פיצות בינוניות עם קבוצות שונות של תוספות). במקרה הזה, לשני הפריטים יש אותו מזהה הצעה בסיסי. כששולחים בקשה לעדכון הזמנה כדי לציין שפריט מסוים נדחה, יש להשתמש במזהה הזה בתור המזהה הייחודי. במילים אחרות, אם אחת מהפיצות נדחתה כי אין בה תוספות מסוימות, המזהה יעזור ל-Google לקבוע לאיזה פריט אתם מתייחסים בהזמנה. חובה למלא את השדה הזה, פרט לפריטים אחרים. |
|
name |
מחרוזת | חובה. שם הפריט. זוהי מחרוזת שניתנת לצפייה על ידי המשתמש. הערך צריך להיות רישיות במשפט, במידת האפשר (למשל, "עמלת אספקה", "Service Service", "Tax"). השדה הזה קוצר ל-100 תווים עבור המשתמשים. |
|
type |
LineItemType |
חובה. |
|
quantity |
Integer | חובה
בתאריך מספר הפריטים הכלולים. לא רלוונטי ל-ProsuggestOrder.otherItems. |
|
description |
מחרוזת |
תיאור של הפריט. |
|
price |
Price |
חובה. מחיר הפריט או הפריטים. הערך הזה משקף את המחיר הכולל של כל המוצרים או השירותים עבור הפריט הזה (במילים אחרות, יש להוסיף את העלות של כל תוסף כפול הכמות). לדוגמה: אם לפריט 40 ש"ח יש כמות של 3, המחיר יהיה 120 ש"ח. עבור פיצה אחת עם מחיר בסיסי של 20 ש"ח ותוסף של 4 ש"ח, המחיר יהיה 24 ש"ח. עבור שתי פיצות (כמות = 2) עם מחיר בסיסי של 20 ש"ח ולכל אחת עם תוסף בסך 4 ש"ח, המחיר יהיה 48 ש"ח. לכל פריט צריך להיות מחיר, גם אם המחיר הוא "0". אם הסוג הוא Discount, יש לציין את הערך כשלילי (לדוגמה, "-2"). |
|
subLines |
List<SublineNote > |
אופציונלי ותקף רק אם הסוג הוא "REGULAR". הערה ספציפית לגבי הפריט מהמשתמש יכולה להישלח בשדה הזה בבקשת התשלום ובבקשת ההזמנה. חשוב לוודא שהמוכר מקבל את ההערה כשהיא נמסרת. הערך יופיע בבקשה בתור subLines[0].note, שהוא הערך היחיד שצוין בשדה זה כשהוא נמצא בבקשה. אין לכלול יותר מפריט אחד. |
|
offerId |
מחרוזת | חובה
בתאריך מזהה המבצע של הפריט בתפריט. לא רלוונטי ל-ProsuggestOrder.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
: פריט מס. רלוונטי ל-ProsuggestOrder.otherItems.DISCOUNT
: פריט הנחה. חשוב לזכור שהמחיר צריך להיות שלילי. רלוונטי ל-ProsuggestOrder.otherItems.GRATUITY
: פריט ללא תשלום. שמור בדרך כלל להודעה שנשלחה על ידי משתמש עבור טיפ שנשלח על ידי המשתמש. רלוונטי ל-ProsuggestOrder.otherItems.DELIVERY
: פריט משלוח. רלוונטי ל-ProsuggestOrder.otherItems.SUBTOTAL
: פריט סיכום ביניים. רלוונטי ל-ProsuggestOrder.otherItems.FEE
: פריט נוסף שלא נכלל בסוגים אחרים. רלוונטי ל-ProsuggestOrder.otherItems.
מיקום
מציין כתובת להזמנת אוכל. סוגLocation
משמש
ב-Cart
כדי לציין את היעד של הזמנת משלוח בלבד.
המיקום הסופי מופיע גם ב-TransactionDecisionValue
אם המשתמש מבצע את ההזמנה. אם ציינתם תאריך איסוף, המיקום לא נכלל בכלל (גם לא מיקום ריק).
בטבלה הבאה מפורטים המאפיינים מסוג Location
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
coordinates |
Coordinates |
||
formattedAddress |
מחרוזת |
הצגת הכתובת של המיקום. לדוגמה: |
|
postalAddress |
PostalAddress |
||
zipCode |
מחרוזת |
לדוגמה: |
|
city |
מחרוזת |
שם העיר. לדוגמה: |
|
notes |
מחרוזת |
הערות לגבי המיקום, למשל קודי שערים. הוא צריך להיות באורך של עד 500 תווים. לדוגמה: |
בדוגמה הבאה מוצג רכיב Location
:
דוגמה
{ "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" }
מוֹכר
בטבלה הבאה מפורטים המאפיינים מסוג Merchant
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
id |
מחרוזת |
המזהה של המוכר. אם היא תואמת, היא תואמת ל-restaurant.@id בפיד המסעדה. לדוגמה: |
|
name |
מחרוזת | חובה. שם המוכר של המשתמש. לדוגמה: |
בדוגמה הבאה מוצג רכיב Merchant
:
דוגמה
{ "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }
כסף
בטבלה הבאה מפורטים המאפיינים מסוג Money
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
currencyCode |
מחרוזת | חובה. קוד מטבע בן 3 אותיות בפורמט ISO 4217. לדוגמה: |
|
units |
מחרוזת |
כל היחידות של הסכום. לדוגמה, אם currencyCode הוא "USD", ואז "1" היחידה היא דולר אחד של ארה"ב. לדוגמה: |
|
nanos |
Integer |
מספר יחידות הננו (10^-9) של הסכום. הערך חייב להיות בין -999,999,999 ל- +999,999,999, כולל. יש להשתמש בכללים הבאים: אם יחידות הן חיוביות, ה-nanos צריך להיות חיובי או אפס. אם יחידות הן אפס, הן לא יכולות להיות חיוביות, אפסות או שליליות. אם מספר היחידות שלילי, הערך nanos חייב להיות שלילי או אפס. לדוגמה, $1.75 מיוצג כיחידות = -1 ו-nanos = -750,000,000. לדוגמה: |
בדוגמה הבאה מוצג רכיב Money
:
דוגמה 1
{ "currencyCode": "USD", "units": "36", "nanos": 730000000 }
דוגמה 2
{ "currencyCode": "EUR", "units": "10" }
הזמנה
ההזמנה מכילה את ההזמנה הסופית, כולל מיסים, עמלות ודמי משלוח, וכן פרטי תשלום. האובייקט הזה מתקבל כתוצאה מהפעולה שלך ב-Submit AppRequest
.
בטבלה הבאה מפורטים המאפיינים מסוג Order
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
finalOrder |
ProposedOrder |
חובה. ההזמנה המוצעת שגרמה להזמנה. |
|
googleOrderId |
מחרוזת | חובה. מזהה ההזמנה שהוקצה על ידי Google. המזהה הזה צריך להיות יציב בכל מחזור החיים של הזמנה. המזהה הזה לא גלוי למשתמש הקצה. |
|
orderDate |
חותמת זמן בתקן ISO | חובה. התאריך והשעה שבהם נוצרה ההזמנה. |
|
paymentInfo |
PaymentInfo |
חובה. פרטי התשלום התואמים לתשלום עבור הזמנה זו. |
בדוגמה הבאה מוצג רכיב Order
:
דוגמה
{ "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } }
עדכון ההזמנה
בטבלה הבאה מתוארים השדות של סוג ה-OrderUpdate שכלולים ב-AppResponse
.
בטבלה הבאה מפורטים המאפיינים מסוג OrderUpdate
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
actionOrderId |
מחרוזת | חובה. המזהה הייחודי של הסדר במערכת המשלב, שמשמש לזיהוי הסדר שבו נשלח העדכון. אם לא ניתנה קבלה.user_visible_order_id לפחות פעם אחת ב-OrderUpdate עבור הזמנה "CREATED", המזהה הזה יהיה מזהה גלוי למשתמש שהוזן, המוצג בכרטיס ההזמנה של Google. |
|
orderState |
OrderState |
חובה. המצב החדש של ההזמנה. |
|
lineItemUpdates |
Maps<מחרוזת, LineItemUpdate > |
||
updateTime |
חותמת זמן בתקן ISO | חובה. המועד שבו ההזמנה עודכנה. |
|
orderManagementActions |
List<OrderManagementAction > |
פעולות בהזמנה מראש, כמו פנייה לתמיכה והצגת פרטי ההזמנה. אין לכלול יותר מ-פריט אחד ולא יותר מ-6 פריטים. |
|
rejectionInfo |
RejectionInfo |
חובה
בתאריך |
|
cancellationInfo |
CancellationInfo |
חובה
בתאריך |
|
inTransitInfo |
InTransitInfo |
שדה זה הוצא משימוש. |
|
fulfillmentInfo |
FulfillmentInfo |
שדה זה הוצא משימוש. |
|
receipt |
Receipt |
חובה
בתאריך בקבלה יש לציין את מזהה ההזמנה הגלוי למשתמש. |
|
totalPrice |
Price |
המחיר הכולל של ההזמנה. |
|
infoExtension |
FoodOrderUpdateExtension |
מגדיר פרטים נוספים של עדכון ההזמנה, למשל הרווח המשוער למשלוח או איסוף. |
בדוגמה הבאה מוצג רכיב OrderUpdate
:
דוגמה
{ "actionOrderId": "sample_action_order_id", "orderState": { "state": "CONFIRMED", "label": "Provider confirmed" }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "41", "nanos": 600000000 } }, "lineItemUpdates": { "sample_item_id_1": { "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "reason": "This item has an updated price." } }, "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "updateTime": "2017-07-17T12:00:00Z", "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } }
פרטי האיסוף
בטבלה הבאה מפורטים המאפיינים מסוג PickupInfo
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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#שילובd_date_and_time_representations. הערך הזה משמש לעדכון זמן האיסוף המשוער במהלך התשלום בקופה. לדוגמה: |
בדוגמה הבאה מוצג רכיב PickupInfo
:
דוגמה
{ "pickupTimeIso8601": "PT90M" }
כתובת למשלוח דואר
בטבלה הבאה מפורטים המאפיינים מסוג PostalAddress
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
regionCode |
מחרוזת | חובה. קוד מדינה בן שתי אותיות. לדוגמה: |
|
postalCode |
מחרוזת |
המיקוד. לדוגמה: |
|
administrativeArea |
מחרוזת |
חלוקת המשנה המנהלית הגבוהה ביותר המשמשת לכתובות דואר של מדינה או אזור. זה יכול להיות מדינה, מחוז, אובלסט או מחוז. לדוגמה: |
|
locality |
מחרוזת |
העיר או היישוב של המיקום הזה. באזורים בעולם שבהם היישובים אינם מוגדרים כראוי או אינם מתאימים למבנה זה, אל תציינו אזור ותשתמשו בשדה addressLines במקום זאת. לדוגמה: |
|
addressLines |
List<String> |
שורה אחת או יותר שבהם אפשר להשתמש כדי לציין את כתובת הרחוב. אין לשנות את השדה הזה מפני שהוא יכול להכיל יישובים לא ברורים. לדוגמה: |
|
recipients |
List<String> |
רשימת הנמענים של הזמנה. השדה הזה זמין רק בכתובת לחיוב. |
בדוגמה הבאה מוצג רכיב PostalAddress
:
דוגמה
{ "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }
מחיר
בטבלה הבאה מפורטים המאפיינים מסוג Price
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
type |
Enum [
"ESTIMATE",
"ACTUAL"
] |
חובה. קוד שובר הפרסום. |
|
amount |
Money |
חובה. |
קידום מכירות
בטבלה הבאה מפורטים המאפיינים מסוג Promotion
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
coupon |
מחרוזת | חובה. קוד שובר הפרסום. |
הצעה להזמנה
בטבלה הבאה מפורטים המאפיינים מסוג ProposedOrder
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
id |
מחרוזת |
המזהה האופציונלי של ההזמנה המוצעת. |
|
cart |
Cart |
חובה. הפריטים של המשתמש. |
|
otherItems |
List<LineItem > |
פריטים שנוספו על ידי הספק, כגון חיובי משלוח, עמלות אחרות ומסים. פריטים אחרים עשויים להכיל גם הטבה או הנחה שנוספו על ידי המשתמש. אין לכלול יותר מ-10 פריטים. |
|
image |
Image |
התמונה המשויכת להזמנה המוצעת. |
|
totalPrice |
Price |
חובה. המחיר הכולל של ההזמנה המוצעת. |
|
extension |
FoodOrderExtension |
חובה. הגדרת פרטי מילוי של הזמנות אוכל. |
|
disclaimers |
List<Disclaimer > |
מאפיין זה תואם להודעות בנושא כתב ויתור שיוצגו בממשק המשתמש לפני ביצוע ההזמנה. |
בדוגמה הבאה מוצג רכיב ProposedOrder
:
דוגמה
{ "id": "sample_proposed_order_id_1", "otherItems": [ { "name": "New customer discount", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "-5", "nanos": -500000000 } }, "type": "DISCOUNT" }, { "name": "Delivery fee", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } }, "type": "DELIVERY" }, { "name": "Tax", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 500000000 } }, "type": "TAX" } ], "cart": { "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Falafel Bite" }, "lineItems": [ { "name": "Pita Chips", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } }, { "name": "Chicken Shwarma Wrap", "type": "REGULAR", "id": "sample_item_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/offer/id2", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "8" } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Greek Salad", "type": "REGULAR", "id": "sample_item_offer_id_3", "offerId": "https://www.exampleprovider.com/menu/item/offer/id3", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "9", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } }, { "name": "Prawns Biryani", "type": "REGULAR", "id": "sample_item_offer_id_4", "offerId": "https://www.exampleprovider.com/menu/item/offer/id4", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "15", "nanos": 990000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension" } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P90M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } }, "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "36", "nanos": 730000000 } }, "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ] } }
שורת משנה
בטבלה הבאה מפורטים המאפיינים מסוג SublineNote
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
note |
מחרוזת | חובה. |
חותמת זמן
התאריך והשעה, בפורמט הבא:
"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
ערך עסקה
מכיל אתOrder
.
בטבלה הבאה מפורטים המאפיינים מסוג TransactionDecisionValue
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
isInSandbox |
ערך בוליאני |
מציין אם העסקאות הבאות התבצעו בסביבת ארגז חול. |
|
conversation |
Conversation |
||
inputs |
List<Input > |
חובה. מכיל את הארגומנטים הצפויים לבדיקת עגלת הקניות. חייב להיות בדיוק פריט אחד. |
בדוגמה הבאה מוצג רכיב AppRequest
:
דוגמה 1
{ "isInSandbox": true, "inputs": [ { "intent": "actions.foodordering.intent.CHECKOUT", "arguments": [ { "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.Cart", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "delivery": { "deliveryTimeIso8601": "P0M" } } }, "location": { "coordinates": { "latitude": 37.788783, "longitude": -122.41384 }, "formattedAddress": "1350 CHARLESTON ROAD, MOUNTAIN VIEW, CA, United States", "zipCode": "94043", "city": "Mountain View", "postalAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] }, "notes": "Gate code is #111" } } } } ] } ] }
דוגמה 2
{ "isInSandbox": true, "inputs": [ { "intent": "actions.intent.TRANSACTION_DECISION", "arguments": [ { "transactionDecisionValue": { "order": { "finalOrder": { "cart": { "notes": "Guest prefers their food to be hot when it is delivered.", "merchant": { "id": "https://www.exampleprovider.com/merchant/id1", "name": "Cucina Venti" }, "lineItems": [ { "name": "Sizzling Prawns Dinner", "type": "REGULAR", "id": "sample_item_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/offer/id1", "quantity": 1, "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "16", "nanos": 750000000 } }, "subLines": [ { "note": "Notes for this item." } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodItemExtension", "options": [ { "id": "sample_addon_offer_id_1", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id1", "name": "Honey Mustard", "price": { "currencyCode": "USD" }, "quantity": 1 }, { "id": "sample_addon_offer_id_2", "offerId": "https://www.exampleprovider.com/menu/item/addon/offer/id2", "name": "BBQ Sauce", "price": { "currencyCode": "USD", "nanos": 500000000 }, "quantity": 1 } ] } } ], "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodCartExtension", "fulfillmentPreference": { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } } }, "contact": { "displayName": "Lovefood Ordering", "email": "ilovefood@example.com", "phoneNumber": "+16501234567" } } }, "otherItems": [ { "name": "Service fee", "type": "FEE", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "3", "nanos": 500000000 } } }, { "name": "Tax", "type": "TAX", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "1", "nanos": 370000000 } } }, { "name": "Tip", "type": "GRATUITY", "price": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "2", "nanos": 590000000 } } } ], "totalPrice": { "type": "ESTIMATE", "amount": { "currencyCode": "USD", "units": "23", "nanos": 710000000 } }, "id": "sample_final_order_id", "extension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderExtension", "availableFulfillmentOptions": [ { "fulfillmentInfo": { "pickup": { "pickupTimeIso8601": "P0M" } }, "expiresAt": "2017-07-17T12:30:00Z" } ], "optinForRemarketing": true } }, "googleOrderId": "sample_google_order_id", "orderDate": "2017-07-17T12:00:00Z", "paymentInfo": { "displayName": "Visa\u2006****\u20061111", "googleProvidedPaymentInstrument": { "instrumentToken": "abcd" }, "paymentType": "PAYMENT_CARD" } } } } ] } ] }
CheckoutRequestMessage
CheckoutRequestMessage
הוא AppRequest
בכוונה actions.foodordering.intent.CHECKOUT
.
שליחת OrderRequestMessage
SubmitOrderRequestMessage
הוא AppRequest
בכוונה actions.foodordering.intent.TRANSACTION_DECISION
.
שיחה
Conversation
הוא ייחודי לסשן אחד בלבד. אפשר להשתמש בו כדי לקשר כמה פעולות
Checkout
ו-SubmitOrder
יחד, אם צריך.
בטבלה הבאה מפורטים המאפיינים מסוג Conversation
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
conversationId |
מחרוזת | חובה. המזהה הייחודי של השיחה. |
בדוגמה הבאה מוצג רכיב Conversation
:
דוגמה
{ "conversationId": "CQnJ7Z4i7UmvEZ9ph3AxyZRJ" }
הזנת קלט
הארגומנטים הצפויים לבדוק את עגלת הקניות.
בטבלה הבאה מפורטים המאפיינים מסוג Input
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
intent |
Enum [
"actions.foodordering.intent.CHECKOUT",
"actions.intent.TRANSACTION_DECISION"
] |
חובה. צריך להגדיר את הכתובת "actions.foodordering.intent.webstore" עבור הודעה של בקשת תשלום או "actions.intent.TRANSACTION_DECISION" לשליחת הודעה של בקשת הזמנה. |
|
arguments |
List<Argument > |
חובה. מכיל את עגלת הקניות לתשלום או את ההזמנה לביצוע חייב להיות בדיוק פריט אחד. |
ארגומנט
מכיל פרטים על פריטי המזון שהמשתמש רוצה לשלם. בשלב התשלום, ניתן להחיל רק תוסף. בהזמנת הזמנה, ניתן להשתמש רק ב-transactionDecisionValue
בטבלה הבאה מפורטים המאפיינים מסוג Argument
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
רק אחת מהקבוצות של הנכסים נדרשת. | |||
extension |
קבוצה 1 | Cart |
מפרט את פריטי האוכל שהמשתמש רוצה לשלם. |
transactionDecisionValue |
קבוצה 2 | TransactionDecisionValue |
ההזמנה מכילה את פרטי התשלום. |
מילוי הזמנות
תשובה לאפליקציה
בטבלה הבאה מפורטים המאפיינים מסוג AppResponse
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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 } } } } } ] } } }
הודעת Checkout
CheckoutResponseMessage
הוא AppResponse
עם checkoutResponse
או error
ב-StructuredResponse
.
שליחתשליחת הזמנה לתגובה
SubmitOrderResponseMessage
הוא AppResponse
עם
orderUpdate
בStructuredResponse
.
תגובה אחרונה
התגובה שלכם לתשלום בקופה או ל-SubmitOrderRequestMessage.
בטבלה הבאה מפורטים המאפיינים מסוג FinalResponse
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
richResponse |
RichResponse |
חובה. מכיל את התגובה שלך ל-checkoutRequestMessage או SendOrderRequestMessage. |
דף התשלום
בטבלה הבאה מפורטים המאפיינים מסוג CheckoutResponse
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
proposedOrder |
ProposedOrder |
חובה. הצעה להזמנה לשימוש בעסקה. |
|
paymentOptions |
PaymentOptions |
חובה. נבחרה אפשרות התשלום שמוגדרת כברירת מחדל עבור המשתמש. |
|
additionalPaymentOptions |
List<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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
structuredResponse |
StructuredResponse |
חובה. |
Rich Snippets
מכיל את התשובה שלך לתשלום בקופה.
בטבלה הבאה מפורטים המאפיינים מסוג RichResponse
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
items |
List<Item > |
חובה. חייב להיות בדיוק פריט אחד. |
תגובה מובנית
ב-checkoutResponseMessage, זו יכולה להיות אחת מהאפשרויות הבאות: CheckoutResponse מציין תשלום מוצלח. OR FoodErrorExtension: מציין כשל בשלב התשלום. התגובה עשויה לכלול הצעה מוצעת ומתוקנת של Funding Choices או הודעת שגיאה ללא אפשרויות תשלום. רק ב-SubmitOrderResponseMessage.
בטבלה הבאה מפורטים המאפיינים מסוג StructuredResponse
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
רק אחת מהקבוצות של הנכסים נדרשת. | |||
checkoutResponse |
קבוצה 1 | CheckoutResponse |
בוצע תשלום על פריטים, כולל מיסים והנחות. |
error |
קבוצה 2 | FoodErrorExtension |
אירעו שגיאות בפריטי עגלת הקניות. בהתאם לשגיאה, הנכס הזה יכול לכלול הצעה מוצעת מתוקנת ו-PaymentOptions, או רק הודעת שגיאה ללא Paymentאפשרויות. |
orderUpdate |
קבוצה 3 | OrderUpdate |
עדכונים אסינכרוניים של הזמנות
בקטע הזה מתוארים הסוגים הכלליים של הבקשות והתשובות לבקשות לאינטראקציה אינטראקטיבית של הזמנת אוכל מובנית.AsyncOrderUpdateRequestMessage
הודעה למשתמש על שינויים, לאחר שליחת הזמנה ואישורה. לדוגמה, אפשר להודיע למשתמש שההזמנה נמצאת במשלוח או אם המחיר השתנה. למידע נוסף, ראהבטבלה הבאה מפורטים המאפיינים מסוג AsyncOrderUpdateRequestMessage
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
isInSandbox |
ערך בוליאני |
מציין שההזמנה שעבורה נשלח העדכון הזה היא תשלום מסוג ארגז חול. |
|
customPushMessage |
CustomPushMessage |
חובה. מכיל את ה-OrderUpdate של הבקשה. |
בדוגמה הבאה מוצג רכיב AsyncOrderUpdateRequestMessage
:
דוגמה
{ "isInSandbox": true, "customPushMessage": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "IN_TRANSIT", "label": "Order is on the way" }, "inTransitInfo": { "updatedTime": "2017-07-17T12:00:00Z" }, "updateTime": "2017-07-17T12:00:00Z", "receipt": { "userVisibleOrderId": "userVisibleId1234" }, "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL_RESTAURANT", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } } ], "infoExtension": { "@type": "type.googleapis.com/google.actions.v2.orders.FoodOrderUpdateExtension", "estimatedFulfillmentTimeIso8601": "2017-07-17T13:00:00Z/2017-07-17T13:30:00Z" } } } }
AsyncOrderUpdateResponseMessage
אחרי ששולחיםAsyncOrderUpdateRequestMessage
בהצלחה, Google מגיבה עם סטטוס HTTP 200 וגוף ריק. אם העדכון נכשל,
Google מגיבה עם פרטים על הסיבה לכך שעדכון ההזמנה נכשל.
סוגי עדכונים של הזמנות
לחצן
מגדיר רכיב בממשק המשתמש שאפשר להוסיף כדי ליצור אינטראקציה עם המשתמש.
בטבלה הבאה מפורטים המאפיינים מסוג Button
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
title |
מחרוזת | חובה. תווית התצוגה. כדי להבטיח עיבוד תקין, יש להשתמש באותיות רישיות עם 30 תווים או פחות. לדוגמה: |
|
openUrlAction |
OpenUrlAction |
חובה. |
בדוגמה הבאה מוצג רכיב Button
:
דוגמה
{ "title": "Send us feedback", "openUrlAction": { "url": "mailto:person@example.com" } }
מידע על ביטול
בטבלה הבאה מפורטים המאפיינים מסוג CancellationInfo
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
reason |
מחרוזת | חובה. סיבת התצוגה הניתנת לדחייה כאשר OrderState.state היא "cancelLED". לדוגמה: |
בדוגמה הבאה מוצג רכיב CancellationInfo
:
דוגמה
{ "reason": "Insufficient inventory" }
תוסף OrderOrderUpdate
הסוג הזה מספק למשתמש פרק זמן משוער למועד שבו ההזמנה נמסרת או מוכנה לאיסוף. יש לשלוח את התוסף הזה ב-
OrderUpdate
בכל פעם שהמידע זמין או השתנה מאז שליחתו האחרונה.
יש לספק אומדן שמרני עבור מרווח מילוי ההזמנות, כדי שהמשתמשים יענו על הציפיות באופן עקבי. לדוגמה, אם זמן האספקה המשוער של ההזמנה הוא בשעה 13:00, צריך לשלוח טווח משוער שתואם לווריאציות בגלל מצב התנועה, למשל היום בשעה 12:45 עד 13:15.
טווח זמן או חותמת זמן בתקן ISO 8601 מציינים את המרווח מ-updateTime
OrderUpdate
(בעיקרית, "Now") אל
updateTime
+ duration
.
אין להשתמש בפורמט זה, אלא אם כן &היא ציפייה בפועל.
מרווח ISO 8601 מפורש כדי לציין את המרווח מההתחלה עד הסוף של המרווח.
בטבלה הבאה מפורטים המאפיינים מסוג FoodOrderUpdateExtension
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
@type |
ניגודיות |
סוג התוסף הזה. השדה הזה תמיד מוגדר כ-"type.googleapis.com/google.actions.v2.orders.fooddOrderUpdateExtension". ערך: |
|
estimatedFulfillmentTimeIso8601 |
מחרוזת |
משך הזמן המשוער שבו ההזמנה תימסר או תהיה מוכנה לאיסוף. המחרוזת חייבת להיות בפורמט ISO 8601 ועליה להתאים למרווח ולא לזמן קבוע אחד. מוסכמות קבילות הן: מרווחים, משכי זמן ותאריכים/שעות. ניתן לשלוח את השדה הזה ב-SubmitOrderResponseMessage או ב-AsyncOrderUpdateRequestMessage כשהמידע הופך לזמין או כשחל שינוי, כמו הגעה מוקדמת או מאוחרת. לדוגמה: |
|
foodOrderErrors |
List<FoodOrderError > |
תיאור השגיאות שאירעו לאחר ההזמנה. מומלץ שגיאה אחת לכל עגלת קניות או לכל פריט. משתמשים ב-foodOrderUpdateExtension.fooddOrderErrors עבור כל השגיאות שלא נכללו ב-PushionInfo. אין לכלול יותר מפריט אחד. |
בדוגמה הבאה מוצג רכיב 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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
רק אחת מהקבוצות של הנכסים נדרשת. | |||
deliveryTime |
קבוצה 1 | חותמת זמן בתקן ISO |
שימוש ב-estimatedFulfillmentTimeIso8601 בהודעה של FoodOrderingUpdateExtension |
pickupTime |
קבוצה 2 | חותמת זמן בתקן ISO |
שימוש ב-estimatedFulfillmentTimeIso8601 בהודעה של FoodOrderingUpdateExtension |
בדוגמה הבאה מוצג רכיב FulfillmentInfo
:
דוגמה 1
{ "deliveryTime": "2017-05-10T02:36:38.803Z" }
דוגמה 2
{ "pickupTime": "2019-12-26T07:24:27.803Z" }
מידע על Intransit
בטבלה הבאה מפורטים המאפיינים מסוג InTransitInfo
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
updatedTime |
חותמת זמן בתקן ISO |
שימוש ב-estimatedFulfillmentTimeIso8601 בהודעה של FoodOrderingUpdateExtension |
בדוגמה הבאה מוצג רכיב InTransitInfo
:
דוגמה
{ "updatedTime": "2017-05-10T02:36:38.803Z" }
LineItemUpdate
בטבלה הבאה מפורטים המאפיינים מסוג LineItemUpdate
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
url |
מחרוזת | חובה. הפעולה שהופעלה על ידי לחיצה על הלחצן או נגיעה בו. רשימת הקידומות הרלוונטיות תלויה ב-OrderManagementActionType. "EMAIL": הקידומת חייבת להיות "mailto". "CALL": הקידומת חייבת להיות "tel". "CUSTOMER_SERVICE": הקידומת חייבת להיות "mailto", "tel", "http" או "https". לדוגמה: |
פעולת ניהול הזמנה
כלי ניהול ההזמנות מאפשר למשתמשים לקבל תמיכה בהזמנה מראש, ויש לשלוח אותם
בכל OrderUpdate
בתוך הזמנה שנשלחת
AppResponse
וכל
פעולה בהמשך
AsyncOrderUpdateRequestMessage
פעולות ניהול ההזמנה שנשלחו בהזמנה מסוימת עשויות להשתנות בהתאם
למצב.
לדוגמה, במצב "CREATED" , CUSTOMER_SERVICE
עשוי לציין את מספר הטלפון של תמיכת הלקוחות. אחר כך, ב&&אישור; CUSTOMER_SERVICE
אפשר לשנות לטלפון של המסעדה אם הוא הופך לאיש הקשר הטוב ביותר
עבור הלקוח. באופן דומה, ברגע שההזמנה במצב "FULFILLED",
CUSTOMER_SERVICE
יכול להפנות לכתובות האימייל שלך לתמיכה.
בטבלה הבאה מפורטים המאפיינים מסוג OrderManagementAction
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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".
מצב הזמנה
המצב הנוכחי של ההזמנה. כל ערך של state
ב-OrderState
תואם גם לסטטוס רכישה בכתובת myaccount.google.com.
בטבלה הבאה מפורטים המאפיינים מסוג OrderState
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
state |
OrderStateEnum |
חובה. |
|
label |
מחרוזת | חובה. מחרוזת התצוגה הגלויה למשתמש עבור המדינה. חשוב להשתמש באות גדולה בתחילת משפט (באנגלית). לדוגמה: |
בדוגמה הבאה מוצג רכיב OrderState
:
דוגמה
{ "state": "CONFIRMED", "label": "Provider confirmed" }
OrderStateEnum
מגדיר סוגים הקשורים ל-OrderState
.
הסוג של OrderStateEnum
כולל את הערכים האפשריים הבאים:
CREATED
: ההזמנה נוצרה על ידי המשלבים וממתינה לאישור הספק. המחיר הזה תואם לסטטוס ה&רכישה; הוזמן.CONFIRMED
: ההזמנה אושרה על ידי הספק ופעילה. תואם לסטטוס ה&&רכישה; מאושר"REJECTED
: ההזמנה נדחתה על ידי שילוב או ספק. המצב הזה תואם לסטטוס הרכישה &"נדחה.CANCELLED
: המשתמש ביטל את ההזמנה. המצב הזה תואם לסטטוס הרכישה&"בוטל.IN_PREPARATION
: הכנת אוכל מתבצעת. המצב הזה תואם לסטטוס הרכישה;"סטטוס לא ידוע"READY_FOR_PICKUP
: אוכל מוכן לאיסוף. המצב הזה תואם לסטטוס ה&הצעה; מוכן לאיסוף.IN_TRANSIT
: ההזמנה נמסרת. תואם לסטטוס ה&&רכישה; סטטוס הרכישה.FULFILLED
: המשתמש קיבל את מה שהוזמן. המצב הזה תואם לסטטוס הרכישה&&;באיסוף.
קבלה
שולחים את הסוג הזה לפי סדר שליחהAppResponse
, כאשר OrderState
הוא "CONFIRMED", "FULFILLED" או "IN_TRANSIT" שליחת הקבלה במועד שבו
userVisibleOrderId
הופך לזמין. אין צורך להמשיך לשלוח את הקבלה בעדכונים הבאים.
בטבלה הבאה מפורטים המאפיינים מסוג Receipt
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
userVisibleOrderId |
מחרוזת | חובה. חובה אם ההזמנה היא "CONFIRMED", "IN_TRANSIT" או "FULFILLED". שדה זה הוא המזהה היחיד בפני המשתמש עבור הזמנה זו (בדרך כלל מזהה ההזמנה של המסעדה), המוצג בקבלה של האינטגר ובכרטיס ההזמנה של Google. המשתמש חייב להשתמש במזהה הזה כדי לציין את ההזמנה של שירות הלקוחות אצל הספק והמטמיע. יש לספק את המזהה הזה רק פעם אחת בכל הזמנה של OrderUpdate. עד שסופק, ה-actionOrderId הוא ה-userUserOrderId. לדוגמה, ייתכן שלא יהיה לך userUserOrderId עד שההזמנה תאושר על ידי המסעדה. לאחר האישור, יהיה עליך לשלוח AsyncOrderUpdateRequestMessage עם OrderUpdate וקבלה. |
בדוגמה הבאה מוצג רכיב Receipt
:
דוגמה
{ "userVisibleOrderId": "userVisibleId1234" }
מידע על דחייה
בטבלה הבאה מפורטים המאפיינים מסוג RejectionInfo
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
paymentType |
PaymentType |
חובה. |
|
displayName |
מחרוזת | חובה. שם אמצעי התשלום שמוצג בקבלה. לדוגמה: |
|
onFulfillmentPaymentData |
OnFulfillmentPaymentData |
נתונים נוספים עבור סוג התשלום "ON_FULFILLMENT". לדוגמה, אפשר להשתמש בשדה הזה כדי לציין אם יש תמיכה במזומן או בכרטיס בעת מילוי ההזמנה. |
בדוגמה הבאה מוצג רכיב ActionProvidedPaymentOptions
:
דוגמה
{ "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } }
שיטות מותרות
הסוג של AllowedAuthMethods
כולל את הערכים האפשריים הבאים:
PAN_ONLY
: שיטת אימות המשויכת לכרטיסי תשלום ששמורים בחשבון Google של המשתמש. נתוני התשלומים שהוחזרו כוללים מספר חשבון אישי (PAN) עם חודש פקיעת התוקף ושנת התפוגה שלו.
רשתות מורשות
הסוג של AllowedCardNetworks
כולל את הערכים האפשריים הבאים:
AMEX
DISCOVER
INTERAC
JCB
MASTERCARD
VISA
פרמטרים של כרטיס
בעזרת האובייקט הזה, אפשר להגדיר את התמיכה של האתר ב-Google Pay API.
בטבלה הבאה מפורטים המאפיינים מסוג CardParameters
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
allowedAuthMethods |
List<Const> | חובה. שדות הנתמכים לאימות עסקה של כרטיס. אין לכלול יותר מפריט אחד. |
|
allowedCardNetworks |
List<AllowedCardNetworks > |
חובה. רשת אחת או יותר של כרטיסים שנתמכת על ידי Google Pay API. אין לכלול יותר מפריט אחד. |
|
billingAddressRequired |
ערך בוליאני |
הערך של הפרמטר הזה צריך להיות True אם נדרשת כתובת לחיוב. בקש כתובת לחיוב רק אם היא נדרשת לעיבוד העסקה. בקשות נוספות לקבלת נתונים יכולות להקשות על תהליך התשלום להוביל לשיעורי המרה נמוכים יותר. |
|
cvcRequired |
ערך בוליאני |
הערך של הפרמטר הזה צריך להיות True אם משתמשים ב-TimeofMoney, מוגדר כ-false בכל שאר מעבדי התשלומים. |
בדוגמה הבאה מוצג רכיב CardParameters
:
דוגמה
{ "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "AMEX", "DISCOVER" ], "billingAddressRequired": false, "cvcRequired": false }
אמצעי התשלום שסופק על ידי Google
בטבלה הבאה מפורטים המאפיינים מסוג GoogleProvidedPaymentInstrument
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
instrumentToken |
מחרוזת | חובה. מחרוזת מקודדת בקידוד 64 המכילה את אסימון התשלום לחיוב המשתמש במעבד המשתתפת ב-Google Pay, בהתאם ל-GoogleProvidedPaymentOption שצוין. |
|
billingAddress |
PostalAddress |
הכתובת לחיוב של התשלום. |
בדוגמה הבאה מוצג רכיב GoogleProvidedPaymentInstrument
:
דוגמה
{ "instrumentToken": "abcd", "billingAddress": { "regionCode": "US", "postalCode": "94043", "administrativeArea": "CA", "locality": "Mountain View", "addressLines": [ "1350 Charleston Road" ] } }
אפשרויות תשלום ש-Google מספקת
דרישות לאמצעי התשלום שסופק על ידי Google.
בטבלה הבאה מפורטים המאפיינים מסוג GoogleProvidedPaymentOptions
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
facilitationSpecification |
מחרוזת |
מחרוזת PaymentDataRequest JSON כמחרוזת. בעזרת האובייקט הזה, אפשר להגדיר את התמיכה של האתר ב-Google Pay API. |
|
supportedCardNetworks |
List<SupportedCardNetworks > |
יש להשתמש במקום זאת ב-FacilitationSpecification. סוג רשתות הכרטיסים הנתמכות על ידי הנציג. שדה זה הוצא משימוש. |
|
prepaidCardDisallowed |
ערך בוליאני |
יש להשתמש במקום זאת ב-FacilitationSpecification. אם ניתן להשתמש בכרטיס בתשלום מראש בתור סוג תשלום או לא. שדה זה הוצא משימוש. |
|
billingAddressRequired |
ערך בוליאני |
יש להשתמש במקום זאת ב-FacilitationSpecification. האם נדרשת כתובת לחיוב או לא. שדה זה הוצא משימוש. |
|
tokenizationParameters |
TokenizationParameters |
שדה זה הוצא משימוש. |
בדוגמה הבאה מוצג רכיב GoogleProvidedPaymentOptions
:
דוגמה 1
{ "facilitationSpecification": "{\"apiVersion\": 2,\"apiVersionMinor\": 0,\"merchantInfo\": { \"merchantId\": \"Merchant ID\", \"merchantName\": \"Merchant Name\"},\"allowedPaymentMethods\": [ { \"type\": \"CARD\", \"parameters\": { \"allowedAuthMethods\": [ \"PAN_ONLY\" ], \"allowedCardNetworks\": [ \"VISA\", \"AMEX\", \"MASTERCARD\" ], \"billingAddressRequired\": false }, \"tokenizationSpecification\": { \"type\": \"PAYMENT_GATEWAY\", \"parameters\": { \"stripe:publishableKey\": \"pk_test_OoPcJNnxI1rDXhBq8BiXO2wz00s1Xc92dA\", \"gateway\": \"stripe\", \"stripe:version\": \"2019-05-16\" } } }],\"transactionInfo\": { \"currencyCode\": \"AUD\", \"totalPriceStatus\": \"ESTIMATED\", \"totalPrice\": \"1.0\"}}" }
דוגמה 2
{ "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "braintree", "braintree:apiVersion": "v1", "braintree:sdkVersion": "1.4.0", "braintree:merchantId": "a1b2c3d4e5", "braintree:clientKey": "production_braintree_client_key", "braintree:authorizationFingerprint": "same_as_client_key" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "JCB", "VISA" ], "prepaidCardDisallowed": true }
דוגמה 3
{ "tokenizationParameters": { "tokenizationType": "PAYMENT_GATEWAY", "parameters": { "gateway": "stripe", "stripe:publishableKey": "pk_live_stripe_client_key", "stripe:version": "2017-04-06" } }, "supportedCardNetworks": [ "AMEX", "DISCOVER", "MASTERCARD", "VISA", "JCB" ], "prepaidCardDisallowed": true, "billingAddressRequired": true }
פרטי המוכר
בעזרת האובייקט הזה, אפשר להגדיר את התמיכה של האתר ב-Google Pay API.
בטבלה הבאה מפורטים המאפיינים מסוג MerchantInfo
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
merchantId |
מחרוזת |
מספר חשבון Merchant של Google שהונפק לכם על ידי Google Pay. |
|
merchantName |
מחרוזת | חובה. שם המוכר בקידוד UTF-8. שם המוכר מעובד בגיליון התשלומים. |
נתוני תשלום של OnFulfillment
השתמש באובייקט זה כדי לשלוח נתונים נוספים עבור PaymentType "ON_FULFILLMENT"
בטבלה הבאה מפורטים המאפיינים מסוג OnFulfillmentPaymentData
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
supportedPaymentOptions |
List<PaymentOptionsEnums > |
רשימה של אפשרויות התשלום הזמינות למשתמש בזמן מילוי ההזמנה. |
בדוגמה הבאה מוצג רכיב OnFulfillmentPaymentData
:
דוגמה
{ "supportedPaymentOptions": [ "Cash", "Card" ] }
פרמטרים
מגדיר סוגים הקשורים ל-TokenizationParameters
.
בטבלה הבאה מפורטים המאפיינים מסוג Parameters
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
gateway |
מחרוזת | חובה. לדוגמה: |
|
gatewayMerchantId |
מחרוזת | ||
[additionalKey: string] |
מחרוזת | צמדי מפתח/ערך נוספים |
בדוגמה הבאה מוצג רכיב Parameters
:
דוגמה 1
{ "gatewayMerchantId": "90412491", "gateway": "olo" }
דוגמה 2
{ "gateway": "braintree", "braintree:apiVersion": "v1", "braintree:sdkVersion": "1.4.0", "braintree:merchantId": "YOUR_MERCHANT_ID", "braintree:clientKey": "YOUR_BRAINTREE_SANDVOX_OR_PRODUCTION_KEY" }
בקשת נתוני תשלום
בעזרת האובייקט הזה, אפשר להגדיר את התמיכה של האתר ב-Google Pay API.
בטבלה הבאה מפורטים המאפיינים מסוג PaymentDataRequest
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
apiVersion |
ניגודיות | חובה. גרסת API ראשית. ערך: |
|
apiVersionMinor |
ניגודיות | חובה. גרסת ממשק API מצומצמת. ערך: |
|
merchantInfo |
MerchantInfo |
חובה. (מספר מוכר ב-Google Pay) מידע על המוכר שמבקש נתוני תשלום. |
|
allowedPaymentMethods |
List<PaymentMethod > |
חובה. עליכם לציין את התמיכה באמצעי תשלום אחד או יותר שנתמך על ידי Google Pay API. |
|
transactionInfo |
TransactionInfo |
חובה. פרטים על הרשאת העסקה, בהתאם לסטטוס ההסכמה של המשתמש לעסקה. השדה הזה כולל את המחיר הכולל וסטטוס המחיר. |
בדוגמה הבאה מוצג רכיב PaymentDataRequest
:
דוגמה
{ "apiVersion": 2, "apiVersionMinor": 0, "merchantInfo": { "merchantId": "10391231", "merchantName": "Burrito Town" }, "allowedPaymentMethods": [ { "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": true, "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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
displayName |
מחרוזת | חובה. השם הגלוי למשתמש של אמצעי התשלום שיוצג בקבלה. |
|
paymentType |
PaymentType |
חובה. |
|
googleProvidedPaymentInstrument |
GoogleProvidedPaymentInstrument |
אסימון שאפשר להשתמש בו בפעולה. יש לציין זאת רק אם ציינת את GoogleProvidedPaymentOptions בתור אפשרות תשלום ב- CheckoutResponseMessage. |
בדוגמה הבאה מוצג רכיב 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" }
אמצעי תשלום
בעזרת האובייקט הזה, אפשר להגדיר את התמיכה של האתר ב-Google Pay API.
בטבלה הבאה מפורטים המאפיינים מסוג PaymentMethod
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
type |
ניגודיות | חובה. מזהה קצר של אמצעי התשלום הנתמך. בשלב זה, יש תמיכה רק בכרטיס CARD. ערך: |
|
parameters |
CardParameters |
חובה. הפרמטרים הנדרשים כדי להגדיר את סוג אמצעי התשלום שסופק. |
|
tokenizationSpecification |
TokenizationSpecification |
חובה. יש להגדיר חשבון או ספק פענוח כדי לקבל פרטי תשלום. הנכס הזה נדרש עבור אמצעי התשלום CARD. |
בדוגמה הבאה מוצג רכיב PaymentMethod
:
דוגמה
{ "type": "CARD", "parameters": { "allowedAuthMethods": [ "PAN_ONLY" ], "allowedCardNetworks": [ "VISA", "AMEX", "MASTERCARD" ], "billingAddressRequired": false }, "tokenizationSpecification": { "type": "PAYMENT_GATEWAY", "parameters": { "gatewayMerchantId": "90412491", "gateway": "olo" } } }
אפשרויות תשלום
בטבלה הבאה מפורטים המאפיינים מסוג PaymentOptions
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
רק אחת מהקבוצות של הנכסים נדרשת. | |||
googleProvidedOptions |
קבוצה 1 | GoogleProvidedPaymentOptions |
פעולה הדדית בלעדית עם actionProvidedOption. אפשר להשתמש באמצעי התשלום הזה לתשלום אונליין באמצעות gPay. |
actionProvidedOptions |
קבוצה 2 | ActionProvidedPaymentOptions |
בלעדי ל-googleProvidedOption. אפשר להשתמש במאפיין הזה עבור "Cash on Delivery" או "pay on fulfillment". |
בדוגמה הבאה מוצג רכיב 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
{ "actionProvidedOptions": { "paymentType": "ON_FULFILLMENT", "displayName": "Pay when you get your food.", "onFulfillmentPaymentData": { "supportedPaymentOptions": [ "Cash", "Card" ] } } }
אפשרויות תשלום
הסוג של PaymentOptionsEnums
כולל את הערכים האפשריים הבאים:
Cash
Card
UPI
Paytm
סוג תשלום
הסוג של PaymentType
כולל את הערכים האפשריים הבאים:
PAYMENT_CARD
: עבור GoogleProvidedPaymentOption.ON_FULFILLMENT
: ל-ActionProvidedPaymentOption.
רשתות נתמכות
מגדיר סוגים הקשורים ל-GoogleProvidedPaymentOptions
.
הסוג של SupportedCardNetworks
כולל את הערכים האפשריים הבאים:
UNSPECIFIED_CARD_NETWORK
AMEX
DISCOVER
JCB
MASTERCARD
VISA
פרמטרים של אסימון
הגדרה של סוגים שקשורים אלGoogleProvidedPaymentOptions
.
בטבלה הבאה מפורטים המאפיינים מסוג TokenizationParameters
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
tokenizationType |
Enum [
"UNSPECIFIED_TOKENIZATION_TYPE",
"PAYMENT_GATEWAY"
] |
חובה. יש להשתמש במקום זאת ב-FacilitationSpecification. ניתן להשתמש בסוג האסימונים. |
|
parameters |
Parameters |
יש להשתמש במקום זאת ב-FacilitationSpecification. |
מפרט האסימון
אובייקט זה מאפשר להגדיר חשבון לקבלת פרטי תשלום המחייבים.
בטבלה הבאה מפורטים המאפיינים מסוג TokenizationSpecification
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
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
:
מאפיין (property) | סוג | תיאור | |
---|---|---|---|
currencyCode |
מחרוזת | חובה. קוד מטבע אלפאביתי לפי תקן ISO 4217. |
|
transactionId |
מחרוזת |
מזהה ייחודי שמזהה ניסיון עסקה. מוכרים יכולים להשתמש במזהה קיים או ליצור מזהה ספציפי כדי לבצע עסקאות ב-Google Pay. השדה הזה נדרש בעת שליחת קריאה חוזרת (callback) ל-Google Transaction Event API. |
|
totalPriceStatus |
ניגודיות | חובה. יש להשתמש ב-"estimated" כברירת המחדל. המחיר הכולל עשוי להשתנות בהתאם לפרטי התגובה, כמו מס מכירה שנאסף על סמך כתובת לחיוב. ערך: |
|
totalPrice |
מחרוזת | חובה. השווי הכספי הכולל של העסקה עם דיוק עשרוני אופציונלי של שני מקומות עשרוניים. הערך בשדה הזה צריך להיות זהה לערך cart.totalPrice. |
בדוגמה הבאה מוצג רכיב TransactionInfo
:
דוגמה
{ "totalPriceStatus": "ESTIMATED", "totalPrice": "12.34", "currencyCode": "USD" }