ShopifyFlowとの連携
ShopifyFlowとの連携
ShopifyFlowを使って、アプリにはない動作を追加することができます。ここではポインポンを導入した際に追加されるトリガーとアクションについての基礎知識と、Flowの構築例を記載いたします。
Flowとポインポンの連携
ポインポンでは、ShopifyFlowの連携に関して以下の2つの機能が実装されています。
- トリガー:PoingPong - ポイント増減トリガー
- アクション:PoingPong - Custom Point Action
利用開始方法
ポインポンとFlowをインストールを実施した段階で自動的に追加されます。Flowのワークフローを作成する際に、アプリ項目からトリガーとアクションをご選択いただけます。
Flowをご利用の際の注意点について
本Flowに関する機能を使用した際に、直接ポインポンに起因するものではない問題については弊社では責任を負いかねるため、Shopifyパートナーにて使用可能な開発ストアにて検証いただくことを強くおすすめいたします。やむを得ず本番環境で実施する場合は、顧客や注文に「テスト用」などのタグを付与し、トリガー直後の条件にタグをチェックするなど、全体への影響が出ない状態を作った上でご確認ください。ポインポンのトリガーでポインポンのアクションを実行する方法は推奨いたしません。もし使用する場合は、ループしないよう特にご注意ください。
弊社では本格的なShopifyFlowの構築などは行なっておりませんが、構築の実績があるベンダー様をご紹介させていただくことも可能ですので、ご希望の場合はこちらのお問い合わせフォームよりお問い合わせください。
トリガーとアクションについて
- トリガーはFlowを実行するためのきっかけを指しています。ポインポンのポイント増減トリガーでは、ポイントの変動を検知してFlowを実行することができます。
- アクションはFlowが実行された結果、何を行うかを指しています。ポインポンのポイントアクションでは、何らかのトリガーからポイントの付与を行います。
- アクション実行は「Flowからポインポンに渡すデータを作成する」という形のため、アクション完了からポインポンにデータが渡るまでの受け渡し時間と、バッチ処理にて実行されるまでの時間で10分〜1時間程度のタイムラグが生じます。即時ポイントが付与されないことを前提に設計を行なっていただく必要があることにご注意ください。
できること
トリガーとアクションはShopifyが用意しているものや、他のアプリが提供するものなどがあるため、組み合わせることで様々なカスタマイズを行うことができます。2つの例を以下に記載いたします。
トリガー(PoingPong - ポイント増減トリガー)
PoingPong - ポイント増減トリガーの仕様は以下のとおりです。
取得可能なパラメーター
- ポイント変動理由(キー)
- ポイントの変動値
- 変更前のポイント数
- 変更後のポイント数
- ポイント変動の発生日時
ポイント増減トリガーの実行間隔
ポイント増減のトリガーは、ポイント変動を10分ごとのバッチ処理で検知して起動します。Flowの処理時間やキューが重複した場合の待ち時間もあるため、即時性を求める内容には不向きとなりますのでご注意ください。
使用できるトリガー変数
本トリガーを設定した時に使用できる変数は以下のとおりです。これらの変数は次のステップで条件を指定する際に使用することが可能です。
変数名 | 説明 |
---|---|
{{processedAt}} | ShopifyFlowへ処理を依頼した日時です。 Shopify側での実行待ち時間は含まれません。 ポインポン側からの処理依頼時間であることに注意してください。 |
{{patternNo}} | ポイント変動理由のパターン番号です。 |
{{patternName}} | ポイント変動理由の説明です。 |
{{changedPoint}} | この処理で実際に変動したポイント数です。 |
{{pointBefore}} | 変動前のポイント数です。 |
{{pointAfter}} | 変動後のポイント数です。 |
{{changedAt}} | ポイント変動が発生した日時です。 |
{{remark}} | 備考欄です。処理の元となったgid情報がある場合はgid情報が入力されます。 |
※上記以外に、Shopifyの提供するオブジェクトが利用可能です。
ポイントのパターン
patternNoには以下のような値が出力されます。
パターン番号 | パターンネーム |
---|---|
120 | クーポンのキャンセル |
130 | ご購入ポイント[#注文番号] |
131 | 新規会員登録ポイント |
132 | レビュー投稿ポイント |
220 | クーポン発行 |
800 | PoingPong - Custom Point Actionによる付与 |
900 | ショップによる調整 |
903 | ポイントクリア(顧客redact:個人情報削除申請) |
※顧客そのものが削除されている場合はFlow自体が実行されません。
トリガーの構成例
ポイントの増減があった場合に、Googleスプレッドシートへデータを出力する場合の構成例です。
ワークフローの構成
※Flowの項目内のパラメータなどについてはストア様ごとに異なるため、実際の画面にてご確認ください。
作成の際に考慮しなければならない点を以下に列挙いたします。
- Googleスプレッドシートとの連携を選択する場合は、アクションの選択画面で「Installed apps/インストール済みのアプリ」のチェックを外してから「Google Sheets for Shopify Flow」を検索します。
- 今回の例では1行ずつデータを追加していく「Add row to spreadsheet」を選択しています。
- 初めて設定する場合はGoogleアカウントとの連携を行う必要があります。
- SpreadSheetURLにデータを送りたいスプレッドシートのURLを記載します。
- 列として取り出したい項目を、前述の出力できるデータから選択肢、{{}}で囲んで記載します。列の区切りはカンマで登録します。
- 10分おきのバッチ処理
実行結果
連携したURLのスプレッドシートにデータが出力されます。
注意点など
本事例のようなログや集計データとして使用する場合の注意点として、スプレッドシートに書き込みを行う際はユーザーの編集とFlowの動作が同時に実行されると競合による不具合が発生しやすいこと、データが大量になるとスプレッドシートの上限に達しないように注意すること、などを考慮する必要があります。書き出したデータを使用する際はシートをコピーして使用するか、データベース関数(Query等)を使用してデータを絞り込む、削除運用を年単位などで行うことなどをご考慮ください。
アクション(PoingPong - Custom Point Action)について
PoingPong - Custom Point Actionの仕様は以下のとおりです。
指定可能なパラメーター
- 付与ポイント数
- 入力範囲:1 〜 99,999,999 の自然数
- ポイント変更内容
- 出力制限:32文字以内(Liquid構文などの文字数ではなく結果の文字列の長さとなります)
出力できるアプリ変数
ログやエラーを確認するための変数を次のステップで使用することができます。
項目 | ステータス |
---|---|
success | 結果(正常:true、異常:false) |
statusCode | 結果コード |
message | 結果メッセージ |
actionRunId | Flowから渡されたアクション実行ID |
processedAt | Flowの実行されたタイムスタンプ |
結果コードの種類
上記のstatusCodeには以下の値が出力されます。
ステータス番号 | ステータス |
---|---|
200 | 正常終了 |
400 | データ不備(負や小数点の値、文字数超過など) |
403 | 認証エラー |
429 | キュー制限 |
500 | その他のエラー |
アクションの構成例
ランク別に購入金額でポイントを付与する場合の構成例です。
ワークフローの構成
※Flowの項目内のパラメータなどについてはストア様ごとに異なるため、実際の画面にてご確認ください。
本例の作成では以下のような流れにてFlowを作成しています。
- トリガーには出荷完了(order fullfilled)を選定しています。これは、注文後にキャンセルや変更があると混乱が生じることが多いためです。Waitを入れることで出荷完了から付与までを遅らせることも可能です。
- 条件にて、注文に登録されている顧客をチェックし、タグに該当するランクがあるかを上から順番にチェックします。(複数のランクタグが誤って付与されていた場合に、上位のランクを優先するため)
- アクションは、ランクがIVなら5%、IIIなら4%、といった形で該当したタグごとに、購入金額にポイント還元率を掛けて小数点以下を切り捨てるようLiquidのフィルタを使って記載します。
- 該当しなかった会員ランクが付与されていないの処理を最後の条件の「それ以外の場合」場合に記述しています。標準のポイント機能を運用する場合は不要になります。
- 実行結果が失敗だった場合はエラーを検知できるようにしておくことをおすすめいたします。(例ではLogOutputとなっていますが、実際にはEmailを送信するなど)
実行結果
実行する前に、テスト顧客にタグを付与しておきます。(確認のためタグなしで購入を行い、その後ランク4を付与して再度購入を行いました)
FLowの実行
Flowを有効化し注文を出荷完了にすると、作成したFlowが実行されます。Flow完了後はポインポン側の処理待ちとなります。
付与の確認
タイミングにより前後しますが10分前後の時間をかけて順次処理が行われ、実行が完了すると以下のようにポイントが付与されます。
内容欄を標準と同じ表記にする場合は、「ご購入ポイント[{{order.name}}]」と記載することで注文番号が入ったデフォルトの形となります。ランク表記などを入れる場合は内容欄に32文字までの制限がありますのでご注意ください。
注意点など
通常のポイント付与機能との併用を行う場合、付与されるタイミングが異なるためご注意ください。ボーナスポイントなどの名称としておき、後日付与となるご案内など、対応方法をご検討ください。
購入をトリガーとするにも、Shopifybの標準トリガーや、外部のアプリのトリガーなどを使用してポイントを付与することも可能です。
上記サンプルは購入金額に還元率をかけて付与するシンプルなものになっています。実際の付与ポイントについては、税や送料などを計算の対象に含めるかどうかによって計算元とする金額を調整したり、対象外商品の設定を入れたりするなど、ストアに合わせた内容となるよう仕様をご検討ください。