Web API

注意事項

  • 本ドキュメントに記載がない項目は、システム上で自動的に付加された項目なのでその項目の使用は非推奨となります。 
  • sensor_id, hw_addrの英字は大文字小文字の区別はありません(内部的に全て小文字で処理されます)。

Summary

endpoint

https://api.agri.iij.jp/v1


Headers

KeyValueDescription
AuthorizationPOST /authの項を参照POST /authを除く
Content-Typeapplication/json


Paths

PathOperationDescription
/authPOST

api_tokenの発行

/sensorsGET

センサーの一覧

/sensors/{sensor_id}GET

指定センサーの個別情報と過去データ参照

PUT

指定センサーの個別設定

Paths

POST /auth
  • api_tokenを発行します(有効期限90日)。
  • 発行済みのapi_tokenが有効期限切れになった場合もこのAPIをコールして新しいapi_tokenを発行してください。 
  • 認証方法:リクエストヘッダ "Authorization: Bearer " に付加
  • 新たなapi_keyの発行についてはお問い合わせください。
NameDescriptionTypeData type
api_key

指定されたapi_key

bodystring required
api_secret

指定されたapi_secret

bodystring required
Responses

Status Code: 200

{
    "api_key": "string",
    "api_token": "string",
    "expired": timestamp
}


GET /sensors
  • センサーの一覧を取得します。 
Responses

Statu Code: 200

{
    "sensors": [
        {
            "hw_addr": "string",
            "latest_values": {
                "string": {
                    "value": number,
                    "timestamp": timestamp
                }
            },
            "sensor_id": "string",
            "longitude": number,
            "latitude": number,
            "custom": object,
            "name": "string"
        }
    ]
}

latest_valuesの詳細については、センサー固有の属性として後述します。

GET /sensors/{sensor_id}
  • 指定センサーの個別情報と過去データ参照をします。過去データには以下を含みます。
    • 水位などのセンサー固有のデータ
  • 何もパラメータがない場合、各履歴は過去24時間の情報を返します。
  • start_time, end_timeを指定した場合は24時間以上の時間を指定することができます。
  • 一度に指定できる範囲は最大で100日です。
  • start_time, end_timeはエポック時間(ミリ秒)を指定します。
  • start_time, end_time片方しか指定がない場合は何もパラメータがない場合と同様です。
NameDescriptionTypeData typeExample
sensor_id

IIJより指定されたセンサーID値

pathstring s-zz-0000000required
start_time

履歴データの取得開始エポックミリ秒

querynumber 1581562000000
end_time

履歴データの取得最終エポックミリ秒

querynumber 1581562500000
Responses

Status Code: 200

{
    "sensor": {
        "latest_values": {
            "string": {
                "value": value ,
                "timestamp": timestamp
            }
        },
        "sensor_id": "string",
        "longitude": number,
        "latitude": number,
        "custom": object,
        "name": "string",
    },
    "history": [
        {
            "hw_addr": "string",
            "string": value,
            "timestamp": 1584499800000
        }
    ]
}

latest_valuesおよびhistoryの値については、センサーの固有の属性として後述します。

PUT /sensors/{sensor_id}
  • 指定センサーの個別設定をします。


NameDescriptionTypeData typeExample
sensor_id

IIJより指定されたセンサーID値

pathstring s-zz-0000000required
name

センサー設置場所の名称

bodystring PaddyDevice
latitude

センサー設置場所の緯度

bodynumber 12.345
longitude

センサー設置場所の経度

bodynumber 12.345
custom

ご自由にお使いください(JSON形式)

bodyobject 
{
	"device_status": 100
}

Responses

Status Code: 200

{
    "sensor": {
        "hw_addr": "string",
        "latest_values": {
            "string": {
                "value": number,
                "timestamp": timestamp
            }
        },
        "sensor_id": "string",
        "longitude": number,
        "latitude": number,
        "custom": object,
        "name": "string"
    }
}

センサー固有の属性

GET /sensors や GET /sensors/{sensor_id} で得られる、センサー固有の属性についての詳細を記述します。

水田センサー LP01
属性名タイプ単位
voltagenumberV
water_levelnumbercm
water_temperaturenumber
substrate_temeperaturenumber
status_codenumber
RSSInumber
SNRnumber

変更履歴

  • 2021.04.02
    • 一度の GET /sensors/{sensor_id} で指定できる範囲を最大100日とする
  • 2020.03.25
    • manual.iij.jpに公開
  • 2020.02.27
    • POST /sensors および DELETE /sensors/{sensor_id} を廃止
    • sensor.index を廃止
  • 2020.01.06
    • POST /sensors および DELETE /sensors/{sensor_id} を廃止予定
  • 2019.12.26
    • sensor.description を削除
    • sensor.index を廃止予定
  • 2019.11.28
    • 初版公開