API 教程(二) 交互式浏览器使用方法

API 教程(二) 交互式浏览器使用方法

OKX 教程团队
5 分钟阅读

API 教程(二) 交互式浏览器使用方法

import { Callout } from '@/components/Callout'

API文档看了半天还是不知道怎么调用?参数格式总是出错?OKX提供的交互式浏览器可以让你在网页上直接测试API接口,无需编写代码就能看到真实的请求和响应数据。

什么是交互式浏览器

交互式浏览器(Interactive Browser)是OKX提供的在线API测试工具,内置在官方API文档中。

核心功能

  • 无需编程即可测试API
  • 自动生成请求签名
  • 实时查看请求和响应
  • 支持所有公共和私有接口
  • 提供多语言代码示例

适用场景

  • API新手学习接口调用
  • 验证参数格式是否正确
  • 调试接口返回的错误
  • 快速查询账户数据
  • 生成代码示例参考

访问交互式浏览器

步骤1:打开API文档

访问OKX官方API文档:

  • 中文文档:https://www.okx.com/docs-v5/zh/
  • 英文文档:https://www.okx.com/docs-v5/en/

步骤2:选择接口

在左侧导航栏选择你要测试的接口类别:

| 类别 | 说明 | 典型接口 | |------|------|----------| | 交易数据 | 获取行情、K线、深度 | GET /api/v5/market/ticker | | 账户 | 查询余额、持仓 | GET /api/v5/account/balance | | 交易 | 下单、撤单、查询订单 | POST /api/v5/trade/order | | 资金 | 充值、提现、划转 | POST /api/v5/asset/transfer | | 策略交易 | 止盈止损、网格交易 | POST /api/v5/trade/order-algo |

步骤3:打开交互式界面

点击接口名称后,页面右侧会显示”Try it out”按钮,点击即可进入交互模式。

公共接口测试(无需认证)

示例1:查询BTC行情

接口GET /api/v5/market/ticker

操作步骤

  1. 在文档中找到”获取单个产品行情信息”接口
  2. 点击”Try it out”
  3. 填写参数:
    • instId: BTC-USDT
  4. 点击”Execute”执行

返回数据示例

{
  “code”: “0”,
  “msg”: “”,
  “data”: [{
    “instType”: “SPOT”,
    “instId”: “BTC-USDT”,
    “last”: “43250.5”,
    “lastSz”: “0.02”,
    “askPx”: “43251.0”,
    “askSz”: “1.5”,
    “bidPx”: “43250.0”,
    “bidSz”: “2.3”,
    “open24h”: “42800.0”,
    “high24h”: “43500.0”,
    “low24h”: “42500.0”,
    “volCcy24h”: “125000000”,
    “vol24h”: “2900”,
    “ts”: “1678886400000”
  }]
}

数据解读

  • last: 最新成交价 $43,250.5
  • open24h: 24小时开盘价 $42,800
  • high24h/low24h: 24小时最高/最低价
  • vol24h: 24小时成交量 2,900 BTC
  • volCcy24h: 24小时成交额 $125M

示例2:获取K线数据

接口GET /api/v5/market/candles

参数配置

  • instId: ETH-USDT
  • bar: 1H(1小时K线)
  • limit: 100(最近100根K线)

返回数据格式

{
  “code”: “0”,
  “data”: [
    [
      “1678886400000”,  // 时间戳
      “1850.5”,         // 开盘价
      “1865.2”,         // 最高价
      “1848.0”,         // 最低价
      “1860.3”,         // 收盘价
      “12500”,          // 成交量(币)
      “23125000”,       // 成交量(USDT)
      “23125000”,       // 成交量(USDT)
      “1”               // 确认状态
    ]
  ]
}

示例3:查询深度数据

接口GET /api/v5/market/books

参数

  • instId: BTC-USDT
  • sz: 5(5档深度)

返回数据

{
  “code”: “0”,
  “data”: [{
    “asks”: [
      [“43251.0”, “1.5”, “0”, “2”],
      [“43252.0”, “2.3”, “0”, “1”],
      [“43253.0”, “0.8”, “0”, “1”]
    ],
    “bids”: [
      [“43250.0”, “2.1”, “0”, “3”],
      [“43249.0”, “1.8”, “0”, “2”],
      [“43248.0”, “3.2”, “0”, “1”]
    ],
    “ts”: “1678886400000”
  }]
}

深度数据解读

  • asks: 卖盘(价格从低到高)
  • bids: 买盘(价格从高到低)
  • 每档数据:[价格, 数量, 废弃字段, 订单数]

私有接口测试(需要认证)

配置API密钥

私有接口需要先配置API Key才能测试。

步骤

  1. 点击页面右上角”Authorize”按钮
  2. 填写API凭证:
    • API Key: 你的API密钥
    • Secret Key: 你的密钥
    • Passphrase: 创建API时设置的密码短语
  3. 点击”Authorize”保存

示例4:查询账户余额

接口GET /api/v5/account/balance

操作

  1. 确保已配置API Key
  2. 点击”Try it out”
  3. 可选填写ccy参数(如USDT)查询特定币种
  4. 点击”Execute”

返回数据

{
  “code”: “0”,
  “data”: [{
    “totalEq”: “50000.5”,
    “isoEq”: “0”,
    “adjEq”: “49500.3”,
    “details”: [{
      “ccy”: “USDT”,
      “eq”: “30000.5”,
      “availBal”: “28000.0”,
      “frozenBal”: “2000.5”,
      “ordFrozen”: “2000.5”
    }, {
      “ccy”: “BTC”,
      “eq”: “0.5”,
      “availBal”: “0.45”,
      “frozenBal”: “0.05”,
      “ordFrozen”: “0.05”
    }]
  }]
}

字段说明

  • totalEq: 账户总权益(折合USD)
  • eq: 币种权益
  • availBal: 可用余额
  • frozenBal: 冻结余额
  • ordFrozen: 挂单冻结

示例5:查询持仓

接口GET /api/v5/account/positions

参数

  • instType: SWAP(永续合约)
  • instId: BTC-USDT-SWAP(可选)

返回数据

{
  “code”: “0”,
  “data”: [{
    “instId”: “BTC-USDT-SWAP”,
    “pos”: “10”,
    “posSide”: “long”,
    “avgPx”: “42000.0”,
    “markPx”: “43250.5”,
    “upl”: “12505.0”,
    “uplRatio”: “0.2977”,
    “lever”: “10”,
    “margin”: “4200.0”,
    “liqPx”: “38000.0”
  }]
}

持仓数据解读

  • 持仓方向:多头(long)
  • 持仓数量:10张合约
  • 开仓均价:$42,000
  • 当前标记价:$43,250.5
  • 未实现盈亏:$12,505(+29.77%)
  • 杠杆倍数:10倍
  • 保证金:$4,200
  • 预估强平价:$38,000

示例6:下单测试(模拟盘)

接口POST /api/v5/trade/order

重要提示:建议先在模拟盘测试下单功能。

参数配置

{
  “instId”: “BTC-USDT”,
  “tdMode”: “cash”,
  “side”: “buy”,
  “ordType”: “limit”,
  “px”: “43000.0”,
  “sz”: “0.001”
}

参数说明

| 参数 | 说明 | 示例值 | |------|------|--------| | instId | 产品ID | BTC-USDT | | tdMode | 交易模式 | cash(非保证金)| | side | 买卖方向 | buy/sell | | ordType | 订单类型 | limit(限价)/market(市价)| | px | 委托价格 | 43000.0 | | sz | 委托数量 | 0.001 |

返回数据

{
  “code”: “0”,
  “msg”: “”,
  “data”: [{
    “ordId”: “312269865356374016”,
    “clOrdId”: “”,
    “tag”: “”,
    “sCode”: “0”,
    “sMsg”: “”
  }]
}

订单ID312269865356374016可用于后续查询订单状态。

查看请求详情

请求头信息

点击”Execute”后,向下滚动可以看到完整的请求信息:

Request Headers

OK-ACCESS-KEY: 93c8f8d7-xxxx-xxxx-xxxx-xxxxxxxxxxxx
OK-ACCESS-SIGN: Xj8fGh2kL9mN3pQ5rS7tU1vW4xY6zA8b...
OK-ACCESS-TIMESTAMP: 1678886400
OK-ACCESS-PASSPHRASE: MyPass123
Content-Type: application/json

签名算法

sign = base64(hmac_sha256(
  timestamp + method + requestPath + body,
  secretKey
))

响应信息

Response Headers

Content-Type: application/json
OK-BEFORE-LINK: <https://www.okx.com/api/v5/...>; rel=”prev”
OK-AFTER-LINK: <https://www.okx.com/api/v5/...>; rel=”next”

Response Body:完整的JSON响应数据

生成代码示例

交互式浏览器可以自动生成多种语言的代码:

支持的语言

  • Python
  • JavaScript (Node.js)
  • Java
  • C#
  • PHP
  • Go
  • Ruby

使用方法

  1. 执行接口测试
  2. 点击”Code Generation”
  3. 选择编程语言
  4. 复制代码到你的项目

Python示例

import requests
import hmac
import base64
import time

api_key = “YOUR_API_KEY”
secret_key = “YOUR_SECRET_KEY”
passphrase = “YOUR_PASSPHRASE”

timestamp = str(int(time.time()))
method = “GET”
request_path = “/api/v5/account/balance”

# 生成签名
message = timestamp + method + request_path
signature = base64.b64encode(
    hmac.new(
        secret_key.encode('utf-8'),
        message.encode('utf-8'),
        digestmod='sha256'
    ).digest()
).decode()

# 发送请求
headers = {
    “OK-ACCESS-KEY”: api_key,
    “OK-ACCESS-SIGN”: signature,
    “OK-ACCESS-TIMESTAMP”: timestamp,
    “OK-ACCESS-PASSPHRASE”: passphrase,
    “Content-Type”: “application/json”
}

response = requests.get(
    “https://www.okx.com/api/v5/account/balance”,
    headers=headers
)

print(response.json())

常见问题排查

问题1:签名错误(50113)

错误信息

{
  “code”: “50113”,
  “msg”: “Invalid sign”
}

原因

  • Secret Key填写错误
  • 系统时间不准确(误差超过30秒)
  • 签名算法实现错误

解决方法

  1. 检查API Key和Secret Key是否正确
  2. 同步系统时间:ntpdate time.apple.com
  3. 对比交互式浏览器生成的签名

问题2:API Key无效(50111)

错误信息

{
  “code”: “50111”,
  “msg”: “Invalid OK-ACCESS-KEY”
}

原因

  • API Key已删除或过期
  • API Key权限不足
  • IP白名单限制

解决方法

  1. 在OKX网站重新生成API Key
  2. 确认API权限包含所需操作
  3. 检查IP白名单设置

问题3:参数错误(51000系列)

常见错误

| 错误码 | 说明 | 解决方法 | |--------|------|----------| | 51000 | 参数错误 | 检查参数格式和必填项 | | 51001 | 产品不存在 | 确认instId拼写正确 | | 51008 | 订单数量无效 | 检查最小下单量限制 | | 51020 | 余额不足 | 充值或减少下单量 |

调试技巧

  • 对比文档中的参数示例
  • 使用交互式浏览器验证参数
  • 查看完整的错误信息

问题4:频率限制(50011)

错误信息

{
  “code”: “50011”,
  “msg”: “Rate limit reached”
}

限制规则

  • 公共接口:20次/2秒
  • 私有接口:根据VIP等级不同
  • 下单接口:60次/2秒

解决方法

import time

def rate_limited_request(func, interval=0.1):
    “””添加请求间隔”””
    result = func()
    time.sleep(interval)
    return result

最佳实践建议

1. 先测试后编码

学习流程:
1. 在交互式浏览器测试接口 ✅
2. 理解参数和返回数据 ✅
3. 复制代码示例 ✅
4. 修改为自己的逻辑 ✅
5. 处理异常情况 ✅

2. 使用模拟盘

在正式环境前,先在模拟盘充分测试:

切换模拟盘

  • 模拟盘API地址:https://www.okx.com/api/v5/...(添加x-simulated-trading: 1请求头)
  • 或使用专用模拟盘域名

3. 保存测试用例

将常用的测试参数保存为文档:

## 测试用例:查询BTC行情
- 接口:GET /api/v5/market/ticker
- 参数:instId=BTC-USDT
- 预期:返回最新价格数据

## 测试用例:限价买入
- 接口:POST /api/v5/trade/order
- 参数:instId=BTC-USDT, side=buy, px=43000, sz=0.001
- 预期:返回订单ID

4. 监控API状态

OKX提供API状态页面:

  • 访问:https://status.okx.com/
  • 查看服务可用性和延迟
  • 订阅故障通知

总结

交互式浏览器是学习OKX API的最佳工具。通过可视化界面测试接口,你可以快速理解API的工作原理,避免编码阶段的大量调试工作。

关键要点

  • 公共接口无需认证即可测试
  • 私有接口需要配置API Key
  • 自动生成多语言代码示例
  • 可查看完整的请求和响应
  • 建议先在模拟盘测试交易接口

下一步行动

  1. 访问API文档开始测试
  2. 测试常用的查询接口
  3. 配置API Key测试私有接口
  4. 复制代码示例到项目中
  5. 实现完整的错误处理

想了解更多API功能?查看API教程(一) V5 API总览和API教程(五) Websocket API使用介绍。

免责声明

本文章可能包含不适用于您所在地区的产品相关内容。本文仅致力于提供一般性信息,不对其中的任何事实错误或遗漏负责任。本文仅代表作者个人观点,不代表欧易的观点。 本文无意提供以下任何建议,包括但不限于:(i) 投资建议或投资推荐;(ii) 购买、出售或持有数字资产的要约或招揽;或 (iii) 财务、会计、法律或税务建议。 持有的数字资产 (包括稳定币) 涉及高风险,可能会大幅波动,甚至变得毫无价值。您应根据自己的财务状况仔细考虑交易或持有数字资产是否适合您。有关您具体情况的问题,请咨询您的法律/税务/投资专业人士。本文中出现的信息 (包括市场数据和统计信息,如果有) 仅供一般参考之用。尽管我们在准备这些数据和图表时已采取了所有合理的谨慎措施,但对于此处表达的任何事实错误或遗漏,我们不承担任何责任。 © 2025 OKX。本文可以全文复制或分发,也可以使用本文 100 字或更少的摘录,前提是此类使用是非商业性的。整篇文章的任何复制或分发亦必须突出说明:”本文版权所有 © 2025 OKX,经许可使用。”允许的摘录必须引用文章名称并包含出处,例如”文章名称,[作者姓名 (如适用)],© 2025 OKX”。部分内容可能由人工智能(AI)工具生成或辅助生成。不允许对本文进行衍生作品或其他用途。

展开

相关推荐

Forward Contracts vs. Futures Contracts What Are the Differences

比特币下跌也能盈利?如何进行合约交易

随着以比特币为代表的数字货币市场规模的不断扩大,在现货交易之外逐步催生出形式多样的衍生品交易,来作为一种对冲风险的工具,其中最受关注的莫过于合约交易。 合约交易是什么? 合约是数字货币衍生品市场中最常见的交易合约形式。数字资产合约交易是指买卖双方约定在未来某个时间,按指定价格,对某种资产进行交易。

2026年1月16日

OKX Launches New 'Spot Copy Trading' Feature

比复制策略更简单?在OKX一键跟单最强策略交易员,让交易员帮你赚钱

不管是在传统金融领域,还是在加密货币市场,策略交易都是交易体系中非常重要且关键的一种方式,当面临复杂的交易环境和极端的交易行情时,即使拥有扎实的理论技术知识和丰富的交易经历经验,也很容易错失交易时机,或者受到情绪影响做出错误判断和操作。而策略交易正是能够解决这些问题的有效工具。 交易工具有了,怎么使

2025年11月21日

thumbnail:strategic-trading-series-courses-5

五、策略交易系列课程——屯币宝

前言: 我们经常会有这样的猜想: 牛市中有很多大涨的数字资产,如果能够连续捕捉涨幅较大的币种,比如每月捕捉一个翻倍的数字资产,一年后你的资产就会变成2的12次方,即4096倍,这是非常惊人的,当然这也是几乎不可能完成的事情,因为我们很难连续抓住大涨的币种。 这也是很多用户会遇到的问题: 牛市中,虽然

2025年11月3日

thumbnail:which-countries-do-not-support-registration-cn

哪些国家/地区不支持注册使用欧易

欧易目前不支持对下列地区的客户提供服务:部分美国领土,如 纽约、德克萨斯州、 波多黎各、美属萨摩亚、关岛、北马里亚纳群岛邦、美属维尔京群岛 (圣克罗伊岛,圣约翰岛和圣托马斯岛),古巴、伊朗、朝鲜、克里米亚、马来西亚、叙利亚、孟加拉国和玻利维亚。 有关详情,请参阅 欧易服务条款 。

2024年4月25日

thumbnail:get-to-know-the-product

快速了解欧易常用产品及功能

欧易(www.okx.com)是全球著名的数字资产服务平台之一,主要面向全球用户提供 比特币 、以太坊等数字资产的币币和衍生品交易服务,同时也和用户一同探索DeFi,DApp, NFT和GameFi的世界。 在欧易,您可以享受 币币 、合约等流畅的交易体验,第一时间关注热门领域/概念的代币信息,还有

2024年4月25日

thumbnail:zero-basic-to-learn-analysis-of-bitcoin5candlestick-patterns-identify-a-pattern-cn

零基础学K线 | 5 K线组合应用的重要性

涨跌有趋势,读懂价格语言; 买卖有信号,告别感觉交易。 一、看涨K线组合发关键位置 在本章的前两期我们讲解了K线看涨组合和看跌组合的应用,但这些组合不是在任何位置出现都有效。本节我们就来讲解组合出现位置的重要性。 看涨组合在哪些位置可以更好的发挥作用呢? 第一种情况:在一段明显的上涨走势中,临近的前

2024年4月25日

进阶交易策略

在我们的合作网站学习更多进阶交易策略和市场分析

学习交易策略

相关文章