【Shopify Flow活用】Shopify Flowを使って「LINEクーポン」を送る方法

少し前ですが、2025年8月にLINE DevelopersにてMessaging APIでLINEクーポンを送信するエンドポイントが新たに公開されました。

これまで、LINE公式アカウントの「クーポン機能」は、Shopify Flowなどの外部ツールを使って、特定のタイミングで自動送信することは難しく、LINE Official Account Manager(管理画面)から手動で配信設定を行うことが前提となっていました。

しかし、このアップデートにより、「Shopifyでの特定のアクションをトリガーにして、LINEクーポンを自動で送る」ことが可能になり、マーケティング施策の幅がまたひとつ広がりました!

この記事では、Shopify Flowの「Send HTTP Request」アクションを活用して、「LINEのID連携をしてくれたお客様に、自動でLINEクーポンを送る」方法について解説します。

なお、本記事の手順では、Shopifyアプリ「CRM PLUS on LINE」を利用していることを前提としています。未インストールの場合は、あらかじめShopifyアプリストアからインストールを行ってください。

LINE公式アカウントのクーポン機能とは?

前提として、LINE公式アカウントの「クーポン」とは、LINEアプリ上で表示・管理できる電子クーポン機能のことです。 基本機能については、以下の記事でも詳しく解説しています。

一方、Shopifyをご利用されているマーチャント様はShopifyの「ディスカウント」機能をよくご利用されるかと思いますので、違いをまとめます。

Shopifyのディスカウントコードとの違い

項目ShopifyディスカウントコードLINEクーポン(今回の内容)
主な用途ECサイト上での購入実店舗での利用
利用方法ECサイト上でチェックアウト画面でディスカウントコードを入力店舗スタッフに提示し、「使用済み」にする
ECサイトでの自動適用◎(条件に一致すれば自動割引も可)×(Shopifyの決済とは連動しません)
設定・管理Shopifyの管理画面LINE Official Account Manager

使い分けのイメージ

▼ECサイトで割引を適用させたい場合

  • Shopifyディスカウントコード をテキストメッセージやFlex Message等で送ってください。
  • LINEクーポン機能では、Shopifyのカートで割引を自動適用することはできません。

※ Shopifyディスカウントコードの自動配信については、こちらの記事(LINE連携時にクーポンをLINEで自動送信) などを参考にしてください。

▼実店舗に来店してもらい、レジで画面を見せてもらう場合

  • LINEクーポン が適しています。
  • お客様自身や店舗スタッフがボタンをタップして「使用済み」にする機能(消し込み)が標準で付いており、オペレーションがスムーズです。

今回は、この「実店舗での利用」や「使用済み管理」に強いLINEクーポンを、Shopifyの顧客アクション(ID連携)をきっかけに自動送信する仕組みを作っていきます。

クーポンAPIを使う前の準備

Shopify FlowでLINEクーポンを送るためには、事前準備が必要です。

  • 手順1.LINE Official Account Manager上でクーポンを作成
  • 手順2.LINE DevelopersでMessaging APIチャネルのアクセストークン(長期)を取得

手順1. LINE Official Account Manager上でクーポンを作成

LINE Official Account Managerの「クーポン」を開き、新規作成をします。

「クーポン」から新規作成

有効期限や使用回数、クーポンタイプなどを設定してください。
画像などを設定しておくのもオススメです!
⚠️一度「保存」したクーポンは、あとから編集・削除できませんのでご注意ください

ここでは例として「LINEアカウント連携クーポン」というクーポン名で登録をしておきます。

「LINEアカウント連携クーポン」を登録

手順2. Messaging APIチャネルのアクセストークン(長期)を取得

次に、LINE Developersにログインし、「プロバイダ > Messaging APIチャネル」を確認します。

「Messaging API設定」タブを開き、ページ最下部にある「チャネルアクセストークン(長期)」を発行し、コピーして控えておいてください。

「チャネルアクセストークン(長期)」を発行、コピー

⚠️アクセストークンは機密情報ですので、漏洩しないよう取り扱いには十分ご留意ください。

Shopify Flowの設定

準備ができたら、いよいよShopify Flowの設定です。

全体図

これまでの横レイアウトから縦レイアウトに変更されて、表示が大きく変わりましたね!上から、トリガーが始まって下にアクションが続いていきます。

ワークフロー全体図

手順1. トリガーの設定

CRM PLUS on LINEの「Add – 顧客にソーシャルログインの連携が追加されました」を選択してください。

トリガーの設定

※本手順では、Shopifyアプリ「CRM PLUS on LINE」を利用しています。未インストールの場合は、Shopifyアプリストアからインストールを行ってください。

手順2. 条件の設定:重複回避用のタグを確認

クーポンを何度も送らないように制御します。

後ほど、クーポン送信済みの方には顧客タグ「lineCouponSent」を付与する設定にしますので、この条件ブロックでこのタグを持っているか確認します。

タグの確認

次のアクションには、「偽」から繋げてください。(タグを持っていない=まだ送っていない人に送るため)

手順3. アクションの設定:アクティブなLINEクーポン一覧を取得する

ここから少しテクニカルになります。「Send HTTP Request」アクションを使用し、LINEのAPIを叩いて設定済みのLINEクーポン一覧を取得します。

設定済みのLINEクーポン一覧を取得

アクション内には以下の項目を入力してください。

HTTP Method: GET

  • URL:https://api.line.me/v2/bot/coupon?status=RUNNING (LINEクーポンを取得するためのAPIです)
  • Headers:
    • Key:Authorization
    • Value:Bearer (取得したアクセストークン)

※チャネルアクセストークンは、必ずシークレットに保管し、「シークレットを追加」から埋め込んでください。(平文で書かないようにしてください)

※「Bearer」とアクセストークンの間には必ず半角スペースを追加してください。

「シークレットを追加」に埋め込み

手順4. アクションの設定:Run codeで該当のクーポンIDを取得する

次にRun codeに接続します。

APIで取得したクーポン一覧データの中から、今回送りたいクーポンのタイトル(手順1-1で設定した「LINEアカウント連携クーポン」)を探し出し、その couponID を抽出するJavaScriptコードを実行します。

JavaScriptコードを実行
Input

前のアクション(Send HTTP Request)から返ってきた値を指定します。

query{
  sendHttpRequest1{
    body
  }
}
Output

アウトプットの名称を「couponID」として文字列で定義します。

type Output {
  couponID: String!
}
JavaScript

有効なクーポンの中から手順1-1で設定した「LINEアカウント連携クーポン」という名前のクーポンIDを取得するためのスクリプトです。

export default function main(input) {
  const body = JSON.parse(input.sendHttpRequest1.body);
  const items = body.items || [ ];

  // タイトルに "LINE ID連携" を含むクーポンを検索
  const target = items.find(c => c.title.includes("LINE ID連携"));

  return {
    couponID: target ? target.couponId : null
  };
}

※コード内の sendHttpRequest1 部分は、ご自身で設定した変数名に合わせて変更してください

手順5. アクションの設定:APIでLINEクーポンを送る

抽出したクーポンIDを使って、実際にLINEクーポンを送信します。再度「Send HTTP Request」アクションを使用します。

「Send HTTP Request」アクションを使用

HTTP Method: POST

  • URL:https://api.line.me/v2/bot/message/push (LINEのメッセージを送るためのAPIです)
  • Headers:
    • Key:Authorization
    • Value:Bearer (取得したアクセストークン)
    • Content-Type:application/json
  • Body:
{
  "to": "{{customer.lineUid.value}}",
  "messages": [
    {
      "type": "coupon",
      "couponId": "{{runCode.couponID}}"
    }
  ]
}

手順6. アクションの設定(2):クーポン送付済みの方にタグを付与する

最後に、「Add customer tags」アクションを使って、送信済みの顧客に lineCouponSent タグを付与します。これで、次回以降同じ人にクーポンが重複して送られるのを防ぐことができます。

クーポン送付済みユーザーにタグを付与

補足:Log output

API連携を含むFlowは、どこでエラーが起きているか分かりにくい場合があります。

各アクションの間に「Log output」アクションを挟んで、取得したデータの中身を確認しながら設定を進めるのがおすすめです!

まとめ

今まで外部ツールからは送れなかったLINEクーポンが、API経由で送れるようになったのは非常に便利ですね。 特に、「実店舗に来店して使ってほしい」「スタッフに見せて消し込みを行いたい」というシーンでは、Shopify標準のコードよりも、LINE公式アカウントのクーポン機能のほうがオペレーションが楽になるケースもあります。

ぜひ目的に応じて、ShopifyディスカウントコードとLINEクーポンを使い分けてみてください!

児玉尚平

株式会社ソーシャルPLUS CSチーム
LINE連携Shopifyアプリ「CRM PLUS on LINE」のカスタマーサクセスとして、導入時~導入後の活用まで幅広くサポート。前職にてRPA/iPaaSのベンダーでEC事業者などをサポートしてきた経験を活かし、ワークフロー自動化アプリ「Shopify Flow」との連携による配信自動化なども支援を行っている。

Shopify LINE連携メッセージ配信
タイトルとURLをコピーしました