跳到主要内容
Elimapi

如何对 API 请求进行身份验证

何时使用本指南

当您需要调用任意 Elimapi API 时使用。首先选择以下两种身份验证方式之一:

方式适用场景
访问令牌 (JWT)应用具有用户界面,需要定期登录
API 密钥自动化系统集成(服务器到服务器),无需管理登录会话

完整参考(端点、错误码、配额):身份验证参考

前提条件

  • 已激活的 Elimapi 账户 — 参见注册账户
  • Base URL:https://openapi.elim.asia

方式 1:使用访问令牌 (JWT) 进行身份验证

第 1 步 — 登录获取令牌

向登录端点发送 POST 请求:

POST /v1/auth/login
Content-Type: application/json
Accept: application/json
{
  "email": "[email protected]",
  "password": "password"
}

响应返回 access_token 和 refresh_token。

第 2 步 — 在每个请求中附带令牌

Authorization: Bearer {access_token}
Accept: application/json
Content-Type: application/json

重要说明:

  • 令牌有效期为 90 天。
  • 建议将令牌存储在系统缓存(Redis/Memcached)中,以获得最佳性能。
  • 不要与第三方共享令牌。

方式 2:使用 API 密钥进行身份验证

第 1 步 — 在控制台创建 API 密钥

  1. 在控制台设置一个助记名称(例如:Production Server),然后点击 Generate。
  2. 系统仅显示一次完整的密钥代码 — 请立即保存。
  3. 管理密钥列表:查看创建日期、最后使用时间,或在密钥泄露时立即 Revoke。

[!IMPORTANT] 安全: API 密钥拥有与您账户等效的访问权限。切勿在公共平台(GitHub、论坛)上共享,也不要提供给不受信任的第三方。

第 2 步 — 在 x-api-key 请求头中发送密钥

在每个请求的请求头中添加 x-api-key 字段:

curl -X POST "https://openapi.elim.asia/v1/products/search" \
     -H "x-api-key: your_api_key_here" \
     -H "Content-Type: application/json" \
     -d '{"q": "keyword", "platform": "taobao"}'

验证结果

发送一个搜索测试请求;收到 200 响应并带有产品数据即表示身份验证成功:

curl -X POST "https://openapi.elim.asia/v1/products/search" \
     -H "x-api-key: YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"q": "áo thun", "platform": "taobao"}'

处理常见错误

错误码原因处理方法
401令牌/API 密钥缺失、错误或已过期检查 Authorization 或 x-api-key 请求头
403账户被锁定或权限不足在控制台检查账户状态
429超出速率限制降低调用频率或升级套餐

代码示例(使用 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.post('/products/search', { q: keyword, platform: 'taobao' })
    console.log(response.data)
  } catch (error) {
    console.error('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.post(API_URL, headers=HEADERS, json={"q": keyword, "platform": "taobao"})
    if response.status_code == 200:
        return response.json()
    return None

相关链接