认证 (Authentication)
所有的 API 请求都需要通过 API Key 进行身份验证。您可以在开发者控制台中获取您的 API Key。
在发送请求时,请在 HTTP 请求头中包含 Authorization 字段:
Authorization: Bearer YOUR_API_KEY注意: 请妥善保管您的 API Key,不要将其硬编码在客户端代码或公开的代码仓库中。
接口定义 (Interface Definitions)
POST计算碳排放量
通过活动数据计算对应的碳排放量。
请求 URL
https://api.carbonstop.com/v1/calc/emission
请求参数 (Body)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| activity | String | 是 | 活动类型,如 electricity、flight |
| amount | Number | 是 | 活动数据量 |
| unit | String | 是 | 数据单位,如 kWh、km |
请求示例
json
{
"activity": "electricity",
"amount": 1000,
"unit": "kWh"
}错误码 (Error Codes)
当 API 请求失败时,会返回相应的 HTTP 状态码和包含错误详情的 JSON 响应。
| HTTP 状态码 | 错误码 (Code) | 说明 |
|---|---|---|
| 400 | invalid_request | 请求参数有误,请检查必填项和数据格式。 |
| 401 | unauthorized | API Key 无效或已过期。 |
| 403 | forbidden | 权限不足,无法访问该接口。 |
| 429 | rate_limit_exceeded | 请求过于频繁,触发限流。 |
| 500 | internal_error | 服务器内部错误,请稍后重试。 |
SDK 示例 (SDK Examples)
我们提供了多种语言的 SDK,帮助您更便捷地调用 API。
Node.js / TypeScript
typescript
import { CarbonstopClient } from '@carbonstop/sdk';
const client = new CarbonstopClient({
apiKey: 'YOUR_API_KEY',
});
async function calculate() {
const result = await client.calc.emission({
activity: 'electricity',
amount: 1000,
unit: 'kWh'
});
console.log(result);
}Python
python
from carbonstop import CarbonstopClient
client = CarbonstopClient(api_key='YOUR_API_KEY')
result = client.calc.emission(
activity='electricity',
amount=1000,
unit='kWh'
)
print(result)最佳实践 (Best Practices)
处理限流 (Rate Limiting)
建议在客户端实现指数退避(Exponential Backoff)重试机制,以优雅地处理 429 状态码,避免请求被持续拒绝。
密钥安全
API Key 具有极高的权限,请勿将其暴露在前端代码(如浏览器端 JS)中。所有的 API 调用都应通过您的后端服务器进行代理。
数据校验
在发送请求前,请在您的服务端进行基本的数据格式校验,以减少不必要的网络请求和潜在的 400 错误。
