エラー定義
Messaging API で何らかのエラーが発生した場合、HTTP ステータスコードで 2xx
以外の値を応答するとともに、以下のようなエラー情報を持った JSON を返します。
Global Errors
何らかの理由によりリクエストが受け付けられなかった際に発生します。 エラー内容は code
の値によって識別できます。
JSON 構造
Global Error の場合、 path には常に __global__
が指定されます。
{
"errors": [
{
"path": "__global__",
"code": "{Error Code}"
}
]
}
エラーコード一覧
Client Side Errors
HTTP Status | Error Code | Description |
---|---|---|
401 | unauthorized | Authorization Header が不正 |
400 | invalid_parameter | 必須パラメータが存在しない, パラメータが不正 |
404 | resource_not_found | リクエストされたリソースが見つからない |
403 | access_denied | 接続元 IP アドレスが制限されている |
400 | line_messaging_api_channel_not_set | LINE Messaging API チャネルが設定されていない |
404 | end_user_not_found | 指定したエンドユーザーが見つからない |
404 | recipient_user_not_found | 送信先ユーザが特定できない。ソーシャル PLUS ID やユーザID が正しくない |
400 | recipient_id_length_is_over_255 | 配信者リストに 255 文字を超える文字列が含まれている |
406 | recipient_registration_is_running | 送信対象の登録処理が実行中である |
409 | message_was_delivered | メッセージが配信中または配信完了であるため更新できない |
409 | step_delivery_not_draft | ステップ配信定義が「下書き」でない |
422 | step_delivery_not_running | ステップ配信が稼働していない |
409 | richmenu_has_already_linked_users | リッチメニューが既にユーザーとリンクしている |
409 | default_richmenu_is_already_exists | リッチメニューが既にデフォルトに設定されている |
409 | richmenu_has_already_been_a_default | リッチメニューが既にデフォルトに設定されている |
400 | adding_recipients_via_api_is_not_allowed | リッチメニューが「API で配信」以外の設定である |
Server Side Errors
HTTP Status | Error Code | Description |
---|---|---|
503 | provider_server_error | プロバイダが提供する API でエラーが発生した |
503 | under_maintenance | メンテナンス中 |
Validation Errors
リクエスト内容のデータベースへの保存が失敗した際に発生します。
主に操作者がフォームに入力した内容に不備がある場合に使用され、内容の修正を促すレスポンスが返されます。
応答される HTTP Status Code は 422 Unprocessable Entity
です。
JSON 構造
path
にはエラーのある form field を示すパスが含まれます。
option
は後述のエラーコードの Description に含まれる %{count}
などの変数値を表します。Description に変数が含まれない場合は省略されます。
{
"errors": [
{
"path": "{Path}",
"code": "{Error Code}",
"option": {
"{variable_name}": "{variable_value}"
}
},
{
"path": "{Path}",
"code": "{Error Code}"
}
]
}
エラーコード一覧
path
に *
が指定されているものは path
の値に関係なく発生する可能性があります。
path
に固有の値が指定されているものは、その path
固有のエラーです。
Path | Error Code | Description |
---|---|---|
* | accepted | を受諾してください |
* | blank | を入力してください |
* | present | は入力しないでください |
* | confirmation | と%{attribute}の入力が一致しません |
* | empty | を入力してください |
* | equal_to | は%{count}にしてください |
* | even | は偶数にしてください |
* | exclusion | は予約されています |
* | greater_than | は%{count}より大きい値にしてください |
* | greater_than_or_equal_to | は%{count}以上の値にしてください |
* | inclusion | は一覧にありません |
* | invalid | は不正な値です |
* | invalid_url_format | は無効な URL 形式です |
* | less_than | は%{count}より小さい値にしてください |
* | less_than_or_equal_to | は%{count}以下の値にしてください |
* | not_a_number | は数値で入力してください |
* | not_an_integer | は整数で入力してください |
* | odd | は奇数にしてください |
* | required | を入力してください |
* | taken | はすでに存在します |
* | too_long | は%{count}文字以内で入力してください |
* | too_short | は%{count}文字以上で入力してください |
* | wrong_length | は%{count}文字で入力してください |
* | other_than | は%{count}以外の値にしてください |
actions | exceeded_size_limit | の数が制限値を超えています |
base | cell_pattern_size_and_action_size_are_not_equal | 指定されたセルパターンとアクションの数が一致しません |
deliver_days_later | greater_than_or_equal_to | 0 未満の整数は入力できません |
deliver_days_later | less_than_or_equal_to | 366 を超える整数は入力できません |
deliver_days_later | not_a_number | 文字列は入力できません |
deliver_days_later | not_an_integer | 小数値は入力できません |
delivery_time_in_local | invalid | 不正なフォーマットです |
delivery_time_in_local | out_of_range | 00:00 ~ 23:59 の間の時刻を指定してください |
delivery_time_in_local | taken | 他のステップで同じ配信日時が設定されています |
recipient_identifier_type | not_editable | %{attribute}は後から変更する事はできません |
recipient_registering | registration_processing | 送信対象の登録処理中のため、予約状態での保存はできません |
recipients | unassociated | は LINE ログイン連携されていないユーザーです |
recipients | unregistered | は存在しないユーザーです |
reservation_time | time_past | 現在時刻より前の時刻は入力できません |
status | already_delivered | 配信中または配信完了しているため編集できません |
status | not_editable | ステップ配信の%{attribute}が draft でないため変更できません |
step_definitions | blank | ステップが登録されていません |
text | emojis_size_must_be_between_1_and_20 | メッセージに含められる絵文字は 20 個までです |