Liquid、JavaScriptなどに関する質問
表題の通りですが、どのように実装すれば考え中です。
shopify flowで注文データ取得件数の上限は100件だと思います。※admin apiの仕様
この100件を反復し、日付で絞り込めばと思いますが、どのようにflowを組めばよいかわからず
またmechanicでに実現できないかの検証も進めていますが、こちらも同じ問題を抱えていると思います。
どなたか、表題のような実装を実現できた方いらっしゃいましたら教えていただけると助かります。
解決済! ベストソリューションを見る。
成功
上記の、
Get order data
高度なクエリで email:{{order.customer.email}} を設定
ですと、1年以内の絞り込みができていませんでした。
正しくは下記になります。
高度なクエリで email:{{order.customer.email}} AND created_at:>'{{order.createdAt | date_minus: "1 year"}}' を設定
失礼いたしました。
(キュー田辺)
やり方は2つ考えられます。
(1) 1年間に100件以上購入することはない、と割り切る場合
Order Created
↓
Get order data
高度なクエリで email:{{order.customer.email}} を設定
↓
Sum
getOrderData.totalPriceSet.shopMoney.amount
↓
Update customer metafield
下図のようになります。
※返金時にマイナスするShopify Flowを組むとなお良いです。
(2) 1年間に100件以上購入することも考える場合
この場合は、やり方のコンセプトの説明だけになるのですが、
まず購入履歴、という顧客メタフィールドを作成します。
このメタフィールドはメタオブジェクトのメタフィールドリストにします。
メタオブジェクトは注文日と注文金額を保存します。
Shopify Flowにて、Order Createdで、そのメタフィールドリストに注文情報を追加していきます。
また、同様のFlow内にて、「1年間の購入金額」メタフィールドのアップデートのvalue内で、liquidを駆使して購入履歴メタフィールドの値を計算して、1年間の購入金額を設定します。
ご参考まで。
(キュー田辺)
成功
上記の、
Get order data
高度なクエリで email:{{order.customer.email}} を設定
ですと、1年以内の絞り込みができていませんでした。
正しくは下記になります。
高度なクエリで email:{{order.customer.email}} AND created_at:>'{{order.createdAt | date_minus: "1 year"}}' を設定
失礼いたしました。
(キュー田辺)
ありがとうございます!
参考にさせていただきます!
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024