成本控制

本文介绍如何有效控制 API 使用成本。

成本构成

API 调用成本 = 调用次数 × 单价

不同接口有不同的计费标准,详见 产品定价

优化策略

1. 缓存查询结果

对于变化不频繁的数据,缓存查询结果避免重复调用:

// 企业工商信息通常不会频繁变化
const CACHE_DURATION = 24 * 60 * 60 * 1000; // 24小时

async function getCompanyInfo(companyName) {
  const cacheKey = `company:${companyName}`;
  const cached = await redis.get(cacheKey);
  
  if (cached) {
    return JSON.parse(cached);
  }
  
  const result = await api.enterprise.info(companyName);
  await redis.setex(cacheKey, CACHE_DURATION, JSON.stringify(result));
  
  return result;
}

2. 批量查询

使用批量接口替代单条查询:

// ❌ 不推荐:多次单条查询
for (const item of items) {
  await api.verify(item); // N 次计费
}

// ✅ 推荐:批量查询
await api.batchVerify(items); // 1 次计费(或更优惠的批量价格)

3. 按需查询

只查询需要的数据维度:

# 完整报告(费用较高)
POST /v1/enterprise/report?type=comprehensive

# 基础信息(费用较低)
POST /v1/enterprise/report?type=basic

4. 预检查

在调用付费接口前,先用免费/低价接口预筛选:

// 先用低成本接口判断
const exists = await api.enterprise.exists(companyName);

if (exists) {
  // 再调用高成本接口
  const detail = await api.enterprise.detail(companyName);
}

用量监控

设置预警

在控制台设置用量预警,避免超支:

  • 日调用量预警
  • 月费用预警
  • 套餐余量预警

查看账单

定期查看用量明细,分析成本构成:

GET /v1/billing/usage?startDate=2024-01-01&endDate=2024-01-31

套餐选择

使用场景推荐套餐
低频调用按量付费
稳定用量月度套餐
大客户年度协议价

成本报告

月度成本报告示例:

接口类型调用次数单价费用
身份验证10,000¥0.10¥1,000
企业查询500¥1.00¥500
合计¥1,500