# エラー通知

オプション機能を利用するには手続きが必要です

本ドキュメントに記載の機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。 自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナー (opens new window)にお問い合わせください。

# 概要

ユーザーが、LINE公式アカウントを友だち追加したり、LINE公式アカウントにメッセージを送ったりすると、LINE Developersコンソールの「Webhook URL」で指定したURL(ボットサーバー)に対して、LINEプラットフォームからWebhookイベントが送られます。

このWebhookイベント送信に対して、ボットサーバーがエラーを返した場合、チャネルの管理者はエラーの発生を知らせる通知メールを受け取れます。このオプション機能を「エラー通知」と呼びます。

ボットサーバーからエラーが返ってくると通知メールが送られます

# 送信されるメール

メールの件名を変更しました

詳しくは、2021年4月28日の法人ユーザー向けのお知らせ、「エラー通知で送信されるメールの件名を変更します」を参照してください。

エラー通知で送信されるメールについて説明します。

dummy dummy
宛先 以下のメールアドレス宛にメールが送信されます。
  • 対象チャネルの[チャネル基本設定]ページに登録されているメールアドレス
  • 対象チャネルに対してAdmin権限を持つユーザーの登録メールアドレス
件名 Messaging API: Your server did not return [200 OK] - <Channel name>
本文 エラーの原因や発生日時などが状況に応じて記載されます。詳細については、メール本文を参照してください。
エラーはLINE Developersコンソールでも確認できます

通知メールで受け取ったエラーの情報は、LINE Developersコンソールでも確認できます。詳しくは、「LINE Developersコンソールの[統計情報]タブ内の[エラー]について」を参照してください。

予告なく変更される可能性があります

メールの内容やエラーメッセージの表記は、予告なく変更される可能性があります。

# 通知メールの例

通知メールの例

# メール本文

メールの内容は以下のとおりです。

項目 説明
Channel ID 対象のチャネルID。
Channel name 対象のチャネル名。
Reason for error エラー発生原因の概要。詳しくは、「Reason for error」を参照してください。
Detail for error エラー発生原因の詳細。詳しくは、「Detail for error」を参照してください。
Error count エラーの発生回数。
Time detected エラーの発生日時。
URL LINE DevelopersコンソールのMessaging APIチャネルの[統計情報]タブ内の[エラー]へのリンク。

# Reason for error

Reason for errorの主なエラーメッセージは以下のとおりです。

メッセージ 説明
could_not_connect LINEプラットフォームがWebhookイベントをボットサーバーに送信しようとしましたが、ボットサーバーに正常に接続できませんでした。
request_timeout LINEプラットフォームがWebhookイベントをボットサーバーに送信しましたが、ボットサーバーからレスポンスが1秒以内に返されませんでした。
error_status_code LINEプラットフォームがWebhookイベントをボットサーバーに送信しましたが、ボットサーバーからHTTPステータスコード200番台以外のレスポンスが返されました。
unclassified 上記に分類できない不明なエラーが発生しました。

# Detail for error

Detail for errorのエラーメッセージは、Reason for errorとの組み合わせで大きく4つに分類されます。

  1. Reason for errorが「could_not_connect」の場合
  2. Reason for errorが「request_timeout」の場合
  3. Reason for errorが「error_status_code」の場合
  4. Reason for errorが「unclassified」の場合

# 1. Reason for errorが「could_not_connect」の場合

Reason for errorがcould_not_connectの場合、Detail for errorの主なエラーメッセージは以下のとおりです。

ここに分類されるエラーは、ボットサーバーに対してLINEプラットフォームがWebhookリクエストを正常に送信できなかった場合に発生します。

メッセージ 説明
Connection failed ボットサーバーへの接続に失敗しました。
Connection failed (received GOAWAY) ボットサーバーへの接続時に、接続が拒否されました。
Connection failed (session closed) ボットサーバへの接続が予期せず終了されました。
Connection timeout ボットサーバーへの接続が一定時間内に完了しませんでした。
DNS Query timeout Webhook URL の名前解決を行いましたが、一定時間内に名前解決を完了できませんでした。
Invalid URL syntax 不正なWebhook URLが指定されています。(RFC違反等)
Session protocol negotiation failure ボットサーバーへ接続しましたが、プロトコルネゴシエーションが失敗しました。
TLS handshake failure ボットサーバーへ接続しましたが、TLSハンドシェイクが失敗しました。
Unknown host Webhook URLに指定されたホストが見つかりません。

# 2. Reason for errorが「request_timeout」の場合

Reason for errorがrequest_timeoutの場合、Detail for errorの主なエラーメッセージは以下のとおりです。

ここに分類されるエラーは、ボットサーバーに対してLINEプラットフォームがWebhookリクエストを送信を行ったが、LINEプラットフォームがレスポンスが受け取れなかった、または送信が途中で失敗した際に発生します。ボットサーバーで Webhookイベントが正常に受信できた(処理できた)可能性があります。

メッセージ 説明
Request timeout ボットサーバーに対してWebhookリクエストを送信しましたが、一定期間内にレスポンスが得られませんでした。

# 3. Reason for errorが「error_status_code」の場合

Reason for errorがerror_status_codeの場合、Detail for errorにはHTTPステータスコードが入ります。

# 4. Reason for errorが「unclassified」の場合

分類できないエラーが発生している場合に発生します。

メッセージ 説明
Session closed unexpectedly ボットサーバーに対してWebhookリクエストを送信しましたが、接続が予期せず途中で切断されました。
Stream closed unexpectedly ボットサーバーに対してWebhookリクエストを送信しましたが、ストリームが予期せず途中で切断されました。
Unclassified webhook dispatch error 分類できない想定外のエラーが発生しました。

# 通知メール受信時の対応例

たとえば、受信したエラー通知の内容が通知メールの例だった場合、Reason for errorがerror_status_code、Detail for errorが500であるため、「ボットサーバーがWebhookリクエストに対して、HTTPステータスコード500をレスポンスした」と考えられます。

この場合、ボットサーバーは受信したWebhookイベントを正常に処理することができなかったと考えられます。ボットサーバーのWebhookイベントの処理に関するログなどを調査し、問題の発生原因を調査してください。

エラーの調査について

LINE株式会社では、エラーに関する個別の調査や確認は行っていません。エラーの原因については、チャネルやボットサーバーを管理する開発者自身で対応を行う必要があります。

# LINE Developersコンソールの[統計情報]タブ内の[エラー]について

通知メールで受け取ったエラーの情報は、LINE DevelopersコンソールのMessaging APIチャネルの[統計情報]タブ内の[エラー]でも確認できます。また[TSVファイルをダウンロード]をクリックして、過去に発生したエラーの情報をTSV形式でダウンロードすることができます。

統計情報]タブ内の[エラー]は、エラー通知機能が利用可能なチャネルでのみ表示されます。

統計情報タブの「エラー」