庫存(請參閱可銷售數量

商品目錄中的 inventory 欄位是指每種商品可供在 Facebook 商店或 Instagram 購物帳戶中銷售的庫存水平。此值會顯示在商品詳情頁面 (PDP) 上,有助於買家了解商品的供應量。此值指出您的商品何時缺貨。因此,及時跟進並保持庫存準確無誤有助於提供出色的購物體驗;如果出錯,或會導致超售。

備註:inventory 欄位即將停用,並由新的 quantity_to_sell_on_facebook 欄位取代。雖然我們仍會在短期內支援舊有欄位名稱,但建議您使用新名稱。請查看支援的商品欄位—進階高效速成目錄廣告和商務,進一步了解此項更新。

備註:沒有設定庫存的商品無法用於標註或購買。但是,您仍可將這類商品用於不設結帳功能的進階高效速成目錄廣告。

庫存波動

inventory 為動態欄位,這意味著其值會在用戶從您的 Facebook 商店或 Instagram 購物帳戶購買商品時發生波動。每當有用戶下單時,相應商品的庫存水平都會減少。

如有用戶主動取消訂單,商務平台會自動增加此值或為商品補貨。如有賣家主動取消訂單,則您可以在取消時為商品補貨,並提升相應的庫存水平,方法是設定取消 API 端點restock_items 欄位。

您透過商品目錄上載或其他方式(請參閱庫存更新策略,了解更多資訊)提供的值會被視為資訊來源,並且一律會用於覆寫系統後端快取的值。

我們會追蹤以下類型的庫存數量:

  • 既定庫存是指您透過商品目錄上載或其他方式(請參閱庫存更新策略,了解更多資訊)提供的值。
  • 可用庫存是指顧客可以購買的商品數量,並且會計入未處理的訂單。

進一步了解這些庫存類型;請參閱商品生命週期

缺貨商品

當用戶在您的 Facebook 商店或 Instagram 購物帳戶上購買商品時,inventory 值會減小。當此值達到 0 時,我們會將商品標記為「缺貨」,並限制任何用戶購買更多數量。您應盡力定期為商品補貨,因為「缺貨」商品會對用戶體驗和品牌認知度產生負面影響。

如果買家發現某款商品缺貨,我們會根據商品目錄中商品款式的 inventory 值,儘量將商品詳情頁面切換為「有存貨」的款式。

停售商品

當某項商品已停售時,您可能很想直接把它從商品目錄中刪除。我們不建議這樣做。

從目錄中刪除商品可能會帶來不良效果,例如商品標籤和圖片消失。我們強烈建議您過一段時間(幾個月)後再刪除商品

您應該將停售商品的 visibility 欄位設定為 staging,而不是刪除商品。這樣做能確保商務平台可以將您的商品重新與已知實體建立關聯,從而妥善應對不同狀況。

商品生命週期

每當您更新庫存,我們便會更新既定庫存。此數字與顧客可以購買的商品數量不一致。我們會追蹤接到的訂單(可能處於不同的狀態),並減去未確認的訂單,以計算出最終可用庫存。此數字可能不會在平台以外公開。

可用庫存 = 既定庫存 - 未確認的訂單

訂單一經確認,您便有 30 分鐘的緩衝時間來透過目錄處理和更新庫存數字,然後我們會在計數器中減去已確認的訂單。

超售

為了將商務平台的覆蓋範圍擴展到數千個商家,我們經深思熟慮後決定不支援同步庫存管理。因此,我們不支援導致倉庫庫存水平下降的原子購買交易。如果您在多個渠道上共用庫存,則可能會意外地在 Facebook 或 Instagram 上超售商品。供應數量有限的熱賣商品便可能會發生這種情況。

因超賣而無法履行訂單時,您應取消訂單,並將 reason_code 設定為 OUT_OF_STOCK

如果您經常遇到超賣問題,則可提高訂單處理頻率,並相應地調整商品的庫存水平。

庫存整合策略

視乎您要執行的整合類型,您可透過多種方式更新庫存:

  • 使用商務管理工具用戶介面(小型商品系列、測試等)
  • 使用定期上載或手動上載的摘要
  • 使用摘要 API
  • 使用 Batch API

庫存更新策略

由於分散式系統具有非同步性質,無論您更新庫存水平的速度有多快,商品目錄中的 inventory 值都有可能不同步。您可考慮採用以下方式,來儘量減少爭用情況。

預先分配庫存

避免超賣最有效的方法,就是預先為您的 Facebook 商店或 Instagram 購物渠道分配庫存。為您的每個銷售渠道提供庫存,便可確保任何個別渠道的銷售交易不會互相干擾。此策略適用於部分或整個商品目錄。

滯銷商品

若商品銷售速度正常或庫存充足,面臨超賣的風險便相對較低。在這種情況下,您可以採用簡單的商品目錄更新策略:

  • 配置每日/每小時更新的定期摘要。此摘要應包含所有欄位,其中包括最新的 inventory 值。

熱賣商品

對於庫存不足或庫存水平變化頻繁的熱賣商品,您可能需要更及時地更新快速變動的欄位,例如 inventory。為此,您可以使用即時 Batch API。以下列出您可以跟從的一般策略:

  • 配置每日/每小時更新的定期摘要。此摘要應包含所有必填的商品目錄欄位,並忽略 inventory 等快速變動的欄位。此摘要旨在更新更具穩定性的欄位,並使用即時 API 延遲更新快速變動的欄位。
  • 當庫存值在您的後端或以固定頻率更改,使用即時 Batch API 來更新 inventory 等快速變動的欄位。為保持一致,切勿將使用此方式更新的欄位納入摘要中。

以下列出使用即時 Batch API 更新的範例:

curl \
  -d @body.json \
  -H "Content-Type: application/json"
  {
    "access_token": "<ACCESS_TOKEN>",
    "item_type": "PRODUCT_ITEM",
    "requests": [      
      {
        "method": "UPDATE",
        "retailer_id": "SKU1234567",
        "data": {
          "inventory": "1337",
        }
      }
    ]
  } https://graph.facebook.com/<CATALOG_ID/batch

Batch API 要求具非同步特性。您應檢查要求狀態及其結果,確保所有更新均成功。詳情請參閱 Batch API 文件

如果您在管理小量商品,也可以直接使用 Graph API(而非即時 Batch API)單獨更新每款商品。由於 Graph API 存在傳輸率限制和限速問題,此方法只適合在商品數量較少時使用。您可使用此方法更新的確切商品數量,取決於您 Facebook 應用程式採用的配額。您可遵循這項經驗法則:如果每次更新的商品超過 12 種,則使用即時 Batch API。

如要更新商品內的特定欄位,您可以作出以下 API 呼叫:

curl -d "inventory=1337" -X POST 
https://graph.facebook.com/<FACEBOOK_PRODUCT_ID>
access_token: PAGE_ACCESS_TOKEN

如果使用的是 Graph API,則使用 Facebook 商品編號。如果使用的是 Batch API,則使用您的專屬編號,即 retailer_id

庫存門檻

另一種防止超賣的常見做法,就是謹慎處理庫存分配事宜。例如,如果您發現倉庫中的某款商品接近缺貨,便可以在商品目錄中將庫存水平設定為零。這種方法能有效充分改善銷量不佳情況,同時可降低超賣的風險。

如果您知道每款商品的銷售速度,您便可將商品劃分為不同組別,並根據其銷售概況為每個組別套用不同門檻。要被標記為缺貨,熱賣商品通常需要較高門檻值,而滯銷商品的門檻值很可能會較低。