# 引用トークンを取得する

Messaging APIで、過去のメッセージを引用したメッセージを送りたいときは、引用トークンを使用します。このページでは、引用トークンの取得方法について解説します。

# 引用トークンとは

引用トークンとは、IStG5h1Tz7bsH6xinEQtKQ9IdtcN5wLE15-LwtIDCEYAqDkV741O-XkOhZo1GYxw2UCURKnpHujpZuZaBaeQZVOVpKiaEeAz1Ye3-3ZYbPQVjuXZ4x8ZpISG7WhJDCE8o-hhHh8uMBRyp3b0L_Cxlgのような文字列です。引用トークンは、引用メッセージを送信する際に必要となります。

引用トークンは、引用対象となるメッセージが送られた1対1のトーク、グループトーク、複数人トークにおいてのみ使用できます。引用トークンには有効期限はなく、同じ引用トークンを複数回使用できます。

# 引用トークンを取得する

引用トークンを取得する方法は2つあります。

  1. 引用トークンをWebhookで取得する
  2. 引用トークンをメッセージ送信時のレスポンスで取得する

# 引用トークンをWebhookで取得する

1対1のトークや、LINE公式アカウントが追加されているグループトークや複数人トークでユーザーがメッセージを送ると、Webhookのメッセージイベントがボットサーバーに送られます。このメッセージイベントの中で、以下のメッセージオブジェクトに引用トークン(quoteToken)が含まれています。

"message": {
  "type": "text",
  "id": "468789577898262530",
  "quoteToken": "q3Plxr4AgKd...", // 引用トークン
  "text": "Can I reserve a table for dinner tonight?"
}

Webhookについて詳しくは、「メッセージ(Webhook)を受信する」を参照してください。

# 引用トークンをメッセージ送信時のレスポンスで取得する

Messaging APIで、応答メッセージまたはプッシュメッセージを送ると、レスポンスとしてsentMessagesプロパティを含むJSONオブジェクトが返ってきます。

{
  "sentMessages": [
    {
      "id": "461230966842064897",
      "quoteToken": "IStG5h1Tz7b..."
    }
  ]
}

ただし、レスポンスに引用トークン(sentMessages[].quoteToken)が含まれるのは、引用対象として指定可能な以下のメッセージオブジェクトを送信したときのみです。

上記のメッセージオブジェクトを複数指定してメッセージを送った場合、同じ個数の引用トークンが返ってきます。このとき、sentMessages配列内の要素の順番は、送信時のメッセージオブジェクトと同じ順番であることが保証されます。

{
  "sentMessages": [
    {
      "id": "471875397094211585",
      "quoteToken": "YKPDqjc2jmW..."
    },
    {
      "id": "471875397127766017",
      "quoteToken": "eG5SfLhgiFX..."
    }
  ]
}