本教學課程會逐步說明下列主題:
- 關於使用者如何查看供應情形以及必要的資料類型
- 有關如何將供應情形資料編碼至動態饋給中
action_link
的具體指示 - 如何在可用情況下更新供應情形資訊
- 可用性準確度的期望
除了供應情形中繼資料外,您也必須提供與外送或取貨相關的費用中繼資料,以及最低訂單金額。如需查看供應情形、費用和最低訂購量的完整動態饋給範例,請參閱零售訂購 v1 動態饋給範例一文。
必須提供哪些供應情形資訊
這項服務的零售訂購可用性會依日間細分。系統會根據提供最早的日期,向使用者顯示費用供應資訊、費用和最低訂單金額,並顯示訊息,如「今天推出」、「可購買」或「可用 DD/MM」。
在動態饋給中提交這項資料時,您將一併傳送未來的日期,以及使用者可下單的最近日期,並安排每個日期的自取或外送時間。這兩項資訊分別為出貨日期和最後訂購時間。
舉例來說,如果今天的日期是 2021 年 3 月 23 日,而且只要使用者今天到下午 4 點前預訂,明天就會提供廣告放送,那麼您為了代表這個供應情形而提供的資料將會是:
- 履行日期:2021/03/24
- 最後訂訂為期:2021/03/23 4:00PM
包含上次排序時間,因此,過了此時間後,Google 前端會自動更新至上次訂購時間之後的下一個可用日期。
每天上傳新的商家動態饋給時,都應納入新的供應情形資料。由於前端只會顯示目前的有空與否狀態,因此只需要在任何位置提供下一個 3 到 5 個有空的日期。這可讓前端顯示目前的可用性,以及在最後一個訂購時間過後,顯示下一個可用性。
透過動態饋給指定供應情形
動作連結可用性已納入商家動態饋給 action_link
訊息中,做為 order_online_metadata
欄位的一部分。每個商家和出貨選項都會列出路徑中的 AvailableDay
訊息
Merchant.action_link.order_online_metadata.fulfillment_option.available_day
這類訊息的格式如下:
{ "fulfillment_date": { "year": "2020", "month": "10", "day": "1" }, "last_ordering_time": { "seconds": "1601614800" // 2020/10/1, 10pm } }
採用這種格式時,fulfillment_date
表示可用的一年、月份及日期。此日期應參照此商家指定的位置。
last_ordering_time
是以秒為單位的 Unix 時間戳記。這與時區無關,且代表商家可最近一次為 fulfillment_date
中提供的日期下訂單的時間。最後排序時間可以是早於或晚於出貨日期的任何時間。最後排序時間過後,Google 會自動停止顯示指定出貨日期的供應情形,並依據下一個出貨出貨日期開始顯示供應情形資訊。
如需 order_online_metadata
的參考定義,請參閱商家動態饋給參考資料。如需包含 JSON 格式的動態饋給範例,請參閱零售訂購 + 中繼資料的動態饋給範例一節。
透過即時更新更新有空與否狀態
如果在傳送每日動態饋給的時段之間,地點的外送或自取服務供應情形有所變動,可以使用即時更新 REST API 來更新向使用者顯示的供應情形。
每個商家同時更新。更新時,您必須指定要更新的商家,以及要在 API 端點中更新的欄位。然後在要求的主體中納入這些欄位的新資料。任何被更新的欄位將以所提供的資訊取代。
如要更新可用性,您需要向下列端點提出修補程式要求:
PATCH https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}?updateMask=action_link
要求的主體就會是僅包含 action_link
的商家物件 (因為我們已將 updateMask 設為只包含 action_link
):
{ "action_link": [ ..., // all required action_link fields here "order_online_metadata": { "fulfillment_option": [ "fulfillment_type": "FULFILLMENT_TYPE_DELIVERY", "available_day": [ // Include the updated availability here { "fulfillment_date": { "year": "2020", "month": "10", "day": "1" } "last_ordering_time": { "seconds": "1601614800" // 2020/10/1, 10pm } }, ... // Other updated availability_days ] ] } ] }
如果 API 要求成功,回應會包含 Merchant Center 物件,以及更新過的資料。
如需商家更新方法的完整參考規範,請參閱:方法:inventory.partners.merchants.patch。
供應情形正確
「透過 Google 預訂」瞭解供應情形的細節會根據許多因素而改變。這些因素包括:
- 供應情形因訂單大小而異
- 供應情形的變動依據為完成訂購和結帳的時間
- 透過動態饋給或即時更新來更新供應情形的延遲時間
上述任何因素都可能會使使用者一開始看到的供應情形,不是使用者結帳時會看見的最終供應情形。可用性實作的目標並非要完全消除這些異動,而是盡可能向使用者提供清楚的資訊。
合作夥伴應提供最佳的實作方式,盡可能以最準確的方式向使用者顯示正確供應情形。此外,如果訂單的詳細資料因訂單詳細資料而有所變動,請務必讓使用者清楚看見相關資訊。如果不確定具體情況為何,請與「透過 Google 預訂」聯絡人聯絡。