การยืนยันตัวตนของระบบ
ระบบ Elim Taobao & 1688 API รองรับวิธีการยืนยันตัวตนหลักสองวิธีเพื่อเข้าถึงทรัพยากร API ตามความต้องการของคุณ:
- Access Token (JWT): เหมาะสำหรับแอปพลิเคชันที่มีส่วนต่อประสานกับผู้ใช้ (User Interface) ที่ต้องการการเข้าสู่ระบบเป็นระยะ
- 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
- สร้างใหม่ (Create New): บนหน้า Dashboard ให้ตั้งชื่อที่ช่วยจำ (เช่น
Production Server) แล้วคลิก Generate ระบบจะแสดงคีย์ฉบับเต็มเพียง ครั้งเดียว เท่านั้น - รายการ (Listing): คุณสามารถดูรายการคีย์ที่ใช้งานอยู่ วันที่สร้าง และเวลาที่ใช้งานล่าสุดได้
- ยกเลิก (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