API仕様書

API仕様書

ログインAPI仕様

API名 farmoAPI ログイン
概要 farmoのログイン用認証API
URI https://*****.***/***
HTTP Method POST
呼出タイムアウト時間 10秒
リクエストパラメータ
HTTP Headers
パラメータ名 値の説明
Content-Type application/json String ※必須(固定長文字列)
Accept-Charset UTF-8 String ※必須
HTTP Body
パラメータ名 require 値の説明
項目
login_id farmoのログインID String farmoに登録しているログインID
login_pass farmoのログインパスワード String farmoに登録しているパスワード
レスポンスパラメータ
HTTP Body
パラメータ名 require 値の説明
項目
status_code ステータスコード 処理のステータスを識別する文字列とする。
詳細は「ログイン用APIステータスコード」シートを参照。
user_id {userID} 各種APIで使用するfarmoのユーザーID
client_secret {clientSecret} 各種APIで使用するclientSecret(可変長文字列)
有効期限は7日間。
error_info エラー情報 エラー原因に関する情報
【require凡例】 ◎:常に必須 ○:正常時必須 ●:異常時必須 ブランク:任意 -:対象外
リクエスト例
{
"login_id": "xxxxxxx",
"login_pass": "********"
}

ログインAPIステータスコード

ステータスコード一覧

分類 ステータスコード エラー情報 内容説明
正常 S001 処理が正常終了したことを表す。
エラー E001 Your login id or login pass wrong. ユーザーIDまたはパスワードに誤りがある。
エラー E002 access limit error API実行上限エラー
エラー E003 param Empty 必須項目が未入力
エラー E999 You encountered an unknown error. 想定外のエラーが発生した場合に返すエラー

センサーリスト取得API仕様

API名 水位センサー情報取得API
概要 水位センサーの詳細情報を取得するAPI
URI https://*****.***/***/***
HTTP Method GET
呼出タイムアウト時間 10秒
リクエストパラメータ
HTTP Headers
パラメータ名 値の説明
Content-Type application/json String ※必須
Accept-Charset UTF-8 String ※必須
********* {userID} int ログインAPIで取得したfarmoのユーザーID
******** {clientSecret} String ログインAPIで取得したclientSecretを利用する(可変長文字列)
GET Parameter
パラメータ名 require 値の説明
項目
user {userID} int ログインAPIで取得したfarmoのユーザーID
レスポンスパラメータ
HTTP Body
パラメータ名 require 値の説明
項目
status_code ステータスコード 処理のステータスを識別する文字列とする。
詳細は「ログイン用APIステータスコード」シートを参照。
sensor_list
sensor_id 製品ID 水位センサーの製品ID
name 圃場名(センサー名) 水位センサーを設置した圃場名(センサー名)
latitude 緯度 水位センサーを設置した緯度
longitude 経度 水位センサーを設置した経度
error_info エラー情報 エラー原因に関する情報
【require凡例】 ◎:常に必須 ○:正常時必須 ●:異常時必須 ブランク:任意 -:対象外
リクエスト例
https://*****.***/***/***?user={userID}
レスポンス例
【正常系】
{
	"status_code": "S001",
	"sensor_list": [
			{
				"sensor_id": "pabcdw",
				"name" : "圃場1",
				"latitude" : "37.123456789123",
				"longitude" : "139.123456789123"
			},
			{
				"sensor_id": "pabcde",
				"name" : "水位センサー1",
				"latitude" : "37.123456789123",
				"longitude" : "139.123456789123"
			}
		]
}
【異常系】
	{
		"status_code": "E001", 
		"error_info": "login info error"
	}

センサーリスト取得APIステータスコード

ステータスコード一覧

分類 ステータスコード エラー情報 内容説明
正常 S001 処理が正常終了したことを表す。
エラー E001 login info error ユーザーIDまたはパスワードに誤りがある。
エラー E002 access limit error API実行上限エラー
エラー E003 param Empty 必須項目が未入力
エラー E004 param Error. パラメータが不正
エラー E005 client secret expired clientSecretの有効期限切れ
エラー E999 You encountered an unknown error. 想定外のエラーが発生した場合に返すエラー

水位・水温データ取得API仕様

API名 水位・水温データ取得API
概要 計測した水位・水温データを取得するAPI
URI https://*****.***/***/***
HTTP Method GET
呼出タイムアウト時間 10秒
リクエストパラメータ
HTTP Headers
パラメータ名 値の説明
Content-Type application/json String ※必須
Accept-Charset UTF-8 String ※必須
******** {userID} int ログインAPIで取得したfarmoのユーザーID
******** {clientSecret} String ログインAPIで取得したclientSecretを利用する(可変長文字列)
GET Parameter
パラメータ名 require 値の説明
項目
sensor_id センサーID String 水位センサーの製品ID(指定できる上限は10個までです。
複数指定する場合は、カンマで区切ります。)
start 取得範囲(開始) String 日時(YYYYMMDDhhmm形式、合計12桁)
指定できるstartとend間は72時間までです。
end 取得範囲(終了) String 日時(YYYYMMDDhhmm形式、合計12桁)
指定できるstartとend間は72時間までです。
レスポンスパラメータ
HTTP Body
パラメータ名 require 値の説明
項目
status_code ステータスコード 処理のステータスを識別する文字列とする。
詳細は「水位データ取得APIステータスコード」シートを参照。
sensor_list
sensor_id 製品ID 水位センサーの製品ID
datetime 計測日時 計測日時(YYYYMMDDhhmm形式)
water_level 水位 水位(単位:cm)
water_temperature 水温 水温(単位:℃)
error_info エラー情報 エラー原因に関する情報
【require凡例】 ◎:常に必須 ○:正常時必須 ●:異常時必須 ブランク:任意 -:対象外
リクエスト例
        https://*****.***/***/***?sensor_id=pabcde,p12345,pa1s23&start=202103101000&end=202103121200
    
レスポンス例
【正常系】
    {
        "status_code": "S001",
        "data_list": [
            {
                "sensor_id": "pabcde",
                "datetime": "202103101000",
                “water_level": “9.1”,
                “water_temperature": “9.8”,
            },
            {
                "sensor_id": "pa1s23",
                "datetime": “202103101015",
                “water_level": “10.7",
                “water_temperature": “10.2”,	
            }
        ]
    }
【異常系】
    {
        "status_code": "E001",
        "error_info" : "login info error"
    }
    測定データは取得できたが水位が異常値の場合
    {
        "status_code": "S001",
        "data_list": [
            {
                "sensor_id": “pabcde",
                "datetime": "202103101000",
                “water_level": “--”,	
                “water_temperature": null,
            },
            {
                "sensor_id": "pa1s23",
                "datetime": “202103101015",
                “water_level": “--“,	
                “water_temperature": null,
			}
		]
	}								
    測定データは取得できたが水位が0.0cmの場合
	{
		"status_code": "S001",
		"data_list": [
			{
				"sensor_id": “pabcde",
				"datetime": "202103101000",
				“water_level": “0.0”,
				“water_temperature": null,
			},
			{
				"sensor_id": "pa1s23",
				"datetime": “202103101015",
				“water_level": “0.0“,
				“water_temperature": null,
			}
		]
	}

水位・水温データ取得APIステータスコード

ステータスコード一覧

分類 ステータスコード エラー情報 内容説明
正常 S001 処理が正常終了したことを表す。
エラー E001 login info error ユーザーIDまたはパスワードに誤りがある。
エラー E002 access limit error API実行上限エラー
エラー E003 param Empty 必須項目が未入力
エラー E004 param Error. パラメータが不正
エラー E005 client secret expired clientSecretの有効期限切れ
エラー E006 sensor_id limit error センサーID指定上限エラー
エラー E007 sensor_id owned error 所有していないセンサーIDが含まれる
エラー E008 date format error 期間指定のフォーマットエラー
エラー E009 date limit error 期間指定の上限エラー
エラー E999 You encountered an unknown error. 想定外のエラーが発生した場合に返すエラー