技術情報
SigfoxのCallbackで失敗した場合の対処
2022.04.18
みなさんはSigfoxのCallback機能を利用したとき、「Callbackにエラーが出てうまくいかない...」と悩んでいませんか?
Callbackが失敗している場合、以下のようにCallbacksの項目が赤いアイコンで表示されます。
本記事ではそのような状態になってしまった方のために、Callbackが失敗してしまう原因と対策方法を説明します。
Callbackのエラーが発生したら最初に確認すること
Callbackが失敗した場合、該当デバイスのMessageよりCallbacksを確認してください。
Callbacksに表示されているアイコンの色により、Callbackの状況が確認できます。
それぞれの色は以下のような状態を表しています。
該当のアイコンを確認することでCallbackに失敗したメッセージが確認できます。
・Callbackのエラー内容を確認する
Callbackが失敗している場合、該当の赤いアイコンをクリックすることでエラーの内容を確認できます。
➀ステータスコード
SigfoxのCallbackはHTTPのステータスコードを使用して、ステータスを表しています。
一般的には「2xx」の正常系コードは、Callbackが正常に機能したことを表しており、「4xx」「 5xx」のエラー系コードは、Callbackが失敗したことを表しています。
ステータスコードは3桁の数字で構成されており、表示されている3桁の数字よりCallbackの状況及びエラーの原因を詳しく特定できます。
②Callbackの試行回数
Callback機能はCallback先のサーバーにデータを転送後、10秒以内に該当のサーバーより応答がない場合(データが届かなかった場合)こちらの仕様に従い、一定の間隔で3回まで再試行が行われます。Callbackの試行回数は初回の試行に再試行の回数を加えた回数が#で表記されます。
例) 初回の試行のみ実行された場合 ⇒ #1と表記されます。
初回の試行の後に3回の再試行が実行された場合 ⇒ #4と表記されます。
試行回数が多い場合、SigfoxクラウドとCallback先サーバー間のネットワーク部に問題があるか各種サーバーの状態が一時的に不安定な状態にあることが考えられる為、原因箇所の特定に繋げることができます。
エラー内容を確認後、エラーコード別の原因と対策を知りたい方は以下の原因と対策の項目を確認してください。原因と対策の項目ではCallbackが失敗した際に主に表示されるステータスコードの原因と対策を説明しています。
ステータスコード別の原因と対策
ここではCallbackが失敗した際に主に表示されるステータスコードの原因と対策について説明します。特定のステータスコードについては、以下の内容を確認してください。
400 |
Bad Request |
---|---|
■原因 |
|
■対策 Callbackに設定可能なフォーマットはこちらより確認できます。 |
|
401 |
Unauthorized |
■原因 |
|
■対策 |
|
403 |
Forbidden |
■原因 |
|
■対策 |
|
404 |
Not Found |
■原因 |
|
■対策 |
|
405 |
Method Not Allowed |
■原因 |
|
■対策 |
|
500 |
Internal Server Error |
■原因 |
|
■対策 |
|
504 |
Gate Way Timeout |
■原因 |
|
■対策 |
|
600 |
Certificate validation issues |
■原因 |
|
■対策 そのため、Callbackを利用される際はサーバーのデジタル認証が有効な状態にあることを確認してください。 |
|
600 |
Quota exceeded |
■原因 |
TIPS
・Callbackに失敗したメッセージをSigfox APIで取得する方法
Callbackに失敗したメッセージをSigfox APIで取得する方法
Callbackに失敗したメッセージを取得したい場合、以下のする事でCallbackに失敗したメッセージを取得する事が可能技術記事で解説されているAPIを利用です。
Callbackに失敗したメッセージをSigfox APIで取得する方法
上記の記事では、DeviceType単位での取得方法を解説していますが、Device単位、Group単位でメッセージを取得する事も可能です。APIの詳細は以下のリンクより確認できます。
Device単位でCallbackに失敗したメッセージを取得するAPI
DeviceType単位でCallbackに失敗したメッセージを取得するAPI
Group単位でCallbackに失敗したメッセージを取得するAPI
・Callbackの失敗を通知する方法(Alert Email)
Callbackでエラーが発生した際にエラー通知を受け取りたい場合、Alert Email機能を利用することで特定のEmailにエラーを通知できます。
<Alert Emailが通知するタイミング>
Alert Email機能ではエラーが発生したタイミング(問題が発生したタイミング)とエラーから回復したタイミング(問題が解決したタイミング)で通知を受け取ることができます。
※Callbackが立て続けに失敗/成功した場合、連続して通知は行われません。
<Alert Emailの設定方法>
※複数登録することはできません。一つのEmailのみ設定可能です