JSONを使用して Shopify 管理画面で詳細データにアクセスする

JSON (JavaScript Object Notation の略) は、サーバーからウェブページにデータが送信される際によく使用される、データの保存と転送のためのフォーマットです。管理画面のほとんどのリソースページ (たとえば、注文商品顧客の各ページ) では、JSON を使用して、より詳細なデータにアクセスできます。

JSON を使用して高度な開発タスクを実行する必要はありませんが、管理画面で特定のリソースの JSON ファイルにアクセスできると、より詳細な情報を収集したり、問題を自分でトラブルシューティングまたは調査したりするのに役立ちます。たとえば、特定のデータ移行タスクやテーマコードのカスタマイズに必要となる場合がある、商品の JSON ファイルを確認してそのバリエーション ID を見つけることができます。別の例としては、Shopify Flow で自動化されたワークフローを構築する際に使用するデータ変数を確認するために、注文の JSON ファイルを参照することができます。

JSONは主に開発者が使用しますが、コーディングの知識があまりないユーザーでも、Shopify 管理画面で一般的なJSON情報の一部を見つけて解釈する方法を学ぶことにはメリットがあります。

JSONファイルの再フォーマット

未加工のJSONデータは、ネストされた変数と括弧が長く連なったものとして表示されるため、人が読むのは困難です。

JSONのフォーマットを読みやすくするには、以下のいずれかの方法を検討してください。

  • お使いのブラウザにJSONビューアー拡張機能をインストールします。
  • ほとんどの最新ウェブブラウザにデフォルトで備わっている pretty-print 機能を使用します。

商品情報の例が表示されたJSON商品ファイルのスクリーンショット。ページの左上に「pretty-print」チェックボックス設定が有効でハイライトされています。

Shopify 管理画面でJSONファイルにアクセスする

Shopify 管理画面は、ビジネスのあらゆる側面を管理する中心的なハブであり、デフォルトで最も有用かつ関連性の高い情報のみを表示するように設計されています。管理画面でアクションが実行されるたびに収集される追加情報は、さまざまなリソースページの.jsonファイルに保存されます。この量の情報は、圧倒されるばかりで役に立たず、管理画面が使いにくくなるため、これらの追加詳細はデフォルトでは表示されません。

ほとんどのビジネスタスクでは、Shopifyの既存のツールを使用してストアの情報にアクセスし、解釈することができます。しかし、何かが起きた理由や時期をトラブルシューティングする際に、商品や注文などの特定のリソースに関する具体的な情報を確認することが役立つ場合があります。

例:注文のJSONファイルにアクセスする

この例では、Shopify 管理画面で注文のJSONファイルにアクセスします。

手順:

  1. 管理画面から [注文管理] に移動します。

  2. [注文管理] リストで任意の注文をクリックします。

  3. ブラウザのアドレスバーで、URLアドレスの末尾に.jsonを追加します。次の例のようになります。

https://admin.shopify.com/store/{example-shop-name}/orders/12345678901234.json
  1. Enterキーを押して、JSON形式でページを再読み込みします。
  2. 任意:お使いのブラウザに JSON ビューアー拡張機能がインストールされていない場合は、ブラウザで Pretty-print 設定を有効にすると、JSON ファイルがより分かりやすくなります。JSON ファイルの再フォーマットについて詳しくはこちらをご覧ください。

注文に関連付けられた"currency""line_items"など、注文に関する想定内の情報が数多く表示されることに気づくでしょう。また、お客様が注文した際のブラウザセッションからの"client_details"など、他の多くの詳細情報も含まれています。この種の情報は、全体的なセッショントラッキングやマーケティングプラットフォームの分析には役立ちますが、注文を処理してフルフィルメントするために必須ではありません。

JSONファイル内の特定のフィールドを表示する

含めたい特定のプロパティがわかっている場合は、JSONファイルに特定のフィールドのみを表示させることで、情報の解釈が容易になります。ブラウザのアドレスバーにあるJSONファイルURLの末尾に?fields=を追加し、表示したいプロパティ名をカンマで区切って任意の順序で入力します。

たとえば、注文のID、お客様情報、合計金額、タグを表示するには、次の例のように、JSONファイルURLの末尾に?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 管理画面に特定の情報を表示できます。

  • 商品数商品リストのURLの末尾に /count.json を追加すると、商品の総数が表示されます。完全なURLは次のようになります。
https://admin.shopify.com/store/{example-shop-name}/products/count.json
  • 取引:注文ページのURLの末尾に /transactions.json を追加すると、注文の取引情報のみが表示されます。取引リソースについて詳しくはこちら。
  • フルフィルメント:注文ページのURLの末尾に /fulfillments.json を追加すると、注文のフルフィルメント情報のみが表示されます。フルフィルメントリソースについて詳しくはこちら。
  • チェックアウト離脱:チェックアウト離脱のURLの末尾に .json を追加すると、チェックアウト離脱に関する詳細情報が表示されます。チェックアウト離脱リソースについて詳しくはこちら。

トラブルシューティングのための一般的なJSONプロパティ

次の表は、さまざまなリソースタイプのトラブルシューティングで参考にできるJSONプロパティの一覧です。たとえば、特定の商品がいつ公開されたかを確認したい場合は、商品のJSONファイルでpublished_atプロパティを確認できます。このプロパティには、日付と時刻がISO 8601形式で表示されます。

この表には、管理画面に保存されているすべてのJSONリソースやプロパティが含まれているわけではありません。ここに記載されていないリソースやプロパティの定義については、Shopify開発者ドキュメントを参照してください。

管理画面のいくつかのリソースの例と、それに関連する一般的なプロパティを一覧表示します。トラブルシューティングでそれらが何に使用されるかの定義も含まれます。
リソースJSON プロパティ定義
商品
"product": {
  "created_at"
商品が最初に作成された日時です。
"product": {
  "published_at"
商品のステータスが有効に設定された日時です。
"product": {
  "updated_at"
商品が最後に更新された日時です。これには、商品説明、タイトル、SEO 情報の変更のほか、商品の購入にともなう在庫の変更などの自動更新が含まれます。
バリエーション
"product": {
  "variants": [
    {
    "created_at"
バリエーションが最初に作成された日時です。この日時は、商品全体が作成された日時とは異なる場合があります。
"product": {
  "variants": [
    {
    "updated_at"
バリエーションが最後に更新された日時です。この日時は、商品全体が最後に更新された日時とは異なる場合があります。
"product": {
  "variants": [
    {
    "inventory_quantity"
現在のデータベース値であり、お客様が購入できる数量です。バリエーションの在庫が追跡されていない場合や、売り越しが設定されている場合は、マイナス値になる可能性があります。
"product": {
  "variants": [
    {
    "old_inventory_quantity"
バリエーションの最後の updated_at 日時より前のデータベース値です。
注文
"order": {
   "line_items": [
    {
    "requires_shipping"
true または false として表示されます。これは、注文時の商品またはバリエーションの配送設定を示します。
"order": {
   "line_items": [
    {
    "taxable"
true または false として表示されます。これは、注文時に商品またはバリエーションに税が請求されるように設定されていたかどうかを示します。
"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": {
  "created_at"
お客様が最初に作成された日時です。
"customer": {
  "updated_at"
お客様プロフィールが最後に更新された日時です。

JSON 形式のメタフィールド

メタフィールドは、商品やコレクションなどのShopifyリソースに追加のカスタム情報を柔軟に添付する方法です。メタフィールドを使用して保存されるデータの例としては、商品の仕様、サイズ表、ダウンロード可能なドキュメント、リリース日、画像、部品番号などがあります。メタフィールドの使用について詳しくはこちら。

サポートされているリソースページの URL の末尾に /metafields.json を追加すると、そのリソースに関連付けられているメタフィールドを表示できます。JSON を使用してメタフィールド情報を表示するためのリソースと URL 形式の例については、次の表を参照してください。

管理リソースの例と、JSON メタフィールドファイル URL の例を一覧表示します。
リソースタイプの例URL の例
スマートコレクション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

注:商品画像のメタフィールドは、APIを介してのみ追加できます。URL内の{id}やその他のプレースホルダーを、APIクエリからの実際の値に置き換えてください。


ストアhttps://admin.shopify.com/store/{your-store-name}/metafields.json

メタフィールドを持つことができるリソースの完全なリスト、および各リソースタイプに保存されるプロパティの具体的なタイプについては、Shopify開発者ドキュメントのメタフィールドJSONリソースを参照してください。

JSON 形式のイベント

ブログ記事の作成、注文のフルフィルメント、商品の追加など、特定のアクションが完了すると、一部の Shopify リソースによってイベントが生成されます。

サポートされているリソースページの URL の末尾に /events.json を追加すると、そのリソースに関連付けられているイベントを表示できます。JSON を使用してイベント情報を表示するためのリソースと URL 形式の例については、次の表を参照してください。

管理リソースの例と、JSON イベントファイル URL の例を一覧表示します。
リソースタイプの例URL の例
注文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

この URL 形式では、ストアで発生した直近 250 件のイベントが表示されます。イベントには、商品の作成や更新、ページの削除、バリエーションの更新などが含まれます。


イベントを作成できるリソースの完全なリスト、および各リソースタイプで作成される特定のイベントについては、Shopify開発者ドキュメントのイベントJSONリソースを参照してください。