# エラー通知
本ドキュメントに記載の機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナー (opens new window)にお問い合わせください。
# 概要
ユーザーが、LINE公式アカウントを友だち追加したり、LINE公式アカウントにメッセージを送ったりすると、LINE Developersコンソールの「Webhook URL」で指定したURL(ボットサーバー)に対して、LINEプラットフォームからWebhookイベントが送られます。
このWebhookイベント送信に対して、ボットサーバーがエラーを返した場合、チャネルの管理者はエラーの発生を知らせる通知メールを受け取れます。このオプション機能を「エラー通知」と呼びます。
# 送信されるメール
詳しくは、2021年4月28日の法人ユーザー向けのお知らせ、「エラー通知で送信されるメールの件名を変更します」を参照してください。
エラー通知で送信されるメールについて説明します。
dummy | dummy |
---|---|
宛先 | 以下のメールアドレス宛にメールが送信されます。
|
件名 | Messaging API: Your server did not return [200 OK] - <Channel name> |
本文 | エラーの原因や発生日時などが状況に応じて記載されます。詳細については、メール本文を参照してください。 |
通知メールで受け取ったエラーの情報は、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つに分類されます。
- Reason for errorが「could_not_connect」の場合
- Reason for errorが「request_timeout」の場合
- Reason for errorが「error_status_code」の場合
- 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形式でダウンロードすることができます。
[統計情報]タブ内の[エラー]は、[Messaging API設定]タブで[エラーの統計情報]を有効にしたチャネルでのみ表示されます。エラーの統計情報を有効にする方法について詳しくは、『Messaging APIドキュメント』の「エラーの統計情報を有効にする」を参照してください。