FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

【緊急です】MR.POINT×Shopifyフローで誕生日ポイント付与

解決済

【緊急です】MR.POINT×Shopifyフローで誕生日ポイント付与

jumpei_design
訪問者
3 0 1

MR.POINTとショッピファイフローで誕生日ポイントを付与したいと考えています。

現在、顧客情報内にメタフィールドで誕生月が入るように構築済です。

毎月1日に、誕生日を迎える方へポイントを自動付与(月末有効期限)には、トリガーは何になりますでしょうか?

 

宜しくお願い致します。

1 件の受理された解決策

Qcoltd
Shopify Partner
1102 450 445

成功

お急ぎとのことなので、すでに解決済みかもしれませんが、

興味があり調査してみましたので、ご報告いたします。

 

「Scheduled Time」というトリガーで毎月1日に自動実行するフローを作成できるはずです。

https://help.shopify.com/ja/manual/shopify-flow/reference/triggers/scheduled-time

 

下記のような流れになるかと思います。

 

トリガー: Scheduled Time

アクション: Get customer data

アクション: For each loop (iterate)

アクション: MR.POINTのポイント更新アクション

 

 

しかし、

大きな問題がありまして、

Get customer dataで扱える顧客の数は最大で100になります。

 

クエリで顧客を絞ることもできますが、

おそらくメタフィールドの値による絞り込みはできないかと思います。

クエリで使用できるパラメータはおそらく下記に記載されたものになるはずだからです。

https://shopify.dev/docs/api/admin-graphql/2023-04/queries/customers

 

全顧客数が100名以下であれば、

For each loopの後、「条件」でメタフィールド(誕生日)の値で制御することもできますが、

顧客数が100名を超える場合は、

この方法ではポイント付与ができない顧客が出てきてしまうはずです。

 

そうすると思いつくのは、下記のような方法です。

  • Get Customer dataのクエリは、tagによる絞り込みはできそうですので、メタフィールドだけでなく、tagにも誕生日データを持たせて絞り込みを行う
  • さらに顧客タグに今年分の付与が完了したどうかの情報も持たせる
  • Get customer dataのクエリで、誕生日と付与完了の2つタグの情報で絞り込みを行い、Scheduled Timeをトリガーとする同様のShopify Flowを例えば10個作成すれば、その月が誕生日の顧客を1000名まで処理できます。

 

しかし、この方法がおすすめできるかというと、

ちょっとした綻びで崩壊しそうなので、

おすすめはしにくいです。

アプリベンダーに誕生日ポイントの実装を検討してもらった方が良いかもしれません。

 

もしくは、

https://apps.shopify.com/vip?locale=ja

こちらのアプリのように誕生日ポイントが実装されているアプリに乗り換えた方が安全だとは思います。

 

しかし、緊急とおっしゃっているので、どちらも質問者様の希望には沿わないかもしれませんね。

 

完全な解決策がなく恐縮ですが、

参考になる情報があれば幸いです。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

2件の返信2

Qcoltd
Shopify Partner
1102 450 445

成功

お急ぎとのことなので、すでに解決済みかもしれませんが、

興味があり調査してみましたので、ご報告いたします。

 

「Scheduled Time」というトリガーで毎月1日に自動実行するフローを作成できるはずです。

https://help.shopify.com/ja/manual/shopify-flow/reference/triggers/scheduled-time

 

下記のような流れになるかと思います。

 

トリガー: Scheduled Time

アクション: Get customer data

アクション: For each loop (iterate)

アクション: MR.POINTのポイント更新アクション

 

 

しかし、

大きな問題がありまして、

Get customer dataで扱える顧客の数は最大で100になります。

 

クエリで顧客を絞ることもできますが、

おそらくメタフィールドの値による絞り込みはできないかと思います。

クエリで使用できるパラメータはおそらく下記に記載されたものになるはずだからです。

https://shopify.dev/docs/api/admin-graphql/2023-04/queries/customers

 

全顧客数が100名以下であれば、

For each loopの後、「条件」でメタフィールド(誕生日)の値で制御することもできますが、

顧客数が100名を超える場合は、

この方法ではポイント付与ができない顧客が出てきてしまうはずです。

 

そうすると思いつくのは、下記のような方法です。

  • Get Customer dataのクエリは、tagによる絞り込みはできそうですので、メタフィールドだけでなく、tagにも誕生日データを持たせて絞り込みを行う
  • さらに顧客タグに今年分の付与が完了したどうかの情報も持たせる
  • Get customer dataのクエリで、誕生日と付与完了の2つタグの情報で絞り込みを行い、Scheduled Timeをトリガーとする同様のShopify Flowを例えば10個作成すれば、その月が誕生日の顧客を1000名まで処理できます。

 

しかし、この方法がおすすめできるかというと、

ちょっとした綻びで崩壊しそうなので、

おすすめはしにくいです。

アプリベンダーに誕生日ポイントの実装を検討してもらった方が良いかもしれません。

 

もしくは、

https://apps.shopify.com/vip?locale=ja

こちらのアプリのように誕生日ポイントが実装されているアプリに乗り換えた方が安全だとは思います。

 

しかし、緊急とおっしゃっているので、どちらも質問者様の希望には沿わないかもしれませんね。

 

完全な解決策がなく恐縮ですが、

参考になる情報があれば幸いです。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
jumpei_design
訪問者
3 0 1

田辺様、ご回答ありがとうございます。

ご回答を確認しながらも返信が遅れ申し訳ありません。

仰る通り、タグでのデータ付与が必須でしょうし、システム開発レベルじゃないと難しいかもしれませんね。。。

ご丁寧な回答に感謝いたします。

ありがとうございます。