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"}}' を設定
失礼いたしました。
(キュー田辺)
ありがとうございます!
参考にさせていただきます!
2023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024「味噌の可能性を、とき放つ」をコンセプトに、豊かな自然に恵まれた信州で味噌の製造販売を行う新田醸造。江戸末期に創業した老舗のみそ屋さんですが、2024年春、顧客層や販売範囲の...
By Minami_ Jul 30, 2024ネットショッピングは、利便性に優れいている反面、利用に抵抗感がある人も多くいます。Amazonや楽天市場等、大型モールの企業は、知名度や運営企業の信頼性から顧客が不...
By JapanGuru Jul 23, 2024