用 JavaScript 同 Node.js 做貨幣換算
用全域 fetch API 攞即時匯率,喺 JavaScript 換算金額。Node 18+、Deno、Bun 同現代瀏覽器都用得。起步唔使 key,免費計劃每月 10,000 次呼叫。
喺 JavaScript 攞匯率最快嘅路徑,係用 fetch GET /v1/latest/USD。回應係普通 JSON,包含 31 種貨幣嘅匯率同兩個新鮮度欄位:source 同 market_session。第一次呼叫唔使 API key。
fetch 喺 Node 18+、Deno、Bun 同瀏覽器都係開箱即用,唔使額外依賴。/v1/latest/{base} 就返回 31 種貨幣嘅匯率,加埋 source 同 market_session。Authorization: Bearer exr_live_... 傳 key;如果平台設定唔到 Authorization,就用 X-API-Key。第一次呼叫,唔使 key
喺 Node 18 或者任何現代瀏覽器,fetch 已經有。一個 await 就讀到 EUR 匯率:
匿名呼叫係按 IP 地址設上限嘅,所以過咗簡單測試就應該轉用免費 key。
加 key 同錯誤處理
將 key 以 bearer token 形式放入 Authorization 標頭。檢查 res.ok,狀態唔對就 throw,等錯誤早啲浮面:
X-API-Key: exr_live_... 標頭都接受,畀嗰啲設定唔到 Authorization 標頭嘅平台用(部分 serverless runtime、Zapier 呢類 no-code 工具)。
換算一個金額
想直接換算就呼叫 /v1/convert/{from}/{to}/{amount}。一個來回就攞到匯率同換算結果:
convert 端點同 latest 一樣返回 source 同 market_session,所以你可以話畀用戶知匯率屬於邊一類,以及銀行同業交易週而家開唔開市。
理解 source 同 market_session
每個回應都有兩個欄位,講明匯率有幾新、屬於邊類。source 標示數據類別:live 係大約每 60 秒更新一次、貫穿成個交易週嘅綜合現貨共識值;ecb_daily 係歐洲央行每個工作日大約 16:00 CET 發佈一次嘅參考定盤價;fred_daily 係聯儲局每日系列。market_session 係 open、weekend,或者代表已知非週末休市嘅 interbank_closed。
data_updated_at 欄位話你知底層匯率最後一次寫入嘅時間;timestamp 記錄嘅係回應生成嘅時間。兩個一齊睇,就可以決定點快取、點顯示。
notice 欄位都有講明。免費計劃限額
免費 key 每月 10,000 次呼叫、每分鐘 12 次請求。註冊唔使信用卡。超過每分鐘上限 API 會回 429;後退再重試就得。每月配額喺你嘅計費週年日重設。
- 每月 10,000 次呼叫
- 每分鐘 12 次請求
- 唔使信用卡
- 涵蓋
/v1/latest、/v1/convert、/v1/range同/v1/{date}/{base}