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"}}' を設定
失礼いたしました。
(キュー田辺)
ありがとうございます!
参考にさせていただきます!
オンラインストアを運営する中で、商品の返品や交換は重要なプロセスとなります。Shopify管理画面を通して簡単に返品や交換が行えることをご存知でしょうか?希望する場合は、お客...
By Mirai Sep 15, 2024Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024