目录导读
-
欧易API接口概述

- 什么是欧易API及其应用场景
- API密钥的权限与安全管理
-
欧易API密钥申请步骤
- 登录欧易官网并进入API管理页面
- 创建API密钥并配置权限
-
Postman环境配置与准备
- 下载与安装Postman
- 设置请求头与签名参数
-
使用Postman测试API密钥
- 构建GET请求:查询账户信息
- 构建POST请求:下单与撤单测试
- 常见错误与调试技巧
-
安全问题与最佳实践
- 密钥存储与权限最小化
- 二次验证与IP白名单
-
常见问题问答(FAQ)
欧易API接口概述
欧易(OKX)作为全球领先的数字资产交易平台,为开发者提供了丰富的REST API接口,支持行情查询、交易执行、账户管理等核心功能,通过API,用户可以实现程序化交易、量化策略部署以及数据监控。
欧易交易所下载官方客户端后,配合API使用能进一步提升交易效率。
什么是欧易API及其应用场景
欧易API基于HTTP协议,返回JSON格式数据,典型的应用场景包括:
- 自动交易机器人:根据预设策略自动买卖。
- 市场数据监控:实时获取价格、深度与K线数据。
- 账户管理:查询余额、历史订单及充提记录。
API密钥的权限与安全管理
每个API密钥包含apiKey(公钥)和secretKey(私钥),私钥不可明文存储或传输,欧易支持设置读写权限、IP白名单及有效期,建议遵循最小权限原则。
欧易API密钥申请步骤
登录欧易官网并进入API管理页面
- 访问欧易官方平台,登录您的账户。
- 进入“个人中心”→“API管理”界面。
注:若您尚未完成身份认证(KYC),需先完成高级认证才能创建API。
创建API密钥并配置权限
- 点击“创建API密钥”,输入密钥名称(如“TestBot”)。
- 权限设置:
- 只读(查询)+ 交易(下单)权限,按需勾选。
- 提现权限建议保持关闭,避免资产风险。
- IP白名单:可设置您的服务器IP地址,增强安全性。
- 完成二次验证(短信或谷歌验证器),系统将生成
apiKey和secretKey。
重要:立即复制并安全保存secretKey,关闭页面后无法再次查看。
Postman环境配置与准备
Postman是广泛使用的API调试工具,支持变量、脚本及批量测试。
下载与安装Postman
- 前往Postman官网下载对应系统版本。
- 安装后注册或直接使用无账号模式(离线测试)。
设置请求头与签名参数
欧易API要求每次请求附带签名(Sign)用于身份验证,签名规则如下:
- 拼接时间戳(timestamp)、请求方法(GET/POST)、请求路径(如
/api/v5/account/balance),以及请求体(如无则为空字符串)。 - 使用
HMAC-SHA256算法对字符串进行加密,并转换为十六进制。 - 将签名放入请求头
OK-ACCESS-SIGN,同时携带OK-ACCESS-KEY(apiKey)、OK-ACCESS-PASSPHRASE(您在创建API时设置的密码)。
Postman预请求脚本示例(自动生成签名):
const crypto = require('crypto-js');
const timestamp = new Date().toISOString();
// 请替换为真实密钥与密码
const apiKey = 'YOUR_API_KEY';
const secretKey = 'YOUR_SECRET_KEY';
const passphrase = 'YOUR_PASSPHRASE';
pm.request.headers.add({ key: 'OK-ACCESS-KEY', value: apiKey });
pm.request.headers.add({ key: 'OK-ACCESS-TIMESTAMP', value: timestamp });
pm.request.headers.add({ key: 'OK-ACCESS-PASSPHRASE', value: passphrase });
const method = pm.request.method;
const path = pm.request.url.getPath();
const body = pm.request.body ? pm.request.body.raw : '';
const signString = timestamp + method + path + body;
const signature = crypto.HmacSHA256(signString, secretKey).toString(crypto.enc.Hex);
pm.request.headers.add({ key: 'OK-ACCESS-SIGN', value: signature });
若您需要快速测试API,可访问欧易API调试工具获取示例代码。
使用Postman测试API密钥
构建GET请求:查询账户信息
- URL:
https://www.okx.com/api/v5/account/balance - 方法:GET
- 请求头:手动添加或通过脚本自动生成上述四个头。
- 响应示例:
{ "code": "0", "msg": "", "data": [{ "ccy": "USDT", "bal": "100.0", "eq": "100.0" }] } - 验证:若返回
code:0,表示密钥正确且具有读取权限。
构建POST请求:下单与撤单测试
下单测试(限价买单):
- URL:
https://www.okx.com/api/v5/trade/order - 请求体(JSON):
{ "instId": "BTC-USDT", "tdMode": "cash", "side": "buy", "ordType": "limit", "px": "30000", "sz": "0.001" } - 确保请求头包含签名,且订单参数符合交易规则。
撤单测试:
- URL:
https://www.okx.com/api/v5/trade/cancel-order - 请求体:
{ "instId": "BTC-USDT", "ordId": "订单ID" }
常见错误与调试技巧
- 错误
50100:签名无效,检查时间戳是否同步(误差需<5秒),或者密钥是否正确。 - 错误
50001:权限不足,检查API密钥是否勾选了交易权限。 - 错误
40001:请求头缺失,确保已填写OK-ACCESS-KEY等四项。
调试建议:
- 使用Postman的Console(控制台)查看原始请求与响应。
- 对比官方文档中的签名示例,确保字符串拼接顺序无误。
- 若持续失败,可访问欧易API社区支持寻求帮助。
安全问题与最佳实践
密钥存储与权限最小化
- 禁止硬编码:将密钥存入环境变量或加密数据库。
- 权限分离:不同机器人使用独立API,且仅开放必要权限(例如只读API用于数据展示)。
二次验证与IP白名单
- 开启谷歌验证器(2FA),避免密钥泄露后被滥用。
- 设置IP白名单为您的服务器公网IP,防范远程攻击。
常见问题问答(FAQ)
Q1:申请API时提示“身份认证未完成”,怎么办?
A:需要先完成欧易官网的高级身份认证(KYC2),通常需要上传身份证并完成人脸验证,审核通过后即可创建API。
Q2:Postman报错“Invalid Timestamp”,如何解决?
A:确保系统时间与网络时间同步,差值为5秒内,可在Postman预请求脚本中使用new Date().toISOString()生成时间戳。
Q3:API密钥过期后如何重新生成?
A:登录欧易管理后台,在API管理页面找到对应的密钥,点击“删除”后再重新创建,注意新密钥的权限需重新配置。
Q4:测试下单时提示“Insufficient balance”,但账户有余额?
A:检查订单是否使用了未冻结币种(如锁仓或委托中的资产),或尝试小额下单(如0.001 BTC)。
Q5:如何同时测试多币种账户?
A:使用Postman的集合(Collection)功能,将多个请求串联执行,并设置环境变量统一管理密钥与币种参数。
通过以上教程,您已掌握从申请API到Postman调试的全流程,建议在实际交易前,先在模拟环境(如欧易测试网)进行充分测试,点击这里获取更多技术资源与实时支持。