catch-img

eコマース自動化ソリューション Shopify Flow の使い方

Shopify Flowは Shopify社が提供するアプリで、ストア内およびアプリ全体のタスクとプロセスを自動化できるeコマース自動化プラットフォームです。ストアのイベントを監視し、特定の条件を満たした場合に自動的に実行されるアクションをあらかじめ設定しておくことで、業務の効率化を図ることができます。言わばルールベースのRPAですね。


目次[非表示]

  1. 1.Trigger, Condition, Action
  2. 2.【アプリ】Shopify Flowの基本
  3. 3.ワークフローの作成手順


Trigger, Condition, Action

Shopify Flowの事前定義(ワークフローと呼ばれます)は下記のパターンに従います。

Trigger
トリガーはワークフローを開始するためのストアまたはアプリで発生するイベントです。
Condition
アクションを実行するための条件を設定します。
Action
ShopifyFlowで実行したい Shopifyへの変更内容を定義します。


ワークフロー作成時の留意事項

ワークフローを作成する前に次の考慮事項を確認してください。

・ワークフローはできるだけ早く実行されます。ただしトリガーがワークフローを開始してからアクションが完了するまでに遅延が生じる場合があります。ワークフロー完了にかかる時間は定義されていません。

・注文、製品、または顧客に関連付けられたタグが250を超える場合、タグを含む条件を含むワークフローが機能しない可能性があります。

・ワークフローを手動で実行することはできません。すべてのワークフローは Flowまたはアプリからのトリガーで開始する必要があります。ただしストアオーナーが Shopify管理画面から、個々の注文、下書き注文、顧客、または製品に対して手動で実行することができます。



【アプリ】Shopify Flowの基本

前述の Trigger、Condition、Actionを設定するだけです。該当するイベントが発生し、条件に合致したとき Actionに指定した処理が自動的に実行されます。例えば、注文発生時に特定の商品が購入されている場合に注文情報に特別なタグをつけることで、後のデータ抽出や集計・分析などのシーンで作業が楽になります。なお、このようなワークフローのテンプレートが多数用意されているので、テンプレートをカスタマイズして利用することが多いでしょう。



ワークフローの作成手順

ワークフローの作成

Shopifyのダッシュボードのメニューで「アプリ管理」をクリックし、表示されたアプリの一覧から「Shopify Flow」を選択して、Shopify Flowの画面を表示します。そして「ワークフローを作成」ボタンをクリックします。


テンプレートから事前定義されたワークフローを作成することも可能ですが、今回は手動でのワークフロー作成を行うため「トリガーを選択」ボタンを押下します。



トリガーの選択

Shopify Flowで事前に定義されているイベントから「Trigger」となるイベントを選択します。


Shopifyのイベントには下記のものがあります。また、これ以外に「その他のアクションを増やす」でパブリックアプリのイベントを追加することもできます。


Collection created
コレクションが作成された
Collection deleted
コレクションが削除された
Customer account disabled
顧客のアカウントが無効になった
Customer account enabled
顧客のアカウントが有効になった
Customer Created
新規顧客が作成された
Customer deleted
顧客が削除された
Draft order created
下書き注文が作成された
Draft order deleted
下書き注文が削除された
Fulfillment created
フルフィルメントが作成された
Fulfillment event created
フルフィルメントイベントが作成された
Inventory item created
在庫アイテムが作成された
Inventory item deleted
在庫アイテムが削除された
Inventory quantity changed
在庫数量が変わった
Order cancelled
注文がキャンセルされた
Order created
注文が作成された
Order deleted
注文が削除された
Order fulfilled
注文がフルフィルメントされた
Order paid
注文が支払われた
Order reader to fulfill
在庫がありリスク分析済みで、注文のフルフィルメントが可能になった
Order ridk analyzed
注文がリスクありと分析された
Order transaction created
注文取引が作成された
Product added to store
商品が追加された
Product deleted
商品が削除された
Product status updated
商品のステータスが更新された
Product variant added
商品のバリエーションが追加された
Product variant deleted
商品のバリエーションが削除された
Refund created
返金が作成された
Sunscription Contract Created
サブスクリプション契約が作成された
Tender transaction created
マーチャントと顧客の間で金銭の受け渡しが行われた後、入札取引イベントが発生したとき


今回は「Order Created」のイベントを選択しました。右下の「Output」の横の(+)をクリックすると下図のように後続条件が示されます。「Condition」を設定するために「条件」を選択します。



コンディションの設定

「Condition」を選択します。


「基準を追加する」を選択します。複数の条件をすべて満たす必要がある場合は「すべての条件が満たされている場合」を、複数の条件のうちの1つでも条件を満たせばよい場合は「いずれかの条件が満たされている場合」を選択します。


続いて表示される選択肢より利用する条件項目を設定します。表示項目は、ストアから取得できるデータで、GraphSQL Admin APIから抽出されます。詳細は下記のサイトをご覧ください。

GraphQL Admin API reference

Shopify Flowの条件


データ(オブジェクト)を選択します。


例えば、Orderの場合は下記のようなオブジェクト(データ)を条件にすることができます。


agreements
注文に関する販売契約のリスト
alerts
管理画面の注文に表示されるメッセージ
app
注文を作成したアプリケーション
billingAddress
顧客の支払住所
billingAddressMatchsShippingAddress
顧客の支払住所と配送住所が合致するかどうか
canMarkAsPaid
注文を手動で支払済みとマークするかどうか
canNotifyCustomer
注文に顧客のメールアドレスが存在するかどうか
cancelReason
注文キャンセルの理由
cancelledAt
注文キャンセルされたときの日時
capturable
支払が回収可能かどうか
cartDiscountAmountSet
返品前の注文単位での割引額
channelInformation
注文を作成したチャネルの詳細
clientIp
注文を作成した APIクライアントのIPアドレス
closed
注文がクローズしているかどうか
closedAt
注文がクローズした日時
confirmed
注文に対する在庫が確保されているかどうか
createdAt
注文が作成された日時
currencyCode
注文が作成されたときのショップの通貨
currentCartDiscountAmountSet
注文が更新されたときの注文単位の割引額
currentSubtotalLineItemsQuantity
注文の小計金額に対する商品数量の合計
currentSubtotalPriceSet
割引および返品後の全商品の価格合計
currentTaxLines
返品後の全商品に適用される税金のリスト
currentTotalDiscountsSet
返品後の注文の割引額合計
currentTotalDutiesSet
返品後の関税の合計額
currentTotalPriceSet
返品後の注文金額合計
currentTotalTaxSet
全商品に適用される税金合計
currentTotalWeight
返品後の商品重量合計(グラム)
customAttributes
注文に追加されたカスタム属性のリスト
customer
注文主
customerAcceptsMarketing
顧客がマーケティングに同意したかどうか
customerJourneySummary
注文前にストアに来ていたかどうか
customerLocale
顧客のロケール(例 ja-JP)
discountApplications
注文に適用される割引のリスト
discountCode
注文に使われた割引コード
displayAddress
顧客のプライマリの住所
displayFinaicialStatus
マーチャントに表示可能な注文の財務状態
displayFulfillmentStatus
マーチャントに表示可能なフルフィルメント状態
disputes
注文に関する係争のリスト
edited
注文が編集されたかどうか
email
顧客に紐づいたメールアドレス
estimatedTaxes
税金が見積もられたかどうか
events
注文に紐づいたイベント
fulfillable
全商品がフルフィルメント可能かどうか
fulfillmentOrders
フルフィルメントのリスト
fulfillments
配送のリスト
fullyPaid
すべての支払が済んでいるかどうか
hasTimelineComment
タイムラインコメントを追加したかどうか
id
全世界でユニークなID
legacyResourceId
REST Admin APIの対応するリソースID
lineItems
注文明細のリスト
localizationExtensions
リソースのローカライズ拡張のリスト
merchantEditable
マーチャントによって編集可能な注文かどうか
merchantEditableError
注文を編集できない理由
metafieldDefinitions
メタフィールドの定義
metafields
リソースに属するメタフィールドのリスト
name
管理画面の注文を識別する一意の値(例 #1001)
netPaymentSet
注文金額から返金金額を差し引いた純支払額
nonFulfillableLineItems
フルフィルメントできない商品明細のリスト
note
注文に紐づけられた備考
originalTotalDutiesSet
返金前の関税合計
originalTotalPriceSet
注文作成時の注文金額合計
paymentCollectionDetails
注文の代金回収の詳細
paymentGatewayNames
注文のペイメントゲートウェイのリスト
paymentTerms
注文に紐づけられた支払条件
phone
顧客に紐づけられた電話番号
physicalLocation
注文作成時にアサインされたロケーション
presentmentCurrencyCode
顧客の支払通貨コード
privateMetafields
リソースに属するプライベートメタフィールド
processedAt
注文が処理された日時
publication
注文が作成された刊行物
refundDiscrepancySet
返金の提案額と実際の返金額の差額
refundable
返金可能かどうか
refunds
実際の返金額の内容
registeredSourceUrl
注文の発信元URL
requiresShipping
出荷が必要な注文かどうか
restockable
注文のどの商品も再入荷可能かどうか
riskLevel
不正リスクのレベル
risks
注文に紐づけられたリスク
shippingAddress
顧客の送り先
shippingLine
送料の合計
shoppingLines
配送の明細
sourceIdentifire
一意のPOSまたはサードパーティ注文の識別子
subtotalLineItemsQuantity
明細の商品数量の合計
subtotaPriceSet
返品前かつ割引後の明細金額合計
suggestedRefund
返金の提案額
tags
注文に紐づけられたタグのカンマ区切りのリスト
taxLines
税金明細
taxesIncluded
明細合計に税金が含まれているかどうか
test
テスト注文かどうか
totalCapturableSet
回収不可または回収不足と認められた額
totalDiscountsSet
返品前の割引総額
totalOutstandingSet
注文の未取引の合計金額(売掛金・買掛金)
totalPriceSet
返品前の注文金額合計
totalReceivedSet
顧客から受け取った返品前の合計金額
totalRefunedSet
返金金額合計
totalRefundedShippingSet
返金された送料合計
totalShippingPriceSet
返品、割引前の送料合計
totalTaxSet
返品前の税金合計
totalTipReceivedSet
チップの合計
totalWeight
返品前の商品重量の合計
transactions
注文に紐づけられたトランザクションのリスト
unpaid
注文に対する支払が行われてないかどうか
updatedAt
注文の最終更新日時


条件を設定します。下図はオブジェクトに「lineItems」の「name」を選択した状態です。


比較演算子としては次のものが選べます。後続の入力フィールドに指定した値との比較方法を示すものです。


Equal to
~と等しい
Not equal to
~と等しくない
Includes
~を含む
Does not include
~を含まない
Any of
~のいずれか
Not any of
~のいずれでもない
Starts with
~で始まる
Does not start with
~で始まらない
Ends with
~で終わる
Does not end with
~で終わらない


そして値を設定します。例えば、商品名に「非売品」が含まれる商品を条件にする場合は下記のように設定します。


オブジェクト
lineItems_item.name(Order→lineItems→nameを選択)
比較演算子
includes
非売品


複数の条件を設定する場合は「基準を追加」を選択します。条件追加が不要な場合、「Then」か「Otherwise」を選択し、「Action」の指定を行います。なお、「Otherwise」は条件に該当しない場合を示します。



アクションの設定

続いてアクションの設定です。前述の条件を満たしたときに実行する命令を選択して、オプションを指定します。アクションには下記のものがあります。


Add customer tags
顧客にタグをつける
Add draft order tags
下書き注文にタグをつける
Add order line item
注文に商品を追加する
Add order tags
注文にタグをつける
Add product tags
商品にタグをつける
Add product to collections
商品をコレクションに追加する
Archive order
注文をアーカイブする
Cancel order
注文をキャンセルする
Capture payment
支払を回収する
Create redirect URL
ストアフロントの訪問者にリダイレクトURLを作成する
Delete redirect URL
合致するリダイレクトURLを削除する
Hide product
商品を非表示にする
Hold Fulfillment Order
特定の注文のためすべてのフルフィルメント注文を保留する
Mark order as paid
注文を支払済みにする
Prepare shipping labels
出荷ラベルのドラフトを作成する
Publish product
商品を有効にする
Remove collection metafields
コレクションのメタフィールドを削除する
Remove customer metafields
顧客のメタフィールドを削除する
Remove customer tags
顧客のタグを削除する
Remove draft order metafields
下書き注文のメタフィールドを削除する
Remove draft order tags
下書き注文のタグを削除する
Remove order metafields
注文のメタフィールドを削除する
Remove order tags
注文のタグを削除する
Remove product from collections
商品をコレクションから削除する
Remove product metafields
商品のメタフィールドを削除する
Remove product tags
商品のタグを削除する
Remove product variant metafields
商品バリエーションのメタフィールドを削除する
Remove shop metafields
ショップのメタフィールドを削除する
Send HTTP request
HTTPリクエストによりアプリなどに接続する
Send email
メールを送信する
Send fulfillment request
フルフィルメントをサポートする品目について選択されたサービスにフルフィルメントを要求する
Unarchive order
アーカイブされた注文を戻す
Update collection metafields
コレクションのメタフィールドを更新する
Update customer metafields
顧客のメタフィールドを更新する
Update draft order note
注文の備考を更新する
Update order metafields
注文のメタフィールドを更新する
Update product metafields
商品のメタフィールドを更新する
Update product variant metafields
商品バリエーションのメタフィールドを更新する
Update shop metafields
ショップのメタフィールドを更新する
Wait
指定した時間だけ待機する


下図は条件を満たしたときに注文の備考欄にあらかじめ決められた文言を追加するアクションを選択した場合の画面イメージです。「Note」に任意の文字列を入力して、最後に「ワークフローをオン」ボタンをクリックすると、ワークフローが有効になります。


以上が Shopify Flowの簡単な説明と設定方法です。




ワークフローは実行の際に遅延が発生する場合があることや、あらかじめ定義されているアクションしかできないこと、選択肢などがすべて英語なので、英語に抵抗のある方は敷居が高いなど、少しもどかしいところもあります。また、自動化というのは、店長のお仕事の負担を軽減できる反面、設定を誤ると事故にも繋がりかねませんので、注意して設定する必要があります。まずは上記の例のように、注文の備考欄に文言を追加する等の、ストアのお客様に直接影響することのない設定で十分に試したうえで次のステップに進むことをおすすめします。


トランスコスモスShopifyエンジニア
トランスコスモスShopifyエンジニア
トランスコスモスは日本で7社しかない最上位の「Shopifyプラスパートナー」です。最上位認定を堅持しShopifyでのECサイト制作・Shopifyアプリ開発を担うのが、トランスコスモスShopifyエンジニアチームです。Shopifyアプリの解説・紹介、Shopify基本的な使い方など制作や開発の過程で得られら知見をご紹介します。

Shopifyアプリ解説・紹介記事


【無料】セミナー動画視聴


EC関連サービス


トランスコスモスのEC全領域を網羅するサービス



採用情報(求人)


従業員(メンバー)インタビュー


トランスコスモスの定量的な強み


Shopify「など」お問い合わせフォーム

例:山田 太郎
会社でお使いのメールアドレスをご記入ください。
お気軽に
お問い合わせください

Shopify(ショッピファイ)
ECストア構築・運用代行

トランスコスモスは日本に7社しかない最上位の「Shopifyプラスパートナー」企業です
shopify専用倉庫スピードロジ

【週間ランキング】Shopify人気記事

 Tag(タグ)一覧

 記事検索

 記事カテゴリー

 【無料】募集中セミナー

正社員募集(求人)

 【無料】資料ダウンロード

Shopify認定パートナー企業

トランスコスモスは日本に7社しかない最上位の「Shopifyプラスパートナー」です。
Shopifyでのサイト制作ならお任せください


ECソリューションをお届けするサービスサイト

トランスコスモス株式会社
デジタルトランスフォーメーション総括 ECX本部

〒150-0011
東京都渋谷区東1-2-20
渋谷ファーストタワー
050-1751-7700(代表)


経済産業省が定める「DX認定事業者」
トランスコスモスは経済産業省が定める「DX認定事業者」

トランスプラス
トランスコスモスの全社的な情報を発信するオウンドメディア

cotra
コンタクト/コールセンターに携わる方への情報サイト
shopify構築・制作・運用
shopify構築・制作・運用