電気料金API 太陽光・蓄電池経済効果診断API - エネがえる V4 API仕様
0 API を使ったアプリケーションの開発について
アプリケーションの全体設計、その中でのAPIの位置づけについては 次の FAQをご参照ください。
エネがえるV4 APIを使用した独自アプリケーションの開発について
上記を含め、エネがえるに関するFAQは次のリンク先に集約していますのでご参照ください。(特に APIのご利用上のFAQに関しては多くが “エネがえるAPIサービス”、
"診断結果の算出根拠や計算方法"といったカテゴリーに該当します。)
エネがえる FAQ(よくあるご質問と答え)
1 最初のステップ
アクセス用 認証情報の取得
APIを利用するためには以下の認証情報が必要です。営業担当者にご連絡ください。
-
APIキー
-
ユーザーID
-
パスワード
ログイン
下記のような形式で ログイン用APIをコールし、認証トークンを取得します。
(cURLの場合)
curl --location --request POST "https://api.enegaeru.com/v4/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/v4/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": {
"username": "xxxxxxxx",
"group_id": 2,
"group_name": "企業管理者",
"corporation_id": xxxxxxxx,
"APIplan": "xxxxxxxx",
"setting": null
}
}
APIの実行
ログインAPIで取得した認証トークン(プロパティ名:uid) をヘッダーにセットして APIをコールします。
(cURLの場合)
curl --location --request GET "https://api.enegaeru.com/v4/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/v4/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をご提供します。 -
ASP構築用API:
世帯・診断結果管理、効果額計算、レポート作成などのAPI(詳細は営業担当者にお問い合わせください) -
管理用API:
企業情報・ユーザー・グループなどの管理用API(詳細は営業担当者にお問い合わせください)
3 API利用の例
電気料金比較のような場合、例えば次のような順番で APIを呼び出します。
また、エネがえるAPIはブラウザから直接呼び出す形ではなく、サーバーサイドのプログラムから呼び出してください。(ユーザーIDによるログインを1か所で管理するため。)
実際の APIのご利用方法をご理解いただくために ブラウザで動作するWEBアプリケーションのサンプルをご用意しました。ダウンロードして中身をご確認ください。=> サンプル
サンプルについてのより詳しい説明は次の記事をご参照ください。
エネルギー診断サービス「エネがえる」のWeb-APIを使ってみる