系统身份验证
Elim Taobao & 1688 API 系统支持两种主要的身份验证方式,以根据您的需求访问 API 资源:
- 访问令牌 (JWT): 适用于具有用户界面、需要定期登录的应用。
- API 密钥 (API Key): 适用于自动化系统集成(服务器对服务器),无需管理登录会话。
1. 通过访问令牌 (JWT) 进行验证
此方法要求您执行登录以获取短期访问令牌 (JWT)。
登录以获取令牌
查看 API 详情:登录
向以下端点发送 POST 请求:
POST /v1/auth/login
Content-Type: application/json
Accept: application/json
如何使用访问令牌
成功登录后,您将收到一个 access_token。随后的所有 API 请求都需要在请求头中包含此令牌:
Authorization: Bearer {access_token}
Accept: application/json
Content-Type: application/json
重要说明:
- 令牌有效期为 30 天。
- 建议将令牌存储在系统缓存中(如 Redis/Memcached)以获得最佳性能。
- 不要与第三方共享令牌。
2. 通过 API 密钥进行验证
API 密钥是一种身份验证方法,允许您通过应用程序或源代码自动访问系统,而无需管理 JWT 代码。
什么是 API 密钥?
API 密钥是与您的账户关联的唯一标识符字符串。您在每个 HTTP 请求的 x-api-key 请求头中附加此密钥。
[!IMPORTANT] 安全至关重要: API 密钥具有与您账户等效的访问权限。切勿在公共平台(GitHub、论坛)或向不受信任的第三方公开此密钥。
管理 API 密钥
- 新建: 在控制面板中设置一个助记名称(例如:
Production Server)并点击 Generate。系统 仅显示一次 完整的密钥。 - 列表: 您可以查看活动密钥列表、其创建日期和最后使用时间。
- 吊销 (Revoke): 如果发现密钥泄露,请立即执行 Revoke 以取消其访问权限。
如何使用 API 密钥
在发送的每个请求的 HTTP 请求头中添加 x-api-key 字段。
cURL 示例:
curl -X GET "https://openapi.elim.asia/v1/products/search" \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json"
3. 配额与限制 (Quotas & Limits)
所有身份验证方法均遵循用户账户的资源配额:
- 订阅 (Subscription): 如果套餐(免费版、专业版、企业版)过期,API 请求将被拒绝。
- 使用配额 (Usage Quota): 每个成功的请求都将从您套餐的月度总配额中扣除。
- 积分 (Credits): 如果套餐配额用完,系统将自动从您的积分余额中扣除(如果有)。
- 频率限制 (Rate Limit): 应用 API 调用频率限制以确保系统稳定性。
4. 常见错误代码
| 错误代码 | 含义 | 解决方法 |
|---|---|---|
| 401 Unauthorized | 令牌或 API 密钥缺失、错误或已过期。 | 检查 Authorization 或 x-api-key 请求头。 |
| 403 Forbidden | 账户已锁定或权限不足。 | 在控制面板中检查账户状态。 |
| 429 Too Many Requests | 超出频率限制 (Rate Limit)。 | 降低调用频率或升级套餐。 |
| 402 Payment Required | 配额已用完且无剩余积分。 | 升级您的套餐或增加购买请求配额。 |
5. 代码示例 (使用 API 密钥)
JavaScript (Axios)
const axios = require('axios');
const client = axios.create({
baseURL: 'https://openapi.elim.asia/v1',
headers: {
'x-api-key': 'YOUR_API_KEY_HERE',
'Content-Type': 'application/json',
},
});
async function searchProduct(keyword) {
try {
const response = await client.get('/products/search', { params: { q: keyword } });
console.log(response.data);
} catch (error) {
console.error('错误:', error.response.status);
}
}
Python (Requests)
import requests
API_URL = "https://openapi.elim.asia/v1/products/search"
HEADERS = {
"x-api-key": "YOUR_API_KEY_HERE",
"Content-Type": "application/json"
}
def search_product(keyword):
response = requests.get(API_URL, headers=HEADERS, params={"q": keyword})
if response.status_code == 200:
return response.json()
return None
本文档归 Elim Taobao & 1688 API 系统所有。如有任何疑问,请联系 Telegram