跳转到内容
Guide

ExchangeRate-API 替代方案:货币换算加上 150 多个端点

| 6 min read

ExchangeRate-API 和 Fixer.io 仅进行货币转换。 Botoi 在一个 API 密钥下将实时汇率与 150 多个端点捆绑在一起。

Currency exchange rate board in a financial district
Photo by Markus Spiske on Unsplash

ExchangeRate-API 为您提供货币换算,仅此而已。 Fixer.io 为您提供汇率 就是这样。 如果您的应用程序还需要电子邮件验证、IP 地理定位和二维码,那么您现在 管理 4 个 API 密钥和 4 个计费周期。

Botoi 将实时货币兑换与 150 多个其他端点捆绑在一个密钥和一个配额下。 您可以获得常见用例的相同汇率数据(实时换算、当前汇率) 无需注册单一目的服务。

功能比较:ExchangeRate-API vs Fixer.io vs botoi

特征 汇率API Fixer.io 发表
免费等级限制 1,500 请求/月 100 请求/月 5 个请求/分钟,100 个请求/天(无密钥)
付费定价(入门) 9.99 美元/月 $14.99/月 9 美元/月
货币数量 161 170 170+
历史汇率 是(付费) 是(付费)
时间序列数据 是(付费) 是(付费)
免费层上的 HTTPS 是的 是的
包括其他端点 0 0 150+(IP、DNS、电子邮件、QR、PDF 等)
响应格式 JSON JSON JSON

主要区别:ExchangeRate-API 和 Fixer.io 是单一用途的 API。 每一块钱 您的支出仅用于货币数据。 Botoi 的计划包括汇率 其他一切,因此如果您已经在使用其他货币端点,那么货币端点实际上是免费的 博托伊功能。

Fixer.io HTTPS 问题

Fixer.io 的免费层不提供 HTTPS。 如果您正在构建任何运行在 浏览器中,您的请求通过纯 HTTP 进行。 这意味着混合内容警告、阻止请求 在 HTTPS 页面上,并且凭证在传输过程中可见。 您必须升级到付费计划 默认情况下,所有其他 API 都会为您提供一些东西。

ExchangeRate-API 和 botoi 在每个层上都提供 HTTPS 服务,包括免费的。

Botoi 的货币端点

三个端点涵盖通用货币操作。 全部接受带有 JSON 正文的 POST 并返回一致的 {"{"} "success": true, "data": {"{"} ... {"}"} {"}"} 结构。

两种货币之间转换

POST /v1/currency/convert

curl -X POST https://api.botoi.com/v1/currency/convert \\
  -H "Content-Type: application/json" \\
  -d '{"from": "USD", "to": "EUR", "amount": 100}'

回复:

{
  "success": true,
  "data": {
    "from": "USD",
    "to": "EUR",
    "amount": 100,
    "result": 91.80,
    "rate": 0.9180
  }
}

你得到转换后的 result 和原始的 rate 用过的。 两个领域 有用:向用户显示结果,显示透明度。

获取基础货币的所有汇率

POST /v1/currency/rates

curl -X POST https://api.botoi.com/v1/currency/rates \\
  -H "Content-Type: application/json" \\
  -d '{"base": "USD"}'

响应(截断):

{
  "success": true,
  "data": {
    "base": "USD",
    "rates": {
      "EUR": 0.9180,
      "GBP": 0.7891,
      "JPY": 149.52,
      "CAD": 1.3612,
      "AUD": 1.5340,
      "CHF": 0.8821,
      "INR": 83.4150,
      "BRL": 4.9720,
      "MXN": 17.1340
    }
  }
}

一项请求会返回 170 多个费率。 缓存在本地,您可以转换任何金额,无需 额外的 API 调用。 这是定价页面和结账流程的正确方法 需要多种目标货币。

列出所有支持的货币

POST /v1/currency-list/list

curl -X POST https://api.botoi.com/v1/currency-list/list \\
  -H "Content-Type: application/json"

响应(截断):

{
  "success": true,
  "data": {
    "currencies": {
      "USD": "United States Dollar",
      "EUR": "Euro",
      "GBP": "British Pound Sterling",
      "JPY": "Japanese Yen",
      "CAD": "Canadian Dollar",
      "...": "170+ currencies total"
    }
  }
}

使用它来填充用户界面中的货币下拉列表。 响应包括 每个受支持的代码及其全名。

实际示例:多币种定价表

SaaS 定价页面通常以 4-5 种货币显示价格。 这个 Node.js 函数 获取一次费率,将其缓存一小时,并为任何内容构建定价表 货币集。

const API_KEY = process.env.BOTOI_API_KEY;
const BASE = "https://api.botoi.com/v1";

const headers = {
  "Content-Type": "application/json",
  Authorization: \`Bearer \${API_KEY}\`,
};

// Fetch all rates once, cache for 1 hour, convert locally
let ratesCache = null;
let cacheTime = 0;
const ONE_HOUR = 60 * 60 * 1000;

async function getRates(base = "USD") {
  if (ratesCache && Date.now() - cacheTime < ONE_HOUR) {
    return ratesCache;
  }

  const res = await fetch(\`\${BASE}/currency/rates\`, {
    method: "POST",
    headers,
    body: JSON.stringify({ base }),
  });
  const { data } = await res.json();

  ratesCache = data.rates;
  cacheTime = Date.now();
  return ratesCache;
}

// Build a multi-currency pricing table
async function getPricingTable(priceUsd, currencies) {
  const rates = await getRates("USD");

  return currencies.map((currency) => ({
    currency,
    price:
      currency === "USD"
        ? priceUsd
        : Math.round(priceUsd * rates[currency] * 100) / 100,
    rate: rates[currency] || 1,
  }));
}

// Usage
const table = await getPricingTable(29, ["USD", "EUR", "GBP", "JPY", "BRL"]);
console.log(table);
// [
//   { currency: "USD", price: 29, rate: 1 },
//   { currency: "EUR", price: 26.62, rate: 0.918 },
//   { currency: "GBP", price: 22.88, rate: 0.7891 },
//   { currency: "JPY", price: 4336, rate: 149.52 },
//   { currency: "BRL", price: 144.19, rate: 4.972 }
// ]

该函数每小时调用一次 API,而不是每个访问者调用一次。 定价页面 每天获得 10,000 次浏览使用 24 个 API 请求。 这完全属于免费套餐。

ExchangeRate-API 和 Fixer.io 仍然获胜

专用货币 API 的存在是有原因的。 他们提供了 botoi 没有的功能。

  • 历史汇率。 ExchangeRate-API 和 Fixer.io 都提供任何汇率 过去的日期。 Botoi 仅返回当天的汇率。 如果您正在制作财务报告, 会计工具,或者趋势图,你需要历史数据。
  • 时间序列端点。 两者都提供返回某个日期的费率的端点 单个请求中的范围。 Botoi 没有类似的东西。
  • 波动数据。 Fixer.io 返回两个日期之间的百分比变化。 对于货币仪表板和警报系统很有用。
  • 速率更新频率。 ExchangeRate-API 每天更新多次 更高层次。 Botoi 的汇率每个工作日通过欧洲中央银行更新一次 和其他公共来源。

如果历史数据、时间序列查询或日内汇率更新是核心需求, 专用的货币 API 是正确的选择。 Botoi 涵盖了 80% 情况的实时转化: 定价页面、结帐流程、发票生成和显示货币切换。

为什么捆绑方法很重要

考虑一个典型的 SaaS 结账流程。 您需要货币转换才能显示本地 价格。 您还需要电子邮件验证来验证买家的地址。 您需要IP地理定位 自动检测他们的国家并预填充货币。 您可能需要一个二维码 付款链接。

对于单一用途的 API,有四个提供商:货币的 ExchangeRate-API、ZeroBounce 对于电子邮件,ipinfo.io 用于地理位置,QRCode Monkey 用于二维码。 四把钥匙,四把 计费仪表板、四组文档、四种错误格式。

对于 botoi,这是一把钥匙。 /v1/currency/convert, /v1/email/validate, /v1/ip/lookup, 和 /v1/qr/generate 都共享相同的身份验证、相同的响应 结构,每月配额相同。 您的错误处理代码适用于所有这些。

要点

  • ExchangeRate-API 和 Fixer.io 是单一用途的货币 API。 他们强于 历史数据、时间序列查询、波动跟踪。 Botoi 不提供 这些功能。
  • 波托伊的 /v1/currency/convert, /v1/currency/rates, 和 /v1/currency-list/list 涵盖 170 多种货币的实时兑换。 价格 每个工作日更新一次。
  • Fixer.io 在其免费层上对 HTTPS 访问收费。 ExchangeRate-API 和 botoi 包括 默认情况下。
  • Botoi 的价值在于捆绑:货币兑换加上 150 多个其他端点(电子邮件、IP、 DNS、二维码、PDF 等)一键一张账单。
  • 如果您只需要汇率,请选择专用的货币 API。 如果您的应用需要交换 与验证、查找和生成端点一起进行速率计算,botoi 消除了 多提供商的开销。

FAQ

botoi币种API支持多少种币种?
botoi货币API支持170多种法定货币和常见数字货币。 您可以通过调用 POST /v1/currency-list/list 获取完整列表,该列表会返回所有支持的货币代码和名称。
botoi有历史汇率数据吗?
不会。Botoi 提供每个工作日更新一次的实时汇率。 如果您需要历史时间序列数据、日期范围查询或波动端点,则 ExchangeRate-API 或 Fixer.io 是该特定用例的更好选择。
我可以在没有 API 密钥的情况下使用 botoi 货币 API 吗?
是的。 匿名访问的速度为每分钟 5 个请求和每天 100 个请求,并具有基于 IP 的速率限制。 无需注册或信用卡。 如需更高吞吐量,付费计划起价为 9 美元/月。
botoi 的免费套餐是否支持 HTTPS?
是的。 每个 botoi 端点(包括免费的匿名层)都通过 HTTPS 提供服务。 Fixer.io 仅将 HTTPS 访问限制为付费计划。
除了货币兑换之外,botoi 订阅还附带哪些其他端点?
每个 botoi 计划都包括 150 多个端点,涵盖查找(IP 地理位置、DNS、WHOIS、电子邮件验证)、文本处理(Base64、JSON、Markdown、CSV)、开发人员实用程序(哈希、UUID、JWT、cron、正则表达式)、图像生成(QR 代码、OG 图像、屏幕截图)和安全性(信用卡验证、IBAN、加密)。 一键,一配额。

开始使用 botoi 构建

150+ 个 API 端点,涵盖查询、文本处理、图片生成和开发者工具。免费套餐,无需信用卡。