认证
在设置页创建 API key。完整密钥只显示一次,请复制到你的 Agent 或密钥管理器,之后页面只会显示脱敏后的 key。
Authorization: Bearer ecw_live_...
X-API-Key: ecw_live_...额度与限速
API 调用有独立用量记录。每次响应都会返回剩余额度和限速信息,方便你的 Agent 判断是否继续请求。
X-Quota-Limit: 1000
X-Quota-Remaining: 997
X-RateLimit-Limit: 30安全重试
如果网络超时或 Agent 自动重试,请带上同一个 Idempotency-Key。相同请求编号和相同内容会复用结果,避免重复生成或重复扣量。
Idempotency-Key: order-sync-2026-06-14-001当前套餐额度
额度按 API key 所属用户的当前会员等级计算。请让 Agent 顺序发送请求;每次响应里的 quota 和 rateLimit 是 Agent 判断是否继续请求的准确信号。
| 会员 | API 调用 | 每天额度 | 单次请求 | 每分钟 | 使用说明 |
|---|---|---|---|---|---|
| Basic | 当前不包含 API 调用额度 | 不可用 | 不可用 | 不可用 | 如果接口返回 membership_required,请停止调用并检查当前账号套餐。 |
| Pro | 可调用 | 1,000 次计算 | 1 个场景 | 30 次请求 | 一次请求计算一个产品/场景,不使用 quantity 字段。适合把广告表、商品表或内部 Agent 的利润护栏统一到同一公式。 |
| Max | 可调用 | 10,000 次计算 | 1 个场景 | 120 次请求 | 一次请求计算一个产品/场景,不使用 quantity 字段。适合把广告表、商品表或内部 Agent 的利润护栏统一到同一公式。 |
请顺序调用
同一个 API key 对同一个工具一次只处理一个请求。如果返回 429 concurrency_limited,请等待上一个请求完成后,用同一个 Idempotency-Key 重试。
复制给你的 Agent
把这段话交给你的自动化 Agent,它会知道如何认证、请求、处理额度、限速和安全重试。
你是我的自动化 Agent。请使用 Ecomwith Tool API 调用 Break-even ROAS API,不要输出完整 API key。
认证:
- 从环境变量 ECOMWITH_API_KEY 读取密钥。
- 请求头使用 Authorization: Bearer <ECOMWITH_API_KEY>。
请求:
- Endpoint: POST https://ecomwith.com/api/v1/tools/break-even-roas/calculate
- Body 示例: {"price":49,"productCost":14,"shippingCost":6,"paymentFeeRate":4,"refundRate":5,"targetProfit":8}
- 一次请求计算一个产品/场景,消耗 1 个 calculation 额度。
当前额度:
- Pro: 每天 1,000 次计算,每分钟最多 30 次请求。
- Max: 每天 10,000 次计算,每分钟最多 120 次请求。
调用规则:
- 顺序调用,不要并发调用同一个工具。
- 每个产品/场景使用稳定 Idempotency-Key,例如 break-even-sku-123。
- 如果返回 concurrency_limited、rate_limited、quota_exceeded 或 idempotency_conflict,请按错误码停止或重试。
成功后请返回 result.breakEvenRoas、result.targetProfitRoas、result.maxCpa、result.targetCpa、quota.remaining 和 rateLimit.remaining。示例请求
curl -X POST https://ecomwith.com/api/v1/tools/break-even-roas/calculate \
-H "Authorization: Bearer $ECOMWITH_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: break-even-sku-001" \
-d '{"price":49,"productCost":14,"shippingCost":6,"paymentFeeRate":4,"refundRate":5,"targetProfit":8}'