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. | 想定外のエラーが発生した場合に返すエラー |