2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Sigfox APIを使ってデバイスメッセージの詳細を取得

Last updated at Posted at 2019-08-06

SigfoxクラウドAPIを利用し、デバイス情報やユーザ情報を取得する方法は、こちらに記載していますが、ここでは、デバイスメッセージ履歴の取得に際し、Callbackステータスや受信フレーム数などを取得する方法を説明します。

#デバイスメッセージを取得するAPI
デバイスメッセージを取得する場合、/devices/{device-id}/messagesエンドポイントを使用します。具体的には下記GETリクエストにBasic認証を付加してもらえれば結構です。
https://api.sigfox.com/v2/devices/{device-id}/messages
*{device-id}のところは、メッセージを取得したいデバイスのID

##ポイントは"fields"パラメータ
デバイスメッセージを取得するAPIの説明はSigfox Supportにまとめられており、ここで、fieldsというクエリパラメータに関する説明が記載されています。
このfieldsパラメータをHTTPパラメータに追加することにより、より詳細情報を取得することが可能になります。
例えば、下記GETリクエスト(Basic認証も必要ですが)の場合
https://api.sigfox.com/v2/devices/{device-id}/messages?fields=device(name),rinfos(cbStatus,rep)
応答は下記のようになります。

{
    "data": [
       {
            "device": {
                "id": "XXXXXX",
                "name": "My_device_name"
            },
            "time": 1565081856000,
            "data": "0123456789ABCDEF",
            "rinfos": [
                {
                    "baseStation": { "id": "5859" },
                    "rssi": "-133.00",
                    "snr": "12.48",
                    "freq": 923233573,
                    "delay": 2.3450000286102295,
                    "lat": "35.0",
                    "lng": "135.0",
                    "rep": 3,
                    "cbStatus": [
                        {
                            "status": 200,
                            "cbDef": "[POST] https://api.try.iotagency.sigfox.com/api/Messages/sigfox",
                            "time": 1565081858249,
                            "attempts": 1
                        }
                    ]
                },
                ...(省略)...
            ],
            ...(省略)...
        },

fieldsパラメータを追加しなかったときに比べ、デバイス名フィールドの他、rinfos以下にrepフィールドとcbStatusフィールドが追加されていることがわかります。
repは各基地局で受信されたフレームの数、cbStatusはそのメッセージのCallbackステータスが確認できます。

##fieldsパラメータ
fieldsパラメータは下記の定義となっています。

パラメータ 意味
oob Out Of Band message。デバイスから定期的に送信されているステータス確認メッセージ。詳しくはこちら
ackRequired 下り要求メッセージかどうかのフラグ
device(name) デバイス名
rinfos(cbStatus,rep,repetitions,baseStation(name)) 次表参照
downlinkAnswerStatus(baseStation(name)) 下り応答ステータス
rinfos 意味
cbStatus Callbackステータス
rep 各基地局での受信フレーム数
repetitions 各フレームのRSSI、SNR等
baseStation(name) 受信基地局名

*ただし、API権限により表示されないパラメータもあります。

Sigfox Japan KCCS

2
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?