在您的 Shopify 管理介面中使用 JSON 存取詳細資料

JSON,全名為 JavaScript Object Notation,是一種用於儲存與傳輸資料的格式,常見於伺服器將資料傳送到網頁時。您可以在 Shopify 管理介面中的多數資源頁面 (例如 OrdersProductsCustomers 頁面) 透過 JSON 取得更詳細的資料。

雖然您無須使用 JSON 來執行進階開發工作,但能在 Shopify 管理介面中存取特定資源的 JSON 檔案,有助於彙整更詳細的資訊,或自行疑難排解與調查問題。舉例來說,您可以 review the JSON file for a product to find its variant ID,此步驟可能是某些資料移轉作業或佈景主題程式碼自訂所需。再例如,在建立 Shopify Flow 的自動化流程時,您可以 refer to an order's JSON file to confirm the data variable,以確認要使用的資料變數。

JSON 最常由開發人員使用,但即使程式知識有限的使用者,只要學會如何在 Shopify 管理介面找出並解讀一些常見的 JSON 資訊,也能受益。

重新格式化 JSON 檔案

原始 JSON 資料會顯示成由大量巢狀變數與括號組成的一長串內容,使用者很難閱讀。

為了讓 JSON 格式更易讀,您可以考慮以下做法:

  • 在瀏覽器中安裝 JSON viewer extension
  • 使用多數現代瀏覽器預設提供的美化顯示功能:

顯示範例商品資訊的 JSON 商品檔案螢幕截圖。頁面左上角的「Pretty-print」核取方塊設定已啟用並反白顯示。

在您的 Shopify 管理介面存取 JSON 檔案

Shopify 管理介面是管理您業務各個面向的中樞,並設計為預設僅顯示最實用且最相關的資訊。您在管理介面執行動作時所收集的額外資訊,會儲存在各資源頁面的 .json 檔案中。由於資訊量過大,這些額外細節並不會預設顯示,否則反而會造成干擾,並讓管理介面難以使用。

在多數業務情境中,您可以使用 Shopify 既有的工具來存取並解讀商店資訊。不過,在疑難排解某件事情為何或何時發生時,檢視特定資源(例如商品或訂單)的詳細資訊,偶爾會很有幫助。

範例:存取訂單的 JSON 檔案

本範例將示範如何在您的 Shopify 管理介面存取某筆訂單的 JSON 檔案。

步驟:

  1. 在 Shopify 管理介面中,前往 Orders

  2. 在「訂單」清單中點選任一筆訂單。

  3. 在瀏覽器位址列,將 .json 加到網址最後。網址將會類似下列範例:

https://admin.shopify.com/store/{example-shop-name}/orders/12345678901234.json
  1. 按下 Enter 重新載入頁面,畫面會以 JSON 格式顯示。
  2. 選用:如果您的瀏覽器未安裝 JSON 檢視器擴充功能,請啟用瀏覽器中的 Pretty-print 設定,讓 JSON 檔案更易讀。如需詳細資訊,請參考 reformatting a JSON file

您會看到訂單的許多預期資訊,例如與該筆訂單相關的 "currency""line_items",同時也包含許多其他細節,例如顧客下單時其瀏覽器工作階段的 "client_details"。這類資訊有助於整體工作階段追蹤與行銷平台分析,但並非處理與出貨該筆訂單所必需。

顯示 JSON 檔案中的特定欄位

您可以強制 JSON 檔案只顯示特定欄位,當您清楚要包含的屬性時,這能讓資訊更容易解讀。在瀏覽器位址列的任何 JSON 檔案網址最後加上 ?fields=,再加入要顯示的屬性名稱,順序不限,以逗號分隔。

例如,若要顯示訂單的 ID、顧客資訊、總價與標籤,請在 JSON 檔案網址最後加上 ?fields=id,customer,total_price,tags,如下所示:

https://admin.shopify.com/store/{example-shop-name}/orders/12345678901234.json?fields=id,customer,total_price,tags

使用其他 JSON 資源

您可以使用下列 JSON 資源,在您的 Shopify 管理介面中顯示特定資訊:

  • 商品數量:在 Products list URL 的結尾加上 /count.json,即可顯示商品總數。完整網址如下:
https://admin.shopify.com/store/{example-shop-name}/products/count.json
  • 交易:在訂單頁面的網址結尾加上 /transactions.json,即可僅顯示該訂單的交易資訊。如需詳細資訊,請參考 Transactions resource
  • 出貨作業:在訂單頁面的網址結尾加上 /fulfillments.json,即可僅顯示該訂單的出貨資訊。如需詳細資訊,請參考 Fulfillment resource
  • 未完成結帳作業:在未完成結帳作業的網址結尾加上 .json,即可顯示該未完成結帳作業的詳細資訊。如需詳細資訊,請參考 Abandoned checkout resource

用於疑難排解的常見 JSON 屬性

下表列出各種資源類型在疑難排解時可能會參考到的 JSON 屬性。例如,若您想確認某個商品的發佈時間,可以在該商品的 JSON 檔案中檢視 published_at 屬性,日期與時間會以 ISO 8601 格式顯示。

本表未涵蓋儲存在 Shopify 管理介面中的所有可能的 JSON 資源或屬性;如需未列出資源或屬性的定義,請參考 Shopify Developer Documentation

列出一些管理介面資源的範例與其常見屬性,並說明在疑難排解時的可能用途。
資源JSON 屬性定義
Product
"product": {
  "created_at"
商品最初建立的時間與日期。
"product": {
  "published_at"
將商品狀態設為啟用的時間與日期。
"product": {
  "updated_at"
最近一次更新商品的時間與日期。這可能包含產品說明、標題或搜尋引擎最佳化 (SEO) 資訊的變更,以及自動更新,例如商品被購買時的庫存變動。
Variant
"product": {
  "variants": [
    {
    "created_at"
該子類最初建立的時間與日期。這可能與整體商品的建立時間與日期不同。
"product": {
  "variants": [
    {
    "updated_at"
最近一次更新該子類的時間與日期。這可能與整體商品的最近更新時間與日期不同。
"product": {
  "variants": [
    {
    "inventory_quantity"
目前資料庫中的數值,同時也是顧客可購買的數量。若未追蹤該子類庫存,或已設定為可超賣,數值可能為負數。
"product": {
  "variants": [
    {
    "old_inventory_quantity"
該子類在上次 updated_at 日期之前的資料庫數值。
Order
"order": {
   "line_items": [
    {
    "requires_shipping"
顯示為 truefalse。表示下單當下商品或子類的運送設定。
"order": {
   "line_items": [
    {
    "taxable"
顯示為 truefalse。表示下單當下商品或子類是否收取稅額的設定。
"order": {
   "line_items": [
    {
    "variant_inventory_management"
顯示為 shopifyamazon_marketplace_webnull,或其他第三方值,取決於設定由哪個出貨服務追蹤該商品的庫存。若值為 null,表示在訂單成立時未追蹤該商品。
"order": {
   "line_items": [
    {
    "fulfillable_quantity"
顯示系統為完成訂單而仍預留的庫存數量。此數值不等於目前的子類庫存。
"order": {
   "line_items": [
    {
    "quantity"
購買的商品或子類數量。
"order": {
   "line_items": [
    {
    "tax_lines"
在美國,這裡會顯示州、郡與市的稅額。如果未顯示任何稅目,但訂單有收取稅額,則表示稅額計入運送成本。
Customer
"customer": {
  "created_at"
最初建立顧客資料的時間與日期。
"customer": {
  "updated_at"
最近一次更新顧客個檔的時間與日期。

JSON 中的中繼欄位

中繼欄位是一種彈性的方式,可為 Shopify 的資源 (例如商品或商品系列) 附加額外的自訂資訊。使用中繼欄位可儲存的資料範例包含商品規格、尺寸表、可下載的文件、發布日期、圖片或料號。瞭解詳情,請參考 using metafields

您可以在支援的資源頁面網址結尾加上 /metafields.json,以顯示與該資源相關聯的中繼欄位。請參考下表,瞭解以 JSON 顯示中繼欄位資訊時可使用的資源與網址格式範例。

列出一些管理介面資源範例,以及對應的 JSON 中繼欄位檔案網址範例。
範例資源類型範例網址
自動商品系列https://admin.shopify.com/store/{your-store-name}/collections/{collection-id}/metafields.json
顧客https://admin.shopify.com/store/{your-store-name}/customers/{customer-id}/metafields.json
訂單https://admin.shopify.com/store/{your-store-name}/orders/{order-id}/metafields.json
頁面https://admin.shopify.com/store/{your-store-name}/pages/{page-id}/metafields.json
商品https://admin.shopify.com/store/{your-store-name}/products/{product-id}/metafields.json
子類https://admin.shopify.com/store/{your-store-name}/products/{product-id}/variants/{variant-id}/metafields.json
產品圖片https://admin.shopify.com/store/{your-store-name}/metafields.json?metafield[owner_id]={id}&metafield[owner_resource]=product_image

注意:Product image metafields 只能透過 API 新增。請將網址中的 {id} 及其他佔位符替換為您透過 API 查詢取得的實際值。

商店https://admin.shopify.com/store/{your-store-name}/metafields.json

如需可使用中繼欄位的完整資源清單,以及各資源類型可儲存的特定屬性類型,請參考 Shopify 開發者文件中的 Metafield JSON resource

JSON 中的事件

某些 Shopify 資源在完成特定動作時會產生事件,例如建立網誌文章、完成訂單出貨作業,或新增商品。

您可以在支援的資源頁面網址結尾加上 /events.json,以顯示與該資源相關的事件。請參考下表,瞭解以 JSON 顯示事件資訊時可使用的資源與網址格式範例。

列出一些管理介面資源範例,以及對應的 JSON 事件檔案網址範例。
範例資源類型範例網址
訂單https://admin.shopify.com/store/{your-store-name}/orders/{order-id}/events.json

此檔案會列出事件的 author,讓您知道哪些使用者完成了特定動作,例如由哪位使用者或哪個來源發佈了商品。

商品https://admin.shopify.com/store/{your-store-name}/products/{product-id}/events.json

此檔案會列出事件的 author,讓您知道哪些使用者完成了特定動作,例如由哪位使用者或哪個來源將付款標記為已付款。

商店https://admin.shopify.com/store/{your-store-name}/events.json?limit=250

此網址格式會顯示您商店中最近 250 筆發生的事件。事件內容可能包括(但不限於)商品建立或更新、頁面刪除,以及子類更新。

如需可建立事件的完整資源清單,以及各資源類型會建立的特定事件,請參考 Shopify 開發者文件中的 Event JSON resource