วิธียืนยันตัวตน API requests
เมื่อใดควรใช้คู่มือนี้
ใช้เมื่อคุณจำเป็นต้องเรียก API ใดๆ ของ Elimapi ก่อนอื่นคุณต้องเลือกหนึ่งในสองวิธีการยืนยันตัวตน:
| วิธีการ | เมื่อใดควรใช้ |
|---|---|
| โทเค็นการเข้าถึง (JWT) | แอปที่มีอินเทอร์เฟซผู้ใช้ ต้องเข้าสู่ระบบเป็นประจำ |
| คีย์ API | การผสานรวมระบบอัตโนมัติ (server-to-server) ไม่ต้องจัดการเซสชันการเข้าสู่ระบบ |
เอกสารอ้างอิงฉบับเต็ม (endpoints, รหัสข้อผิดพลาด, โควตา): เอกสารอ้างอิงการยืนยันตัวตน
ข้อกำหนดก่อนเริ่ม
- บัญชี Elimapi ที่เปิดใช้งานแล้ว — ดู การสมัครบัญชี
- Base URL:
https://openapi.elim.asia
วิธีที่ 1: ยืนยันตัวตนด้วยโทเค็นการเข้าถึง (JWT)
ขั้นตอนที่ 1 — เข้าสู่ระบบเพื่อรับโทเค็น
ส่งคำขอ POST ไปยัง endpoint การเข้าสู่ระบบ:
POST /v1/auth/login
Content-Type: application/json
Accept: application/json
{
"email": "[email protected]",
"password": "password"
}
Response คืนค่า access_token พร้อมกับ refresh_token
ขั้นตอนที่ 2 — แนบโทเค็นกับทุกคำขอ
Authorization: Bearer {access_token}
Accept: application/json
Content-Type: application/json
หมายเหตุสำคัญ:
- โทเค็นมีอายุการใช้งาน 90 วัน
- ควรเก็บโทเค็นไว้ในแคชของระบบ (Redis/Memcached) เพื่อเพิ่มประสิทธิภาพ
- อย่าแชร์โทเค็นกับบุคคลที่สาม
วิธีที่ 2: ยืนยันตัวตนด้วยคีย์ API
ขั้นตอนที่ 1 — สร้างคีย์ API บนแดชบอร์ด
- บนแดชบอร์ด ตั้งชื่อที่จำง่าย (เช่น
Production Server) แล้วกด Generate - ระบบแสดงรหัสคีย์แบบเต็ม เพียงครั้งเดียว — ให้บันทึกไว้ทันที
- จัดการรายการคีย์: ดูวันที่สร้าง วันใช้งานล่าสุด หรือกด Revoke ทันทีหากคีย์รั่วไหล
[!IMPORTANT] ความปลอดภัย: คีย์ API มีสิทธิ์เข้าถึงเทียบเท่ากับบัญชีของคุณ ห้ามแชร์บนแพลตฟอร์มสาธารณะ (GitHub, ฟอรัม) หรือกับบุคคลที่สามที่ไม่น่าเชื่อถือโดยเด็ดขาด
ขั้นตอนที่ 2 — ส่งคีย์ใน header x-api-key
เพิ่มฟิลด์ x-api-key ลงใน header ของทุกคำขอ:
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"}'
ตรวจสอบผลลัพธ์
ส่งคำขอค้นหาทดสอบ; หากได้รับ response 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 หายไป ผิด หรือหมดอายุ | ตรวจสอบ header 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
ลิงก์ที่เกี่ยวข้อง
- เอกสารอ้างอิง: เอกสารอ้างอิงการยืนยันตัวตน — endpoints, โควตา, ตารางรหัสข้อผิดพลาดฉบับเต็ม
- ขั้นต่อไป: คู่มือค้นหาสินค้า · การสร้างและการจัดการคำสั่งซื้อ
- การตั้งค่า: เอกสารอ้างอิงการตั้งค่า