Xác thực hệ thống
Hệ thống Elim Taobao & 1688 API hỗ trợ hai phương thức xác thực chính để bạn có thể truy cập vào các tài nguyên API tùy theo nhu cầu sử dụng:
- Access Token (JWT): Phù hợp cho các ứng dụng có giao diện người dùng, yêu cầu đăng nhập định kỳ.
- API Key: Phù hợp cho việc tích hợp hệ thống tự động (Server-to-Server), không cần quản lý phiên đăng nhập.
1. Xác thực qua Access Token (JWT)
Phương thức này yêu cầu bạn thực hiện đăng nhập để lấy mã Token ngắn hạn (JWT).
Đăng nhập lấy Token
Xem chi tiết API: Đăng nhập
Thực hiện yêu cầu POST đến endpoint sau:
POST /v1/auth/login
Content-Type: application/json
Accept: application/json
Cách sử dụng Access Token
Sau khi đăng nhập thành công, bạn sẽ nhận được một access_token. Mọi yêu cầu API sau đó cần gửi kèm token này trong tiêu đề (header):
Authorization: Bearer {access_token}
Accept: application/json
Content-Type: application/json
Lưu ý quan trọng:
- Token có hiệu lực trong 30 ngày.
- Khuyến nghị lưu trữ token trong hệ thống cache (Redis/Memcached) để tối ưu hiệu suất.
- Không chia sẻ token với bên thứ ba.
2. Xác thực qua API Key
API Key là phương thức xác thực cho phép bạn truy cập vào hệ thống một cách tự động thông qua các ứng dụng hoặc mã nguồn mà không cần quản lý mã JWT.
API Key là gì?
API Key là một chuỗi ký tự định danh duy nhất liên kết với tài khoản của bạn. Bạn đính kèm mã này trong tiêu đề x-api-key của mỗi HTTP request.
[!IMPORTANT] Bảo mật quan trọng: API Key có quyền truy cập tương đương với tài khoản của bạn. Tuyệt đối không chia sẻ mã này trên các nền t hạn công khai (GitHub, diễn đàn) hoặc cho bên thứ ba không tin cậy.
Quản lý API Key
- Tạo mới: Trên Dashboard, đặt tên gợi nhớ (ví dụ:
Production Server) và nhấn Generate. Hệ thống chỉ hiển thị mã Key đầy đủ một lần duy nhất. - Danh sách: Bạn có thể xem danh sách các Key đang hoạt động, ngày tạo và lần cuối sử dụng.
- Thu hồi (Revoke): Nếu Key bị lộ, hãy thực hiện Revoke ngay lập tức để hủy bỏ quyền truy cập của Key đó.
Cách sử dụng API Key
Thêm trường x-api-key vào tiêu đề HTTP của mỗi yêu cầu gửi đi.
Ví dụ với 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. Định mức và Giới hạn (Quotas & Limits)
Các phương thức xác thực đều tuân theo định mức tài nguyên của tài khoản người dùng:
- Gói đăng ký (Subscription): Nếu gói (Free, Pro, Enterprise) hết hạn, các yêu cầu API sẽ bị từ chối.
- Lượt yêu cầu (Usage Quota): Mỗi yêu cầu thành công sẽ trừ vào tổng lượt yêu cầu trong tháng của gói bạn đang sử dụng.
- Tín dụng (Credits): Nếu hết quota của gói, hệ thống sẽ tự động trừ vào số dư Credits (nếu có).
- Rate Limit: Giới hạn tốc độ gọi API được áp dụng để đảm bảo ổn định hệ thống.
4. Các mã lỗi thường gặp
| Mã lỗi | Ý nghĩa | Cách xử lý |
|---|---|---|
| 401 Unauthorized | Token hoặc API Key bị thiếu, sai hoặc hết hạn. | Kiểm tra lại header Authorization hoặc x-api-key. |
| 403 Forbidden | Tài khoản bị khóa hoặc không đủ quyền truy cập. | Kiểm tra trạng thái tài khoản trên Dashboard. |
| 429 Too Many Requests | Vượt quá giới hạn tốc độ (Rate Limit). | Giảm tần suất gọi API hoặc nâng cấp gói cước. |
| 402 Payment Required | Hết quota và không còn tín dụng (Credits). | Nâng cấp gói hoặc mua thêm lượt yêu cầu. |
5. Ví dụ mã nguồn (Sử dụng API Key)
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:', 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
Tài liệu này thuộc quyền sở hữu của Elim Taobao & 1688 API System. Mọi thắc mắc vui lòng liên hệ Telegram