ここでは、Shopify Flowについて、ざっくりまとめてみました。
Shoify Flowとは
様々な業務をフロー形式で自動化するアプリです。
在庫管理や注文処理、顧客サポートなどを行うことができる。
※すでにインストールされている場合はそのまま使えますが、ない場合はアプリストアからインストールする必要があります。
基本的には以下3ステップでの実装になります。
・トリガー
・条件
・アクションブロック
※トリガーからアクションとなる場合もある
注文があった場合に トリガー
予約商品というタグがあれば 条件
注文管理でも予約商品というタグをつける アクション
1.
Shopifyが持っているトリガー、もしくはアプリが持っているトリガーをつかう
2.
条件かアクションを選ぶ
基準を追加する
lineitems > product > tags
Equal to 全く同じか
Includes 含んでいるか
Des not include 含んでいないか
予約商品(タグ)が買われたら
Bogus Gateway
注文するとタグが注文管理に追加される
無料ラッピングのチェックボックスにチェックされた状態で購入があれば
注文管理で無料ギフトラッピングのタグを付ける
アクションを選んで Add order tags Tagをリキッドで書く
{% for gift in order.customAttributes %} {% if gift.key contains "オプション:" %} {{ gift.value }} {% endif %} {% endfor %}
Cart attributes
name="attributes[任意名称]"
アカウント作成時にチェックがあれば
顧客管理でタグを付ける
Customer created > 「Update customer metafield」 >Add customer tags
<div class="accepts-marketing"> <input type="hidden" name="customer[note][member]" value="" /> <input type="checkbox" id="member_btn" name="customer[note][member]" /> <label for="accepts-marketing">特定会員を希望する</label> </div> <div class="school"> <select name="customer[note][school]" style="border:1px solid #333;"> <option value="第一小学校">第一小学校</option> <option value="第二小学校">第二小学校</option> <option value="第三小学校">第三小学校</option> </select> </div>
//誕生月の場合 {%- assign notes = customer.note | strip | newline_to_br | split: '<br />' -%} {%- for note in notes -%} {%- if note contains 'Birthday: ' -%} {{ note | replace: 'Birthday: ', '' | date: '%-m' }} {%- endif -%} {%- endfor -%} //特定会員の場合 {%- assign notes = customer.note | strip | newline_to_br | split: '<br />' -%} {%- for note in notes -%} {%- if note contains 'on' -%} {{ note | replace: 'on', '特定会員希望' | date: '%-m' }} {%- endif -%} {%- endfor -%}
登録したら顧客のメタフィールドがアップデートされる
顧客新規アカウントで誕生日の項目を設けている
Customer created > Update customer metafield
customer.note メモ欄
strip 前後の空白を削除
newline_to_br 改行のHTMLの箇所をbrタグに変更する
split 分ける '<br>'