ข้ามไปยังเนื้อหาหลัก
Elimapi

วิธียืนยันตัวตน API requests

เมื่อใดควรใช้คู่มือนี้

ใช้เมื่อคุณจำเป็นต้องเรียก API ใดๆ ของ Elimapi ก่อนอื่นคุณต้องเลือกหนึ่งในสองวิธีการยืนยันตัวตน:

วิธีการเมื่อใดควรใช้
โทเค็นการเข้าถึง (JWT)แอปที่มีอินเทอร์เฟซผู้ใช้ ต้องเข้าสู่ระบบเป็นประจำ
คีย์ APIการผสานรวมระบบอัตโนมัติ (server-to-server) ไม่ต้องจัดการเซสชันการเข้าสู่ระบบ

เอกสารอ้างอิงฉบับเต็ม (endpoints, รหัสข้อผิดพลาด, โควตา): เอกสารอ้างอิงการยืนยันตัวตน

ข้อกำหนดก่อนเริ่ม

วิธีที่ 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 บนแดชบอร์ด

  1. บนแดชบอร์ด ตั้งชื่อที่จำง่าย (เช่น Production Server) แล้วกด Generate
  2. ระบบแสดงรหัสคีย์แบบเต็ม เพียงครั้งเดียว — ให้บันทึกไว้ทันที
  3. จัดการรายการคีย์: ดูวันที่สร้าง วันใช้งานล่าสุด หรือกด 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

ลิงก์ที่เกี่ยวข้อง