Elimapi Docs

การยืนยันตัวตนของระบบ

ระบบ Elim Taobao & 1688 API รองรับวิธีการยืนยันตัวตนหลักสองวิธีเพื่อเข้าถึงทรัพยากร API ตามความต้องการของคุณ:

  1. Access Token (JWT): เหมาะสำหรับแอปพลิเคชันที่มีส่วนต่อประสานกับผู้ใช้ (User Interface) ที่ต้องการการเข้าสู่ระบบเป็นระยะ
  2. API Key: เหมาะสำหรับการรวมระบบอัตโนมัติ (Server-to-Server) โดยไม่ต้องจัดการเซสชันการเข้าสู่ระบบ

1. การยืนยันตัวตนผ่าน Access Token (JWT)

วิธีนี้กำหนดให้คุณต้องเข้าสู่ระบบเพื่อรับ Access Token (JWT) ระยะสั้น

เข้าสู่ระบบเพื่อรับ Token

ดูรายละเอียด API: Login

ส่งคำขอ POST ไปยังเอ็นด์พอยต์ต่อไปนี้:

POST /v1/auth/login
Content-Type: application/json
Accept: application/json

วิธีการใช้ Access Token

หลังจากเข้าสู่ระบบสำเร็จ คุณจะได้รับ access_token คำขอ API ทั้งหมดหลังจากนั้นจะต้องระบุโทเค็นนี้ในส่วนหัว (Header):

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

หมายเหตุสำคัญ:

  • โทเค็นมีอายุการใช้งาน 30 วัน
  • แนะนำให้จัดเก็บโทเค็นไว้ในระบบแคช (Redis/Memcached) เพื่อประสิทธิภาพสูงสุด
  • ห้ามแบ่งปันโทเค็นกับบุคคลภายนอก

2. การยืนยันตัวตนผ่าน API Key

API Key เป็นวิธีการยืนยันตัวตนที่ช่วยให้คุณเข้าถึงระบบได้โดยอัตโนมัติผ่านแอปพลิเคชันหรือซอร์สโค้ดโดยไม่ต้องจัดการรหัส JWT

API Key คืออะไร?

API Key คือชุดสตริงระบุตัวตนที่ไม่ซ้ำกันซึ่งเชื่อมโยงกับบัญชีของคุณ คุณต้องแนบคีย์นี้ในส่วนหัว x-api-key ของแต่ละคำขอ HTTP

[!IMPORTANT] ความปลอดภัยที่สำคัญ: API Key มีสิทธิ์การเข้าถึงเทียบเท่ากับบัญชีของคุณ ห้ามแบ่งปันคีย์นี้บนแพลตฟอร์มสาธารณะ (GitHub, ฟอรัม) หรือกับบุคคลภายนอกที่ไม่น่าเชื่อถือ

การจัดการ API Keys

  1. สร้างใหม่ (Create New): บนหน้า Dashboard ให้ตั้งชื่อที่ช่วยจำ (เช่น Production Server) แล้วคลิก Generate ระบบจะแสดงคีย์ฉบับเต็มเพียง ครั้งเดียว เท่านั้น
  2. รายการ (Listing): คุณสามารถดูรายการคีย์ที่ใช้งานอยู่ วันที่สร้าง และเวลาที่ใช้งานล่าสุดได้
  3. ยกเลิก (Revoke): หากคีย์ถูกเปิดเผย ให้ทำการยกเลิก (Revoke) ทันทีเพื่อยกเลิกสิทธิ์การเข้าถึง

วิธีการใช้ API Key

เพิ่มฟิลด์ x-api-key ในส่วนหัว (HTTP Header) ของทุกคำขอที่ส่ง

ตัวอย่างด้วย 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): หากแพ็กเกจ (Free, Pro, Enterprise) หมดอายุ คำขอ API จะถูกปฏิเสธ
  • โควตาการใช้งาน (Usage Quota): คำขอที่สำเร็จแต่ละครั้งจะถูกหักออกจากโควตารายเดือนรวมของแพ็กเกจของคุณ
  • เครดิต (Credits): หากโควตาแพ็กเกจหมด ระบบจะหักจากยอดคงเหลือเครดิตของคุณโดยอัตโนมัติ (หากมี)
  • จำกัดอัตรา (Rate Limit): มีการใช้การจำกัดความเร็วในการเรียก API เพื่อให้มั่นใจในความเสถียรของระบบ

4. รหัสข้อผิดพลาดทั่วไป (Common Error Codes)

รหัสข้อผิดพลาดความหมายวิธีแก้ไข
401 Unauthorizedโทเค็นหรือ API Key ขาดหายไป ไม่ถูกต้อง หรือหมดอายุตรวจสอบส่วนหัว Authorization หรือ x-api-key
403 Forbiddenบัญชีถูกล็อกหรือสิทธิ์ไม่เพียงพอตรวจสอบสถานะบัญชีบน Dashboard
429 Too Many Requestsเกินขีดจำกัดอัตราการเรียก (Rate Limit)ลดความถี่ในการเรียกหรืออัปเกรดแพ็กเกจ
402 Payment Requiredโควตาหมดและไม่มีเครดิตเหลืออยู่อัปเกรดแพ็กเกจของคุณหรือซื้อโควตาคำขอเพิ่ม

5. ตัวอย่างโค้ด (การใช้ 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

เอกสารนี้เป็นทรัพย์สินของระบบ Elim Taobao & 1688 API สำหรับคำถามใดๆ โปรดติดต่อ Telegram