跳至主要內容

交易與花費

儲值即將開放

支付寶儲值即將開放;微信支付將在網域啟用 HTTPS 後開放。開放之前暫時無法線上儲值,如有疑問請聯絡 finance@superheat.cloud。

每一筆進出組織的餘額,都會寫進一本僅能附加的帳本。主控台的 帳單 頁面用兩種方式呈現它:一張圖表看出你花錢的形狀,一張表格列出背後的確切記錄。

交易清單​

表格由新到舊排列,一次顯示 50 筆;載入更多 會取得下一頁。

欄位內容
日期這筆記錄寫入的時間,精確到秒
類型這是哪一種記錄
明細扣費記錄會顯示它所屬的執行個體與涵蓋的時長;其他記錄見下文
金額餘額的帶正負號變化量,儲值為正
餘額這筆記錄之後的餘額

你會看到的類型:

類型主控台標籤由什麼產生
topup額度儲值一筆確認完成的支付寶或微信支付付款
charge_gpuGPU 用量執行時間,每個執行個體每個整點小時一列
charge_storage儲存空間停止期間的硬碟時間,每個執行個體每個整點小時一列
adjustment調整由 Superheat CN 財務團隊人工辦理的退款或更正

退款不會自動發生。需要退款時由財務團隊人工辦理,並在帳本裡記一筆 adjustment。支付寶或微信回報某筆已入帳的付款被退款或關閉時,餘額也不會被自動扣減:平台會把它標記出來,由財務團隊核對後處理。有疑問請寫信到 finance@superheat.cloud。

財務團隊透過 Superheat 的員工工具記入的調整帶有 meta.reason staff_adjustment。這時它的 類型 顯示為客服調整而不是調整,明細 中顯示他們寫給你的備註。

對扣費記錄而言,明細 欄位會連到該執行個體的 帳單 分頁,並顯示這一列涵蓋的時長,例如 47 分 0 秒。仍在進行中的那個小時的記錄會標為進行中。儲值沒有對應的執行個體,改為顯示付款方式(透過支付寶、透過微信支付)。客服調整顯示備註,其他調整顯示一條短橫線。

每個執行個體每小時一列​

費用仍然大約每分鐘結算一次,和計費如何運作所說的完全相同,但不再每次結算各寫一列。每個執行個體在目前的整點小時裡有一筆開著的扣費記錄,每分鐘的結算都會加到它上面:它的金額、涵蓋的時長和它之後的餘額一起增長,直到這一列關閉。發生以下情況時,這一列關閉,下一次結算會開一列新的:

  • 這個整點小時結束;
  • 執行個體改變狀態——停止、啟動或銷毀,會為到那一刻為止的時間單獨寫一列已關閉的記錄;
  • 費率改變,或執行個體換到另一台機器;
  • 在它之後寫入了一筆儲值或調整。付款之後的餘額永遠不會被改寫,所以一列不會越過它繼續增長。

所以一個整天執行的執行個體大約產生 24 列,而不是 1,440 列;在一個小時中間停止,會讓這一小時的記錄提前結束。要看單一執行個體的總額,請開啟該執行個體並查看 已結算支出;要看每日總額,請用圖表。不到一分的金額會顯示到小數點後四位,所以一筆小額儲存費用讀起來會像 ¥0.0067(示例),而不是 ¥0.00。

支出圖表​

支出 — 最近 30 天 每天畫一個點,標題旁邊是 30 天的總額。把游標停在某個點上會顯示那天的數字。

這張圖表算的是什麼:

  • 只算 GPU 費用與儲存費用。儲值與調整不列入 — 這是花費,不是現金流。
  • 日期依你瀏覽器所在時區的日曆日分桶 —— 在中國大陸就是北京時間;瀏覽器提供不了時區時,依 Asia/Shanghai。主控台會把這個時區傳給 API,由 API 依它分桶。
  • 沒有費用的日子畫成零,而不是跳過,這也是圖表在幾波工作之間出現平坦區段的原因。

這些端點​

兩個端點讀的都是目前組織的帳本。請送出 bearer token — 已登入的工作階段或 shk_ 組織 API 金鑰都可以。用工作階段時,由 X-Org-Id 決定組織,沒有這個標頭時則使用個人組織;API 金鑰被綁定在自己的組織上,為其他任何組織送出 X-Org-Id 都會被拒絕並回傳 ORG_MISMATCH。兩個端點都不需要管理員權限,所以成員或 API 金鑰都讀得到。請參閱 驗證。

GET /v1/billing/transactions​

curl "$SUPERHEAT_API/v1/billing/transactions?limit=100" \
-H "Authorization: Bearer $SUPERHEAT_TOKEN" \
-H "X-Org-Id: $ORG_ID"
參數範圍預設值作用
limit1 到 20050每頁筆數
cursor一筆記錄的 id—回傳比這個 id 更舊的記錄
instance_id一個執行個體 id—把這一頁限制在單一執行個體

記錄由新到舊放在 items 中回傳,旁邊還有一個 next_cursor。把那個值當作 cursor 傳入就能取得下一頁;當它回傳 null 時,代表你已經讀到帳本的盡頭。

每筆記錄帶有它的 id(同時充當分頁游標)、它的 type、它所屬的 instance_id(儲值或調整則為 null)、一個 created_at 時間戳記、它的帶正負號金額 amount_micro,以及這筆記錄產生後的餘額 balance_after_micro。金額以百萬分之一元計:2290000 就是 ¥2.29。儲值還會帶 provider(alipay 或 wechat),針對某筆訂單記入的客服調整也會帶;調整有原因時帶 meta.reason,例如 staff_adjustment,客服調整的 meta.note 就是 明細 中顯示的備註。

計量類的扣費會帶一個 meta 物件,包含 period_start、period_end、seconds(這一列計費的時長)、rate_micro_per_hour 與 settlements(它累加了多少次每分鐘結算;按小時成列之前寫入的記錄沒有這個計數,每筆就是一次結算)。它的 created_at 是第一次結算執行的時間,而且這一列只接收同一個整點小時裡的結算。執行個體仍在往上累加的那一列 accruing 為 true:在它關閉之前,它的金額、meta.seconds、meta.period_end 與 meta.settlements 都會增長,它之後的餘額、以及排在它後面的扣費記錄之後的餘額也會跟著變動。其他每筆記錄一經寫入就是最終的。如果你把帳本複製到別處,請反覆重新讀取 accruing 的記錄,直到它變成 false。

要拉出單一執行個體的費用:

curl "$SUPERHEAT_API/v1/billing/transactions?instance_id=$INSTANCE_ID&limit=200" \
-H "Authorization: Bearer $SUPERHEAT_TOKEN" \
-H "X-Org-Id: $ORG_ID"

GET /v1/billing/spend-daily​

curl "$SUPERHEAT_API/v1/billing/spend-daily?days=90" \
-H "Authorization: Bearer $SUPERHEAT_TOKEN" \
-H "X-Org-Id: $ORG_ID"
參數範圍預設值作用
days1 到 9030往回彙總多久
tzIANA 時區名稱,例如 Asia/ShanghaiUTC依哪個時區的日曆日分組。API 不認得的名稱會回傳 422 INVALID_TIME_ZONE

這就是圖表的資料來源:GPU 與儲存費用依 tz 的日曆日分組,由舊到新,每筆記錄帶有一個 date 與那天的總額 spend_micro。不傳 tz 時依 UTC 分組;想拿到和主控台一樣的北京時間日期,請加上 tz=Asia/Shanghai。只有有費用的日子才會出現,所以安靜的一週不會產生任何記錄,而不是一連串的零 — 如果你要畫連續的序列,缺口要自己補。

相關內容​