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つのイベントを保存します。

ライブワークフローでフィールドを使用する

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

ログ出力を使用する手順

  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ツールを使用する

外部サービスのAPIツール (Postmanなど) や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"
            }
          }
        }
      ]
    }
  }
お探しの情報が見つかりませんか?いつでもお気軽にお問い合わせください。