欧易API接口申请教程,如何使用Postman测试API密钥?

admin ok快讯 1

目录导读

  1. 欧易API接口与密钥申请

    欧易API接口申请教程,如何使用Postman测试API密钥?-第1张图片-欧易交易所

    • 1 注册与登录欧易交易所官网
    • 2 进入API管理页面创建密钥
    • 3 设置API权限与安全配置
  2. Postman环境配置与请求构建

    • 1 安装并打开Postman工具
    • 2 设置请求头与签名参数
    • 3 使用预请求脚本自动生成签名
  3. 测试API密钥的常用接口实战

    • 1 获取账户余额(GET请求)
    • 2 查询行情数据(公开接口)
    • 3 错误排查与常见问题解答
  4. 高频问题与问答汇总

    • Q1:API密钥泄露怎么办?
    • Q2:Postman返回200但无数据?
    • Q3:签名计算总是失败如何解决?

欧易API接口与密钥申请

1 注册与登录欧易交易所官网

要使用欧易(OKX)的API功能,首先需要拥有一个欧易交易所账号,请访问欧易交易所官网(在本文中推荐使用欧易交易所下载完成注册)或通过官方渠道下载APP,注册时需完成邮箱/手机验证及基础身份认证,建议开启双因素认证(2FA)以增强账户安全。

完成注册后登录账户,在首页导航栏中找到“API”入口,不同版本的欧易交易所官网界面可能略有差异,但通常位于“账户”或“开发者中心”下拉菜单中。

2 进入API管理页面创建密钥

在API管理页面,点击“创建API Key”按钮,系统会要求输入API名称(如“测试Key”),并选择权限范围,注意:首次创建时,部分平台需要验证二次密码或短信验证码,创建成功后,你将获得以下关键信息:

  • API Key:作为身份标识,类似用户名。
  • Secret Key:签名密钥,用于生成请求签名,请务必妥善保管,不可泄露
  • Passphrase:部分版本需要额外设置API密码短语(可自定义)。

务必复制并保存好Secret Key,因为刷新页面后将无法再次查看,你也可以在欧易交易所下载的API文档中查看更详细的密钥生成规则。

3 设置API权限与安全配置

欧易API支持多种权限类型,包括:

  • 读取(Read):只能查询账户信息、行情等,不可交易。
  • 交易(Trade):可进行买卖、撤单等操作。
  • 提币(Withdraw):控制资金转出,建议仅按需开启

测试阶段建议仅勾选“读取”权限,避免误操作,同时可以绑定IP白名单,只允许指定IP地址访问API,即使密钥泄露也能降低风险。


Postman环境配置与请求构建

1 安装并打开Postman工具

Postman是开发者常用的API测试工具,支持多种HTTP方法(GET、POST等)和变量管理,从官网下载并安装后,打开Postman,创建一个新的集合(Collection)用于管理欧易API请求。

建议在集合中设置全局变量,包括:

  • baseUrlhttps://www.okx.com(或通过欧易交易所下载获取最新入口)
  • apiKey:你申请到的API Key
  • secretKey:你申请到的Secret Key
  • passphrase:你设置的API Passphrase

这些变量后续可在请求URL和脚本中直接引用,方便维护。

2 设置请求头与签名参数

欧易API要求在请求头中传递以下参数:

Header名称 说明 示例值
OK-ACCESS-KEY API Key 你的API Key
OK-ACCESS-SIGN 请求签名(后文计算) 由算法生成的字符串
OK-ACCESS-TIMESTAMP UTC时间戳(毫秒) 1700000000000
OK-ACCESS-PASSPHRASE API密码短语 你在创建时设置的字符串

请求签名计算规则如下(以GET请求为例):

  1. 拼接签名字符串:时间戳 + METHOD + 请求路径 + 请求体(若为POST则为JSON字符串,GET可为空)
  2. 使用HMAC-SHA256算法,以Secret Key为密钥,对上述字符串加密。
  3. 将加密结果进行Base64编码后放入OK-ACCESS-SIGN头部。

3 使用预请求脚本自动生成签名

手动计算签名非常繁琐,Postman的Pre-request Script(预请求脚本)可以自动化完成,以下是一个可用的JavaScript脚本示例:

const timestamp = new Date().toISOString().slice(0,19) + 'Z';
const method = pm.request.method;
const path = pm.request.url.getPathWithQuery();
const body = pm.request.body ? pm.request.body.raw : '';
const message = timestamp + method + path + body;
const secretKey = pm.variables.get('secretKey');
const sign = CryptoJS.HmacSHA256(message, secretKey).toString(CryptoJS.enc.Base64);
pm.variables.set('okTimestamp', timestamp);
pm.variables.set('okSign', sign);

在请求头中使用变量:在Headers中设置OK-ACCESS-TIMESTAMP{{okTimestamp}}OK-ACCESS-SIGN{{okSign}}


测试API密钥的常用接口实战

1 获取账户余额(GET请求)

接口地址/api/v5/account/balance
请求方式:GET
请求头:按上述规则设置签名参数(无请求体)。
响应示例

{
  "code": "0",
  "data": [{
    "totalEq": "100.5",
    "details": [{
      "ccy": "BTC",
      "eq": "0.5"
    }]
  }]
}

若返回code: "0",表示请求成功;若返回错误码,请参考官方文档排查。

2 查询行情数据(公开接口)

公开接口通常无需签名,例如获取BTC/USDT当前价格: 接口地址/api/v5/market/ticker?instId=BTC-USDT
请求方式:GET
请求头:仅需设置Content-Type: application/json即可。
返回结果中的“last”字段即为最新成交价,注意:公开接口有频率限制,建议控制请求间隔。

3 错误排查与常见问题解答

  • 问题1:Postman返回“401 Unauthorized”。
    原因:签名计算错误或时间戳偏差超过30秒,请检查系统时间是否准确(建议开启自动同步),并确认Secret Key和Passphrase与创建时一致。

  • 问题2:响应中带中文乱码。
    解决方法:在Postman的Body设置中,将编码格式改为UTF-8。

  • 问题3:请求交易接口时提示“缺少权限”。
    原因:创建API Key时未勾选“交易”权限,请在API管理页面修改权限后重新测试。


高频问题与问答汇总

Q1:API密钥泄露怎么办?

:立即登录欧易交易所官网,在API管理页面中删除或禁用泄露的密钥,同时检查账户是否有异常操作,必要时修改登录密码和资金密码,建议启用IP白名单功能,限制API只能从你指定的服务器IP调用。

Q2:Postman返回200但无数据?

:可能原因包括:

  • 请求路径错误(检查大小写和斜杠)。
  • 参数遗漏(如未指定交易对instId)。
  • 接口已废弃(请参考官网最新API文档,例如欧易交易所下载中发布的更新日志)。
  • 权限未开启(只勾选了读取权限但调用了交易接口)。

Q3:签名计算总是失败如何解决?

:分步排查:

  1. 确认时间戳格式为UTC且精确到秒(格式如2025-04-02T12:00:00Z)。
  2. 确认签名消息字符串中无多余空格或换行符。
  3. 确认Secret Key已正确粘贴(注意前后无空格)。
  4. 使用Postman的Console(console.log)打印messagesign值,与在线签名工具比对。

如果你需要更复杂的交易策略或批量测试,建议先通过欧易交易所下载获取最新SDK示例代码,再结合Postman进行单元调试。

抱歉,评论功能暂时关闭!