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

