Chuyển đến nội dung chính
Elimapi

Cách xác thực API requests

Khi nào dùng hướng dẫn này

Dùng khi bạn cần gọi bất kỳ API Elimapi nào. Trước tiên bạn chọn một trong hai phương thức xác thực:

Phương thứcKhi nào dùng
Access Token (JWT)Ứng dụng có giao diện người dùng, cần đăng nhập định kỳ
API KeyTích hợp hệ thống tự động (server-to-server), không cần quản lý phiên đăng nhập

Tham chiếu đầy đủ (endpoints, mã lỗi, định mức): Tham chiếu xác thực

Điều kiện trước

Cách 1: Xác thực bằng Access Token (JWT)

Bước 1 — Đăng nhập lấy token

Gửi request POST đến endpoint đăng nhập:

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

Response trả về access_token cùng refresh_token.

Bước 2 — Đính kèm token vào mọi request

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

Lưu ý quan trọng:

  • Token có hiệu lực trong 90 ngày.
  • Nên lưu 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.

Cách 2: Xác thực bằng API Key

Bước 1 — Tạo API Key trên Dashboard

  1. Trên Dashboard, đặt tên gợi nhớ (ví dụ: Production Server) và nhấn Generate.
  2. Hệ thống chỉ hiển thị mã Key đầy đủ một lần duy nhất — lưu lại ngay.
  3. Quản lý danh sách Key: xem ngày tạo, lần cuối sử dụng, hoặc Revoke ngay nếu Key bị lộ.

[!IMPORTANT] Bảo mật: 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ẻ trên các nền tảng công khai (GitHub, diễn đàn) hoặc cho bên thứ ba không tin cậy.

Bước 2 — Gửi key trong header x-api-key

Thêm trường x-api-key vào header của mỗi request:

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"}'

Xác minh kết quả

Gửi một request tìm kiếm thử; nhận response 200 với dữ liệu sản phẩm là đã xác thực thành công:

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"}'

Xử lý lỗi thường gặp

Mã lỗiNguyên nhânCách xử lý
401Token/API Key thiếu, sai hoặc hết hạnKiểm tra lại header Authorization hoặc x-api-key
403Tài khoản bị khóa hoặc không đủ quyềnKiểm tra trạng thái tài khoản trên Dashboard
429Vượt quá rate limitGiảm tần suất gọi hoặc nâng cấp gói

Ví dụ mã nguồn (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.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

Liên kết liên quan