# クーポンを作成してユーザーに送る

Messaging APIでクーポンを作成して、LINE公式アカウントからユーザーにメッセージとして送信できます。

# Messaging APIでクーポンを送る手順

Messaging APIでは、次の2つの手順でユーザーにクーポンが送れます。

  1. クーポンを作成する
  2. クーポンを送信する
クーポンはLINE Official Account Managerでも送信できます

クーポンはMessaging APIの他に、LINE Official Account Manager (opens new window)でも作成して送信できます。詳しくは、『LINEヤフー for Business』の「クーポン (opens new window)」を参照してください。

# クーポンを作成する

まずは「クーポンを作成する」エンドポイントでクーポンを作成します。

curl -v -X POST https://api.line.me/v2/bot/coupon \
-H 'Authorization: Bearer {channel access token}' \
-H 'Content-Type: application/json' \
-d \
'
{
  "title": "友だち限定クーポン",
  "description": "- クーポンを使用するには、この画面をスタッフに提示してください。\n- 使用済みのクーポンはご利用になれません。また、お客さまの操作で誤って「使用済み」にしてしまった場合も利用できなくなります。\n- 本クーポンは有効期間に関わらず、予告なく変更されたり、終了したりする場合があります。",
  "reward": {
    "type": "discount",
    "priceInfo": {
      "type": "fixed",
      "fixedAmount": 100
    }
  },
  "acquisitionCondition": {
    "type": "normal"
  },
  "startTimestamp": 0,
  "endTimestamp": 1924959599,
  "imageUrl": "https://developers.line.biz/media/messaging-api/coupon/sample-coupon-image-100-yen-off.jpg",
  "timezone": "ASIA_TOKYO",
  "visibility": "UNLISTED",
  "maxUseCountPerTicket": 1
}'

クーポンを作成すると、レスポンスでクーポンIDが返されます。

{
  "couponId": "01JYNW8JMQVFBNWF1APF8Z3FS7"
}

クーポンを作成する際は、リクエストボディのacquisitionCondition.typelotteryにして「抽選形式で当選したユーザーのみ獲得できる」という獲得条件を設けたり、リワードオブジェクトreward)で「50%割引」や「100円キャッシュバック」といった特典を細かく設定したりできます。

詳しくは、『Messaging APIリファレンス』の「クーポンを作成する」を参照してください。

クーポンを作成したら、続いてクーポンを送信する手順に進みます。

# 作成したクーポンは修正できません

作成したクーポンは、後から内容を修正できません。クーポンの内容を変更したい場合は、クーポンを終了させて、新たに作成しなおしてください。

なお、LINE Official Account Managerを使ってクーポンを作成する場合は、「下書き」の状態で保存できますが、Messaging APIでクーポンを作成するときは「下書き」状態にはできません。

# クーポンを送信する

クーポンを作成してクーポンIDを取得したら、そのクーポンIDをクーポンメッセージで指定して送信します。クーポンIDが分からなくなってしまった場合は、クーポンの一覧を取得して確認できます。

curl -v -X POST https://api.line.me/v2/bot/message/broadcast \
-H 'Authorization: Bearer {channel access token}' \
-H 'Content-Type: application/json' \
-d '
{
  "messages": [
    {
      "type": "coupon",
      "couponId": "01JYNW8JMQVFBNWF1APF8Z3FS7"
    }
  ]
}'

クーポンメッセージは、以下のすべてのメッセージとして送信できます。また、Messaging APIで作成したクーポンをLINE Official Account Managerでメッセージとして送信することもできます。

ユーザーは届いたクーポンを開いて獲得することで、有効期間内にクーポンを使用できます。

# クーポンを終了する

クーポンは、作成時に指定した有効期間を過ぎると自動的に終了しますが、有効期間中に「クーポンを終了する」エンドポイントを用いて手動で終了させることもできます。

curl -v -X PUT https://api.line.me/v2/bot/coupon/01JYNW8JMQVFBNWF1APF8Z3FS7/close \
-H 'Authorization: Bearer {channel access token}' \
-H 'Content-Type: application/json'

クーポンを終了させると、すでにクーポンをメッセージとして受信していたユーザーがクーポンを獲得できなくなると共に、そのクーポンを獲得済みのユーザーも利用できなくなります。

終了したクーポンを再び有効にすることはできません。

詳しくは、『Messaging APIリファレンス』の「クーポンを終了する」を参照してください。

# 作成済みのクーポン一覧を確認する

作成したクーポンのクーポンIDとクーポン名は、「クーポンの一覧を取得する」エンドポイントで確認できます。

curl -v -X GET https://api.line.me/v2/bot/coupon \
-H 'Authorization: Bearer {channel access token}'

このクーポンの一覧には、Messaging APIで作成したクーポンだけでなく、LINE Official Account Manager (opens new window)で作成したクーポンも含まれており、同じ一覧がLINE Official Account Managerでも確認できます。

{
  "items": [
    {
      "couponId": "01JZMWQ9HMDW9ENJP4C167CXP8",
      "title": "年末年始クーポン"
    },
    {
      "couponId": "01JZA9NPPFDJ3RFG8NA9DJ0NQT",
      "title": "友だち限定クーポン"
    }
  ]
}

クエリパラメータのstatusを用いて、有効なクーポンのみ、あるいは終了したクーポンのみを取得することもできます。詳しくは、『Messaging APIリファレンス』の「クーポンの一覧を取得する」を参照してください。

# クーポンの詳細を確認する

クーポンの詳細を取得する」エンドポイントを使うと、クーポンIDを指定して特定のクーポンの詳細を確認できます。

curl -v -X GET https://api.line.me/v2/bot/coupon/01JYNW8JMQVFBNWF1APF8Z3FS7 \
-H 'Authorization: Bearer {channel access token}'

Messaging APIで作成したクーポンだけでなく、LINE Official Account Managerで作成したクーポンの詳細も取得できます。

{
  "couponId": "01K0B456W5Y6SBD3YH74YM6QE6",
  "title": "友だち限定クーポン",
  "description": "- クーポンを使用するには、この画面をスタッフに提示してください。\n- 使用済みのクーポンはご利用になれません。また、お客さまの操作で誤って「使用済み」にしてしまった場合も利用できなくなります。\n- 本クーポンは有効期間に関わらず、予告なく変更されたり、終了したりする場合があります。",
  "acquisitionCondition": {
    "type": "lottery",
    "lotteryProbability": 50,
    "maxAcquireCount": -1
  },
  "startTimestamp": 1752678000,
  "endTimestamp": 1924959540,
  "timezone": "ASIA_TOKYO",
  "couponCode": "COUPONCODE123456",
  "maxUseCountPerTicket": 1,
  "maxTicketPerUser": 1,
  "visibility": "UNLISTED",
  "reward": {
    "type": "discount",
    "priceInfo": {
      "type": "fixed",
      "fixedAmount": 100,
      "currency": "JPY"
    }
  },
  "imageUrl": "https://oa-coupon.line-scdn-dev.net/0h9gbUqRVkZkhfLHhXMLYZHwdyaCosWGBAPFR7cD5tZidsTnofYDVfezt-ZAR3YER9OzRfK35XZwR6TH5uYDF2TnJ-cBNyfURpPRl2RSFSXQc0TiJhYCFiXiZ8XXk0",
  "usageCondition": "1,000円以上のお支払いで利用可能",
  "status": "RUNNING",
  "createdTimestamp": 1752720120
}

詳しくは、『Messaging APIリファレンス』の「クーポンの詳細を取得する」を参照してください。

# 送信したクーポンの表示回数や使用回数を確認する

メッセージとして送信したクーポンが表示された回数や、使用された回数などはLINE Official Account Manager (opens new window)で確認できます。詳しくは、『LINEヤフー for Business』の「分析 - クーポン (opens new window)」を参照してください。

# クーポンの画像が表示されるサイズ

クーポンの画像は、クーポンの作成時にimageUrlで画像のURLを指定することで表示できます。正方形の画像を指定した場合、トーク画面ではアスペクト比が1.51:1(幅:高さ)になるため、画像の上下が一部切れた状態で表示されます。

クーポンの画像はどうやって作ればいい?

クーポンの画像は『LINEヤフーマーケティングキャンパス』の「無料でもらえるテンプレート画像まとめ (opens new window)」や、LINE Creative Lab (opens new window)のテンプレートを利用することもできます。

Sample coupon image