請求(Billing)API ドキュメント
本ドキュメントでは、請求に関する 2 つの API について説明します。
- 請求 Excel エクスポート API
- 請求統計 API (Bill Stats API)
1. 請求 Excel エクスポート API
本 API は、指定した条件で請求データをエクスポートします。レスポンスは Excel のバイナリファイルストリーム です。
1.1 基本情報
- エンドポイント:
https://monitor.ponderera.com/bill/excel
- メソッド:
POST
- Content-Type:
application/json
- 概要: 指定期間の請求明細をエクスポートします(モデル名や Token 名による絞り込みに対応)。
1.2 リクエストパラメータ (Request)
| パラメータ名 |
必須 |
型 |
説明 |
例 |
token |
はい |
String |
認証トークン |
************F99642E4AFF |
Content-Type |
はい |
String |
リクエスト形式 |
application/json |
ボディ(Body)
| フィールド名 |
必須 |
型 |
説明 |
例 |
type |
はい |
Integer |
エクスポート粒度(例:1=分、2=時間、3=日、4=週、5=月) |
1 |
startTime |
はい |
Long |
開始タイムスタンプ(秒) |
1769443200 |
endTime |
はい |
Long |
終了タイムスタンプ(秒) |
1769616000 |
tokenName |
いいえ |
String |
特定の Token 名で絞り込み |
*** |
modelName |
いいえ |
String |
特定のモデル名で絞り込み |
gemini-3-flash-preview |
1.3 レスポンス (Response)
成功
- ステータス:
200 OK
- Content-Type:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- 内容: Excel のバイナリファイルストリーム
失敗
- 401 Unauthorized: Token がない、または無効です。
- 400 Bad Request: パラメータ検証に失敗(例:タイムスタンプ形式エラー)。
1.4 呼び出し例 (Example)
cURL
curl --location 'https://monitor.ponderera.com/bill/excel' \
--header 'token: ******' \
--header 'Content-Type: application/json' \
--data '{
"type": 1,
"startTime": 1769443200,
"endTime": 1769616000,
"tokenName": "****",
"modelName": "gemini-3-flash-preview"
}' \
--output bill_export.xlsx
2. 請求統計 API (Bill Stats API)
本 API は、時間範囲および Token 名 / モデル名に基づき、特定ユーザーのリソース消費統計(Token 使用量、利用時間、金額など)を取得します。
2.1 基本情報
- エンドポイント:
https://monitor.ponderera.com/bill/stats
- メソッド:
POST
- Content-Type:
application/json
2.2 リクエストパラメータ (Request)
| パラメータ名 |
必須 |
型 |
説明 |
token |
はい |
String |
ユーザー認証トークン |
Content-Type |
はい |
String |
常に application/json |
ボディ(Body)
| フィールド名 |
必須 |
型 |
例 |
説明 |
type |
はい |
Integer |
1 |
集約粒度(例:1=分、2=時間、3=日、4=週、5=月) |
startTime |
はい |
Long |
1769443200 |
開始タイムスタンプ(秒) |
endTime |
はい |
Long |
1769616000 |
終了タイムスタンプ(秒) |
tokenName |
いいえ |
String |
"token1" |
特定の Token 名で統計をフィルタリング |
modelName |
いいえ |
String |
"gemini-3-flash-preview" |
特定のモデル名で統計をフィルタリング |
2.3 レスポンス (Response)
上位構造
| フィールド名 |
型 |
説明 |
message |
String |
ステータスメッセージ(例:"SUCCESS") |
code |
Integer |
ステータスコード(200 で成功) |
data |
Array |
統計情報オブジェクトの配列 |
data オブジェクトのフィールド
| フィールド名 |
型 |
例 |
説明 |
time |
String |
"2026-02-06 00:00:00" |
集計時間(フォーマット済み文字列) |
timeGroup |
Long |
1770307200 |
集計時間の Unix タイムスタンプ(秒) |
userName |
String |
"admin" |
ユーザーのログイン名 |
tokenName |
String |
"token1" |
使用された Token 名 |
modelName |
String |
"gemini-3-flash-preview" |
モデル名 |
totalPromptTokens |
Integer |
8927 |
プロンプト Token の累計使用数 |
totalCompletionTokens |
Integer |
143 |
Completion Token の累計使用数 |
totalCacheTokens |
Integer |
0 |
Cache Token の累計使用数 |
totalCacheCreationTokens |
Integer |
0 |
CacheCreation Token の累計使用数 |
totalUseTime |
Integer |
6 |
総利用時間(秒) |
callCount |
Integer |
1 |
その期間における呼び出し回数 |
totalAmount |
Float |
0.012588 |
総利用金額(USD) |
2.4 呼び出し例 (Example)
cURL
curl --location 'https://monitor.ponderera.com/bill/stats' \
--header 'token: ******10B8F1532F0C82F99642E4AFF' \
--header 'Content-Type: application/json' \
--data '{
"type": 1,
"startTime": 1769443200,
"endTime": 1769616000,
"tokenName": "token1",
"modelName": "gemini-3-flash-preview"
}'
レスポンス例 (JSON)
{
"message": "SUCCESS",
"code": 200,
"data": [
{
"time": "2026-02-06 00:00:00",
"timeGroup": 1770307200,
"userName": "**",
"tokenName": "文献抽出",
"modelName": "gemini-3-flash-preview",
"totalPromptTokens": 8927,
"totalCompletionTokens": 143,
"totalCacheTokens": 0,
"totalCacheCreationTokens": 0,
"totalUseTime": 6,
"callCount": 1,
"totalAmount": 0.012588
}
]
}