:2026-02-24 14:51 点击:2
OKX接口全攻略:从零开始掌握API交易与数据获取**
OKX(原OKEx)作为全球领先的数字资产交易平台之一,为用户提供了强大的应用程序接口(API),通过OKX接口,用户可以实现自动化交易、程序化策略、账户信息查询以及实时市场数据获取等功能,极大地提升了交易效率和灵活性,本文将为你提供一份详尽的OKX接口教程,助你快速上手。
OKX API是一套允许用户通过编程方式与OKX服务器进行通信的协议,它就像一座桥梁,连接着你的交易程序(如Python脚本、EA机器人等)和OKX的交易系统,让你能够无需手动操作,即可完成复杂的交易任务和数据监控。
在开始之前,你需要完成以下准备工作:
OKX API主要分为两大类:账户API和公共API。
无需API Key即可调用,主要用于获取公开的市场数据。
/api/v5/market/candles (获取指定币对、时间周期的K线)/api/v5/market/books (获取指定币对的盘口数据)/api/v5/market/ticker (获取指定币对的最新价格信息)/api/v5/market/tokens需要有效的API Key(并具备相应权限)才能调用,涉及账户操作和私密信息。
/api/v5/account/balance/api/v5/trade/order/api/v5/trade/order/api/v5/trade/cancel-order/api/v5/trade/order-info/api/v5/trade/pending-orders/api/v5/trade/fillsOKX API主要使用 GET 和 POST 方法:
进行账户API请求时,必须在请求头中包含以下信息用于身份验证:
OK-ACCESS-KEY: 你的API KeyOK-ACCESS-SIGN: 签名 (详见下文签名生成)OK-ACCESS-TIMESTAMP: ISO 8601标准格式的时间戳,2023-01-01T00:00:00.000ZOK-ACCESS-PASSPHRASE: 你的API PassphraseContent-Type: 通常为 application/json签名是保证API请求安全性的核心,OKX使用HMAC-SHA

签名生成步骤(以Python为例):
创建待签名字符串 (Sign String):
timestamp + method + request_path + query_stringtimestamp + method + request_path + body (body为JSON字符串,且需要按字典序排序键值对)method: HTTP方法,如 GET, POST (大写)request_path: API路径,如 /api/v5/account/balancequery_string: GET请求的参数部分 (需要URL编码,并按字典序排序)body: POST请求的请求体 (JSON格式,需要将键按字典序排序后序列化)使用Secret Key进行HMAC-SHA256加密:
Secret Key作为密钥,进行HMAC-SHA256哈希运算。OK-ACCESS-SIGN。Python示例代码片段(签名生成):
import hmac
import base64
import json
import urllib.parse
from datetime import datetime
API_KEY = "你的API_KEY"
SECRET_KEY = "你的SECRET_KEY".encode('utf-8')
PASSPHRASE = "你的PASSPHRASE".encode('utf-8')
# 示例:获取账户余额
timestamp = datetime.utcnow().isoformat(timespec='milliseconds') + 'Z'
method = 'GET'
request_path = '/api/v5/account/balance'
query_string = '' # 此示例无查询参数
# 1. 构建待签名字符串
sign_string = f"{timestamp}{method}{request_path}{query_string}"
# 2. HMAC-SHA256加密 + Base64编码
signature = base64.b64encode(
hmac.new(SECRET_KEY, sign_string.encode('utf-8'), digestmod='sha256').digest()
).decode()
print(f"Timestamp: {timestamp}")
print(f"Sign String: {sign_string}")
print(f"Signature: {signature}")
OKX API的响应通常为JSON格式,包含以下字段:
code: 响应状态码,0表示成功,非0表示失败。msg: 响应消息,成功时通常为"success",失败时为错误描述。data: 响应数据主体,通常是一个数组或对象,包含具体的请求结果。假设你已经创建了API Key并赋予了读取权限。
import requests
import json
import hmac
import base64
from datetime import datetime
# 替换为你的API信息
API_KEY = "你的API_KEY"
SECRET_KEY = "你的SECRET_KEY".encode('utf-8')
PASSPHRASE = "你的PASSPHRASE".encode('utf-8')
# OKX API Base URL
BASE_URL = "https://www.okx.com"
def get_account_balance():
endpoint = '/api/v5/account/balance'
url = BASE_URL + endpoint
timestamp = datetime.utcnow().isoformat(timespec='milliseconds') + 'Z'
method = 'GET'
request_path = endpoint
query_string = ''
# 生成签名
sign_string = f"{timestamp}{method}{request_path}{query_string}"
signature = base64.b64encode(
hmac.new(SECRET_KEY, sign_string.encode('utf-8'), digestmod='sha256').digest()
).decode()
# 请求头
headers = {
'OK-ACCESS-KEY': API_KEY,
'OK-ACCESS
本文由用户投稿上传,若侵权请提供版权资料并联系删除!