Segmentation APIにおいて関数パラメータの値を問い合わせることが可能に

ShopifyのGraphQL Admin APIバージョン2023-07のアップデートにより、Customer Segmentationの機能パラメータの値を問い合わせるための新たな引数functionParameterQueryNamesegmentValueSuggestionsに使用することが可能になりました。

技術的課題の定義と現状分析

以前までのShopifyでは、Customer Segmentationのための関数パラメータの値を効率的に取得する手段が存在しませんでした。例えば、products_purchasedフィルタは関数パラメータidを有しています:products_purchased(id: '2012162031638') = true。しかし、id関数パラメータに使用可能なProduct IDの一覧を取得するための直接的な手段が欠けていました。

具体的な技術的ソリューションの提案

この問題を解決するために、Shopifyは新たな引数functionParameterQueryNameを追加しました。これにより、id関数パラメータに使用可能なProduct IDの一覧を効率的に取得することが可能になります。具体的には、filterQueryName: 'products_purchased', functionParameterQueryName: 'id'segmentValueSuggestionsエンドポイントへの引数として提供することで実現します。

実装手順とコード例

新たに追加された引数を利用するための具体的な手順とコード例を以下に示します。


query {
  segmentValueSuggestions(filterQueryName: "products_purchased", functionParameterQueryName: "id") {
    suggestions {
      value
    }
  }
}

上記のクエリをGraphQL Admin APIに送信することで、products_purchasedフィルタのidパラメータに使用可能なProduct IDの一覧を取得することができます。

パフォーマンス・コスト分析

この新たな引数の使用は、商品IDの一覧を取得するための効率化に寄与します。従来は各商品の詳細を個別に問い合わせる必要がありましたが、この新たなAPIの利用により、一度の問い合わせで必要な情報を取得することが可能になります。これにより、APIのリクエスト数を削減し、パフォーマンスの向上とコストの削減を実現します。

実装時の注意点・ベストプラクティス

新しい引数を使用する際は、適切なfilterQueryNamefunctionParameterQueryNameを指定することが重要です。また、この機能はGraphQL Admin APIバージョン2023-07以降でのみ利用可能であるため、使用するAPIのバージョンを確認してから利用するようにしましょう。

次のステップ・発展案

今後は、この新しい引数を使用して、さまざまな関数パラメータについて問い合わせるためのクエリを作成し、さらなる効率化を目指すことが可能です。また、他のフィルタに対しても同様の手法を適用することで、Shopifyストアのカスタマーセグメンテーションを更に進化させることができるでしょう。

参考記事: Function parameter values can be queried in the Segmentation API