Shopify Flow で使用される API データをプレビューする

ほとんどのワークフローはストアのデータにアクセスするため、条件やアクションでそのデータを使用できます。Shopify Flow は GraphQL Admin API を呼び出してストアデータにアクセスするため、API のほぼすべてのフィールドにアクセスできます。

ワークフローを構築する際、API に基づくフィールド名や説明が表示されることがよくありますが、そのデータの値を知る必要がある場合もあります。たとえば、下書き注文から作成された注文のアプリ名を知りたい場合などです。また、ワークフローが期待どおりのデータや形式でデータを出力しているかを確認したい場合もあるでしょう。

データの値を確認するには、Shopify Flow にはいくつかのオプションがあります。

管理画面でフィールドを見つける

ほとんどの場合、管理画面でデータを見つけることができます。たとえば、product.title[商品管理] ページに表示されます。

サンプルデータを取得する

ワークフローを構築する際、Flow エディタから直接サンプルデータを取得できます。Flow のデータはイベントから取得されるため、正確なサンプルデータを取得するには、関連するイベントを選択することから始める必要があります。

  1. Flow のエディタで、データを使用するアクションを開き、[変数を追加する] をクリックします。または、条件で [条件を追加] をクリックします。
  2. [サンプルデータを設定] をクリックします。
  3. Flow には、ワークフローのトリガーに基づいて以前のイベントが表示されます。[イベントを更新] をクリックして最近の実行からイベントを取得するか、[ライブイベントのリッスンを開始] をクリックしてから、管理画面または関連するアプリ (アプリベースのトリガーの場合) でイベントを手動でトリガーします。
  4. イベントが発生すると、Flow にそのイベントに関する詳細が表示されます。サンプルデータの取得に使用するイベントを選択し、[このトリガーイベントを使用する] をクリックします。
  5. これで、イベントを閲覧すると、各変数にサンプルデータが表示されるようになります。

制限事項:

  • スペースの制約により、リスト内のデータについては、Flow ではリストの最初のアイテムのデータのみが表示されます。
  • Flow では、ワークフローごとに一度に最大 5 件のイベントが保存されます。
  • Flow では、「指定時間」、「メタオブジェクトのエントリーが作成されたとき」、「お客様がセグメントに追加されたとき」、「お客様がセグメントから削除されたとき」など、一部のトリガーについて最近の実行からイベントを取得できません。

有効なワークフローでフィールドを使用する

ログアウトプットアクションを利用すると、ワークフローでフィールドを安全に使用できます。ワークフローを実行すると、[ログアウトプット] アクションによって、すべての変数とテキストの出力が [実行履歴] ページに出力されます。また、[社内メールを送信する] などの通知アクションも使用できます。

ログアウトプットを使用する手順:

  1. 手動でトリガーできるトリガーを選択します。
  2. [ログアウトプット] アクションをワークフローに追加し、トリガーに接続します。
  3. [ログアウトプット] の設定で [変数を追加する] をクリックし、調査したい変数を [出力] セクションに追加します。
  4. 完了したら、[ワークフローを有効にする] をクリックします。
  5. 手動で実行するか、トリガーを発動させて、ワークフローをトリガーします。たとえば、[注文が作成されたとき] トリガーを使用している場合は、テスト注文を作成します。
  6. ワークフローが実行されたら、アクティビティログで変数を確認します。

リソースの JSON ページを参照する

管理画面のほとんどのリソースページ ([注文管理][商品管理][顧客管理] ページなど) では、そのページに提供されているデータを表示できます。このデータの命名と形式は Shopify Flow が使用するものとまったく同じではありませんが、値は GraphQL Admin API の内容と一致します。データを確認するには、URL に .json を追加します。

たとえば、管理画面で [注文管理] ページに移動して注文をクリックし、注文に移動します。ブラウザのアドレスバーにあるページのアドレスを、次のアドレスから変更します。

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234

次のアドレスに:

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234.json

GraphiQL または外部サービスの API ツールを使用する

Postman などの外部サービスの API ツールや、Shopify が無料で提供しているツール GraphiQL を使用して、API に直接クエリを送信できます。このオプションでは最も正確な結果が得られますが、GraphQL クエリの作成にある程度精通している必要があります。

GraphiQL について、Shopify では、一般的なデータを備えたウェブベースの GraphiQL エクスプローラーGraphiQL アプリの両方を提供しています。GraphiQL を使用すると、Shopify Flow のフィールド名と完全に一致する GraphQL クエリを構築できます。アプリを使用する場合、値もストアと完全に一致します。

このツールを使用すると、実際のストアのデータを使用して、Shopify Flow が使用するデータを正確に判断できます。たとえば、次のクエリを作成します。

{
  orders(first:5, reverse:true) {
    nodes {
      createdAt
      app {
        name
      }
      channelInformation {
        app {
          title
        }
      }
    }
  }
}

次の結果では、変数 order / app / name に注文のアプリ名が表示されます。この場合、注文は下書き注文アプリから作成されているため、値は Draft Orders になります。チャネル情報は、Point of Sale アプリでのみ利用できます。

{
  "data": {
    "orders": {
      "nodes": [
        {
          "createdAt": "2023-04-10T12:32:41Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-04-10T12:29:12Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:23:10Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:20:53Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T15:45:15Z",
          "app": {
            "name": "Point of Sale"
          },
          "channelInformation": {
            "app": {
              "title": "Point of Sale"
            }
          }
        }
      ]
    }
  }