快速開始
概覽
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 密鑰,永遠唔好公開分享或者提交到版本控制系統。
驗證
所有 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();
}
// 使用範例
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()
# 使用範例
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 文檔:
支援
如果你遇到任何問題或有疑問:
- 查看我哋嘅常見問題
- 透過平台聯絡支援團隊