빠른 시작
개요
Xmarket API는 다음에 대한 프로그래밍 방식의 접근을 제공합니다:
- 실시간 오더북 데이터
- 주문 생성 및 관리
- 마켓 정보
- 포지션 추적
- 트레이딩 운영
기본 URL
API는 엔드포인트 유형에 따라 두 가지 기본 URL을 사용합니다:
-
공개 엔드포인트 (읽기 전용, 인증 불필요):
https://engine.xmarket.app/api/v1용도: 마켓, 오더북 데이터
-
인증 엔드포인트 (API 키 필요):
https://engine.xmarket.app/openapi/v1용도: 주문, 포지션, 트레이딩 운영
사전 요구사항
시작하기 전에 다음이 필요합니다:
- Xmarket 계정
- 인증을 위한 API 키
API 키 발급받기
계정 등록
Xmarket을 방문하여 아직 계정이 없다면 계정을 생성하세요.
API 키 생성
- 계정 설정 페이지로 이동합니다
- API 관리 섹션을 찾습니다
- 새 API 키 생성을 클릭합니다
- API 키를 안전하게 보관하세요!
위험
중요: API 키를 안전하게 보관하고 공개적으로 공유하거나 버전 관리 시스템에 커밋하지 마세요.
-585878e28386411e0213ee77c83ee747.gif)
인증
모든 API 요청은 x-api-key 헤더에 API 키를 사용한 인증이 필요합니다:
x-api-key: YOUR_API_KEY
첫 번째 요청 보내기
오더북 데이터를 가져오는 간단한 요청부터 시작해 보겠습니다:
- cURL
- Javascript
- Python
curl -X GET \
'https://engine.xmarket.app/api/v1/orderbook/{outcomeId}' \
-H 'x-api-key: YOUR_API_KEY'
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://engine.xmarket.app/api/v1';
async function getOrderbook(outcomeId) {
const response = await fetch(
`${BASE_URL}/orderbook/${outcomeId}`,
{
method: 'GET',
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
}
// Example usage
getOrderbook('outcome-id')
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://engine.xmarket.app/api/v1'
def get_orderbook(outcome_id):
headers = {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
response = requests.get(
f'{BASE_URL}/orderbook/{outcome_id}',
headers=headers
)
response.raise_for_status()
return response.json()
# Example usage
try:
orderbook = get_orderbook('outcome-id')
print(orderbook)
except requests.exceptions.RequestException as e:
print(f'Error: {e}')
에러 처리
API는 성공 또는 실패를 나타내기 위해 표준 HTTP 상태 코드를 사용합니다:
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공 |
| 201 | 리소스 생성됨 |
| 400 | 잘못된 요청 - 유효하지 않은 매개변수 |
| 401 | 인증 실패 - 유효하지 않거나 누락된 API 키 |
| 404 | 찾을 수 없음 - 리소스가 존재하지 않음 |
| 500 | 내부 서버 오류 |
에러 응답에는 문제를 설명하는 메시지가 포함됩니다:
{
"message": "Invalid market ID"
}
요청 제한
공정한 사용과 시스템 안정성을 보장하기 위해 API는 요청 제한을 적용합니다:
- 기본 제한: API 키당 분당 100건의 요청
요청 제한을 초과하면 429 Too Many Requests 응답을 받게 됩니다.
다음 단계
설정이 완료되었으므로 상세 API 문서를 살펴보세요:
- Markets API - 예측 마켓 검색 및 탐색
- Orderbook API - 실시간 시장 깊이 조회
- Orders API - 주문 생성, 취소 및 관리
- Positions API - 트레이딩 포지션 추적
지원
문제가 발생하거나 질문이 있는 경우:
- 자주 묻는 질문을 확인하세요
- 플랫폼을 통해 지원팀에 문의하세요