# LINEミニアプリ APIリファレンス

# サービスメッセージ

サービスメッセージAPIを使用すると、サービスからLINEミニアプリのユーザーに、サービスメッセージを送信できます。

サービスメッセージを送信するには、サービス通知トークンとテンプレートが必要です。

# サービス通知トークンを発行する

サービス通知トークンを発行します。サービス通知トークンを使用すると、紐づけられたユーザーに対してサービスメッセージを送信できます。

サービス通知トークンの特徴は以下のとおりです。

  • サービス通知トークンは、発行から1年間(31,536,000秒間)有効です。有効期限が切れるまでに、最大5回サービスメッセージを送信できます。
  • サービス通知トークンを使用すると、有効期限が切れておらず、残りの送信可能回数が0でない場合は、サービス通知トークンの値が更新されます。ユーザーに対して、後続のサービスメッセージを送信する場合は、更新後のサービス通知トークンを保存してください。
1つのアクセストークンで複数のサービス通知トークンを発行しないでください

liff.getAccessToken()で取得したアクセストークン(LIFFのアクセストークン)を再利用して、複数のサービス通知トークンを発行することは許可されていません。

LIFFのアクセストークン1つにつき、発行できるサービス通知トークンは1つだけです。

注意

サービス通知トークンは、一人のユーザーに紐づいています。あるユーザーに紐づいたサービス通知トークンを利用して、ほかのユーザーにサービスメッセージを送信することはできません。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/message/v3/notifier/token

# リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}
詳しくは、「チャネルアクセストークン」を参照してください。

短期のチャネルアクセストークンを使用してください

# リクエストボディ

liffAccessToken

String

必須

liff.getAccessToken()で取得したアクセストークン(LIFFのアクセストークン)

# レスポンス

ステータスコード200と以下の情報を含むJSONオブジェクトを返します。

notificationToken

String

サービス通知トークン

expiresIn

Number

サービス通知トークンの有効期限が切れるまでの秒数。サービス通知トークンは、発行から1年間(31,536,000秒間)有効です。

remainingCount

Number

発行されたサービス通知トークンで、サービスメッセージを送信できる回数

sessionId

String

セッションID。詳しくは、「サービスメッセージを送信する」を参照してください。

レスポンスの例

# エラーレスポンス

以下のいずれかのステータスコードとエラーメッセージを返します。

ステータスコード 説明
400 Bad request 以下のいずれかです。
  • リクエストボディに問題があります。
  • liffAccessTokenプロパティに指定したLIFFのアクセストークンを使用して、サービス通知トークンの発行が短時間に連続してリクエストされました。
401 Unauthorized 以下のいずれか、または両方です。
  • 有効なチャネルアクセストークンが指定されていません。
  • 有効なLIFFのアクセストークンが指定されていません。
403 Forbidden このチャネルには、サービス通知トークンを発行する許可が与えられていません。
500 Internal Server Error 内部サーバーのエラーです。

エラーレスポンスの例

# サービスメッセージを送る

サービス通知トークンで指定されたユーザーに、サービスメッセージを送信します。

サービスメッセージを送信すると、有効期限が切れておらず、残りの送信可能回数が0でない場合は、サービス通知トークンの値が更新されます。ユーザーに対して、後続のサービスメッセージを送信する予定がある場合は、更新後のサービス通知トークンを保存してください。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/message/v3/notifier/send

# リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}
詳しくは、「チャネルアクセストークン」を参照してください。

短期のチャネルアクセストークンを使用してください

# クエリパラメータ

target

必須

service

# リクエストボディ

templateName

String

必須

サービスメッセージに使用する、事前登録済みテンプレートの名前。BCP 47言語タグを末尾に追加してください。

  • フォーマット:{template name}_{BCP 47 language tag}
  • 最大文字数:30
注意

サービスメッセージでサポートしている言語と言語タグは、以下のとおりです。

  • アラビア語:ar
  • 中国語(簡体字):zh-CN
  • 中国語(繁体字):zh-TW
  • 英語:en
  • フランス語:fr
  • ドイツ語:de
  • インドネシア語:id
  • イタリア語:it
  • 日本語:ja
  • 韓国語:ko
  • マレー語:ms
  • ポルトガル語(ブラジル):pt-BR
  • ポルトガル語(ポルトガル):pt-PT
  • ロシア語:ru
  • スペイン語(スペイン):es-ES
  • タイ語:th
  • トルコ語:tr
  • ベトナム語:vi

params

object

必須

テンプレート変数と値のペアを指定するJSONオブジェクト。
テンプレートにテンプレート変数がない場合は、空のJSONオブジェクト({ })を指定します。
テンプレート変数は、テンプレートごとに定義されています。必須の要素にテンプレート変数が含まれる場合は、必ずテンプレート変数と値のペアを指定してください。
詳しくは、「サービスメッセージのテンプレートを追加する」を参照してください。

notificationToken

String

必須

サービス通知トークン

# レスポンス

ステータスコード200と以下の情報を含むJSONオブジェクトを返します。

notificationToken

String

更新後のサービス通知トークン。このサービス通知トークンを使用して、後続のサービスメッセージを送信します。

expiresIn

Number

更新後のサービス通知トークンの有効期限が切れるまでの秒数

remainingCount

Number

更新後のサービス通知トークンで、後続のサービスメッセージを送信できる回数

sessionId

String

セッションID。詳しくは、「サービスメッセージを送信する」を参照してください。

注意

expiresInおよびremainingCountの値が0の場合は、サービスメッセージは送信されたが、サービス通知トークンが更新できなかったことを示します。

レスポンスの例

# エラーレスポンス

以下のいずれかのステータスコードとエラーメッセージを返します。

ステータスコード 説明
400 Bad request 以下のいずれかです。
  • リクエストボディに問題があります。
  • サービスメッセージ送信対象のユーザーが存在しません。
401 Unauthorized 以下のいずれか、または両方です。
  • 有効なチャネルアクセストークンが指定されていません。
  • 有効なサービス通知トークンが指定されていません。
403 Forbidden 以下のいずれかです。
  • このチャネルには、サービスメッセージを送信する許可が与えられていません。
  • 指定されたテンプレートが見つかりません。
500 Internal Server Error 内部サーバーのエラーです。

エラーレスポンスの例