본문으로 건너뛰기
Elimapi

API 요청 인증 방법

이 가이드를 사용하는 경우

Elimapi API를 호출해야 할 때 사용합니다. 먼저 다음 두 가지 인증 방식 중 하나를 선택합니다:

인증 방식사용 시기
액세스 토큰 (JWT)사용자 인터페이스가 있는 앱으로, 주기적인 로그인이 필요함
API 키자동화된 시스템 통합(서버 간)으로, 로그인 세션 관리가 필요 없음

전체 참조(endpoints, 오류 코드, 할당량): 인증

사전 조건

  • 활성화된 Elimapi 계정 — 계정 등록 참조
  • Base URL: https://openapi.elim.asia

방법 1: 액세스 토큰(JWT)으로 인증

1단계 — 로그인하여 토큰 받기

로그인 엔드포인트에 POST 요청을 보냅니다:

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

응답에서 access_token과 refresh_token을 반환합니다.

2단계 — 모든 요청에 토큰 첨부

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

중요 참고사항:

  • 토큰은 90일 동안 유효합니다.
  • 성능 최적화를 위해 토큰을 캐시 시스템(Redis/Memcached)에 저장하는 것이 좋습니다.
  • 토큰을 제3자와 공유하지 마십시오.

방법 2: API 키로 인증

1단계 — 대시보드에서 API 키 생성

  1. 대시보드에서 알아보기 쉬운 이름(예: Production Server)을 설정하고 Generate를 클릭합니다.
  2. 시스템은 전체 키를 단 한 번만 표시합니다 — 즉시 저장하세요.
  3. 키 목록 관리: 생성 날짜와 마지막 사용 시간을 확인하거나, 키가 유출된 경우 즉시 Revoke하세요.

[!IMPORTANT] 보안: API 키는 귀하의 계정과 동일한 액세스 권한을 가집니다. 공개 플랫폼(GitHub, 포럼)이나 신뢰할 수 없는 제3자에게 절대 공유하지 마십시오.

2단계 — x-api-key 헤더에 키 전송

각 요청의 헤더에 x-api-key 필드를 추가합니다:

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

결과 확인

테스트 검색 요청을 보내고 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 키가 없거나, 잘못되었거나, 만료됨Authorization 또는 x-api-key 헤더 다시 확인
403계정이 잠겨 있거나 권한이 부족함대시보드에서 계정 상태 확인
429요청 속도 제한(Rate Limit) 초과호출 빈도 줄이기 또는 요금제 업그레이드

코드 예제(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

관련 링크