
少し前ですが、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アカウント連携クーポン」というクーポン名で登録をしておきます。

手順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クーポン一覧を取得します。

アクション内には以下の項目を入力してください。
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コードを実行します。

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」アクションを使用します。

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クーポンを使い分けてみてください!

