介面概述
日誌查詢介面返回你賬號下每一次 API 呼叫的明細記錄,包括呼叫的模型、實際扣費、耗時、 是否流式、以及失敗時的錯誤碼。 它和餘額查詢 API 是互補的:餘額查詢告訴你「現在還剩多少錢」, 日誌查詢告訴你「錢花在哪了」。 三類典型用途:自動對賬
按時間段、按模型統計實際消費,與自己的業務賬單核對
故障自查
查失敗請求的錯誤碼,定位是引數問題還是上游問題
報障提工單
拿到
request_id 給客服,能精確定位到那一次呼叫控制台也能看日誌(「日誌」頁面)。本介面是同一份資料的程式化入口,適合需要自動化對賬、
定時匯出、或接入自己監控系統的場景。手動檢視請直接用控制台,見 如何檢視我的呼叫記錄。
如何獲取系統令牌
日誌介面用系統令牌認證,與 API Key 不是一回事(詳見文末注意事項)。1
訪問控制台
訪問
api.apiyi.com/account/profile 個人中心頁面2
找到系統令牌
在頁面最下方找到「賬號選項 - 系統令牌」部分
3
生成 AccessToken
輸入當前的賬戶密碼後,會得到一個 AccessToken,該金鑰可用於後續介面的查詢資料

介面資訊
請求說明
請求 Headers
查詢引數
日誌型別 type
響應說明
成功響應示例
關鍵響應欄位
other 欄位存的是一段 JSON 字串而不是巢狀物件,取用前需要再解析一次
(Python 用 json.loads(),JavaScript 用 JSON.parse())。裡面包含
billing_type(計費方式)、request_path(實際呼叫的端點)、group_ratio(分組倍率)、
model_ratio(模型倍率)、usage(用量明細)等。額度換算
換算規則
500,000 額度 = $1.00 美金 (USD)
quota ÷ 500,000
示例:
quota: 7500→ $0.015 USDquota: 22500→ $0.045 USDquota: 18→ $0.000036 USD
錯誤響應
HTTP 401 - 認證失敗
sk- 開頭)當成系統令牌使用。
解決方法: 回控制台重新生成系統令牌,確認 Authorization 裡填的是不帶 Bearer 字首的裸值。
程式碼示例
cURL 示例(單頁,快速驗證)
這條命令只能拿到 10 條。真正對賬請用下面帶翻頁的完整版。
Python 示例(帶翻頁,可直接執行)
Node.js 示例(帶翻頁)
fetch 會自動處理 gzip 解壓,Node.js 側無需額外配置(Python 的 requests 同理)。
只有 curl 需要顯式加 --compressed。典型場景
場景一:統計某段時間的花費
用上面的 Python 示例,關鍵是帶type=2 並把 quota 求和後除以 500,000。
如果只想看某個模型,加 model_name 引數即可。
場景二:找出失敗的呼叫
被閘道拒絕的請求(引數錯誤等)
quota 為 0,不產生扣費。日誌裡能看到 error_code,
方便你區分「呼叫失敗了」和「呼叫成功但結果不滿意」。場景三:報障時提供 request_id
在日誌裡定位到出問題的那次呼叫,把request_id 提供給客服,可以精確查到該次請求的
完整鏈路。這比描述「大概幾點呼叫 xx 模型失敗了」高效得多。
常見問題
為什麼我只拿到 10 條記錄?
為什麼我只拿到 10 條記錄?
page_size 的服務端上限就是 10,傳更大的值不會報錯但也不會生效。
需要拉更多資料必須翻頁(p=0、p=1、p=2 …),翻到返回空陣列為止。
上面的 Python 與 Node.js 示例已經封裝好這個邏輯。響應裡有些欄位是空的,是不是出問題了?
響應裡有些欄位是空的,是不是出問題了?
不是。部分欄位屬於平臺內部資訊,普通賬號視角下為空或 0,屬正常現象,
不影響對賬與排障需要的欄位(
quota、model_name、error_code、request_id 等都是完整的)。token_group 的值和控制台顯示的分組名不一樣?
token_group 的值和控制台顯示的分組名不一樣?
介面返回的是分組的識別符號,控制台顯示的是分組的展示名,兩者可能不同。
例如介面返回
default,控制台顯示「Default」。完整的對應關係可以從公開介面 https://api.apiyi.com/api/pricing 的 usable_group
欄位獲取,它是一個「識別符號 → 展示名」的對映表。如果你要讓自己的報表和控制台顯示一致,
需要自己做一次對映。quota 和 usage 裡的 token 數對不上怎麼辦?
quota 和 usage 裡的 token 數對不上怎麼辦?
以
quota 為準。quota 是本次呼叫實際扣除的額度,是唯一可用於對賬的欄位。
響應體裡的 token 數在部分按次計費的模型(如出圖、影片類)上可能是佔位值,
不參與計價 —— 這類模型的計價方式在 other.billing_type 裡會標為 by_count。日誌能查多久以前的?
日誌能查多久以前的?
通過
start_timestamp / end_timestamp 指定時間範圍即可。
具體的歷史資料保留期請諮詢客服。建議對賬資料定期匯出留存,不要長期依賴介面回查。curl 返回亂碼或 jq 報錯怎麼辦?
curl 返回亂碼或 jq 報錯怎麼辦?
原因: API 返回的是 gzip 壓縮內容(Python 的 requests 與 Node.js 的 fetch 會自動解壓,無需額外配置。
Content-Encoding: gzip),curl 沒有自動解壓。解決方案: 新增 --compressed 選項:查詢日誌會消耗額度嗎?
查詢日誌會消耗額度嗎?
不會。日誌查詢介面不消耗任何配額。
注意事項
請求限制
- 建議查詢間隔不少於 1 秒,避免頻繁請求觸發限流
- 建議設定合理的請求超時時間(推薦 30 秒)
- 大範圍時間段的拉取請做好翻頁與重試處理
相關文件
- 餘額查詢 API —— 查賬號剩餘額度
- 令牌管理 API —— 程式化建立與管理 API Key
- 如何檢視我的呼叫記錄 —— 控制台手動檢視
- 日誌與賬單怎麼看 —— 計費欄位解讀