Q&A

Messaging API Webhookイベントオブジェクトの"events"配列について

Messaging API Webhookイベントオブジェクトのドキュメント(https://developers.line.biz/ja/reference/messaging-api/#webhook-event-objects ) を見ると以下のようなクエリが示されており、"events"配列の要素が複数要素となっています。

{
  "destination": "xxxxxxxxxx",
  "events": [
    {
      "replyToken": "0f3779fba3b349968c5d07db31eab56f",
      "type": "message",
      "mode": "active",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      },
      "message": {
        "id": "325708",
        "type": "text",
        "text": "Hello, world"
      }
    },
    {
      "replyToken": "8cf9239d56244f4197887e939187e19e",
      "type": "follow",
      "mode": "active",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      }
    }
  ]
}

しかし以降の個々のイベントに関する説明では"events"配列の要素は一つとなっています。

はじめのような"events"配列が複数要素となるのはどのような状況・場合なのでしょうか? 複数要素となるような状況が思いつかないため教えていただけると幸いです。

  • 0
  • 1
  • 2981
  • X(旧Twitter) facebook

調べてみたところ、大量のイベントが発生したときには1つのWebhookに複数個のイベントが含まれるようです。勉強になりました。

https://vos.line-scdn.net/line-developers/docs/media/partner-docs/LINE_BOT_Development_Guidelines.pdf#page=18

1度のWebhookのリクエストに含まれるイベントは1個とは限りません。 同タイミングで大量のメッセージ送信や友だち追加があったとき、 1度のWebhookのリクエストに複数のイベントが含まれていることがありますので、 予めそのようなリクエストを受信することを想定のうえ、実装してください。

  • 1
Are you sure? question.vm