産業用自家消費型太陽光・蓄電池経済効果診断API - エネがえる Biz API仕様
0 API を使ったアプリケーションの開発について
アプリケーションの全体設計、その中でのAPIの位置づけについては 次の FAQをご参照ください。
(V4 API の場合の説明となっていますが、Biz API の場合も基本的には同じです。)
エネがえるV4 APIを使用した独自アプリケーションの開発について
1 最初のステップ
アクセス用 認証情報の取得
APIを利用するためには以下の認証情報が必要です。営業担当者にご連絡ください。
-
APIキー
-
ユーザーID
-
パスワード
ログイン
下記のような形式で ログイン用APIをコールし、認証トークンを取得します。
(cURLの場合)
curl --location --request POST "https://api.enegaeru.com/biz/login" --header "x-api-key: 5npx3*****************" --header "Content-Type: application/json" --data-raw "{\"id\":\"xxxxxxxx\", \"password\":\"xxxxxxxx\", \"forcelogin\":true}"
(PowerShellの場合)
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("x-api-key", "5npx3*****************")
$headers.Add("Content-Type", "application/json")
$body = "{`"id`": `"xxxxxxxx`", `"password`": `"xxxxxxxx`", `"forcelogin`":true}"
$response = Invoke-WebRequest 'https://api.enegaeru.com/biz/login' -Method 'POST' -Headers $headers -Body $body
[System.Text.Encoding]::UTF8.GetString( [System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($response.Content) )
問題がなければ、下記のような形式のJSONが返ってきます。(userinfo はケースにより内容が異なります)
{
"uid": "IAWUDBAE*******************************************************************",
"userinfo": {
"id": "U1234567890",
"name": "xxxxxxxx",
"authority_level": 3,
"ASPplan": "xxxxxxxx",
"APIplan": "xxxxxxxx",
"corporation_id": "xxxxxxxx",
"contract_from": "2019-12-31T15:00:00.000Z",
"contract_to": "2019-12-31T15:00:00.000Z",
"setting": null
}
}
APIの実行
ログインAPIで取得した認証トークン(プロパティ名:uid) をヘッダーにセットして APIをコールします。
(cURLの場合)
curl --location --request GET "https://api.enegaeru.com/biz/epcorps?prefectures_cd=01" --header "x-api-key: 5npx3*****************" --header "Content-Type: application/json" --header "Authorization: IAWUDBAE*******************************************************************"
(PowerShellの場合)
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("x-api-key", "5npx3*****************")
$headers.Add("Content-Type", "application/json")
$headers.Add("Authorization", "IAWUDBAE*******************************************************************")
$response = Invoke-WebRequest 'https://api.enegaeru.com/biz/epcorps?prefectures_cd=01' -Method 'GET' -Headers $headers -Body $body
[System.Text.Encoding]::UTF8.GetString( [System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($response.Content) )
電気事業者のリストがJSONで返ってくれば疎通確認OKです。
あとはこれを基本に、次の各API仕様に従って必要な追加データをセットしてAPIをコールしてください。
2 APIの仕様
- 一般用API:
ログイン・ログアウト、単機能のシミュレーション、料金計算など基本的なAPIをご提供します。