接入准备
本文档为合作方对接OSL GLOBAL API提供指导,在对接前,请先登陆 网页端,完成API key的申请和权限配置,再据此文档详情进行开发和交易。
您可以点击 API Key管理 创建 API Key。
每个子帐号可创建10组Api Key,每个Api Key可对应设置读取、交易两种权限。权限说明如下:
- Read-Only:读取权限,用于对数据的查询,例如:行情数据。
- Spot Trading:现货交易权限,用于现货的下单、撤单等接口。
- Futures Trading:合约交易权限,用于合约的下单、撤单等接口。 创建成功后请务必记住以下信息:
创建Api Key系统会自动生成APIKey、Secretkey,Api Key信息介绍如下:
- APIKey:API交易的身份标识,随机算法生成。
- Secretkey:私钥,由系统随机生成,用于签名的生成。
- Passphrase 口令,由用户自己设定,需要注意的是,Passphrase忘记之后是无法找回的,需要重新创建APIKey。
- 出于安全考虑,在创建API Key时强烈建议您绑定 IP 地址。
⚠️风险提示:这三个密钥与账号安全密切相关,请牢记Passphrase,无论何时都请勿向他人透露。 这三个密钥任意一个泄露可能会造成您的资产损失,若发现APIKey泄露请尽快删除该APIKey。
环境信息
为了保障双方对接的顺利进行,我们提供了独立的测试环境以支持前期联调。待联调完成并确认功能正常后,即可切换至生产环境进行正式使用。具体环境信息如下:
- 测试环境:
- HTTP接口域名:
https://mm-api-glb.osltest.com - Websocket接口域名:
wss:/mm-stream-glb.osltest.com
- HTTP接口域名:
- 生产环境:
- HTTP接口域名:
https://mm-api.coloc-glb.osl.com - Websocket接口域名:
wss://mm-api.coloc-glb.osl.com
- HTTP接口域名:
接口类型
本章节主要为接口类型分以下两个方面:
- 公共接口
- 私有接口
公共接口
公共接口可用于获取配置信息和行情数据。公共请求无需认证即可调用。
私有接口
私有接口可用于订单管理和账户管理。每个私有请求必须使用规范的验证形式进行签名。
私有接口需要使用您的APIKey进行验证。
Websocket接口
WebSocket是HTML5一种新的协议(Protocol)。它实现了客户端与服务器全双工通信, 使得数据可以快速地双向传播。通过一次简单的握手就 可以建立客户端和服务器连接, 服务器根据业务规则可以主动推送信息给客户端。其优点如下:
- 客户端和服务器进行数据传输时,请求头信息比较小,大概2个字节。
- 客户端和服务器皆可以主动地发送数据给对方。
- 不需要多次创建TCP请求和销毁,节约宽带和服务器的资源。
- 强烈建议开发者使用WebSocket API获取市场行情和买卖深度等信息。
| 域名 | WebSocket API | 建议使用 |
|---|---|---|
| websocket 公共频道 | wss://mm-api.coloc-glb.osl.com/v2/ws/public | websocket主域名, 公共频道 |
| websocket 私有频道 | wss://mm-api.coloc-glb.osl.com/v2/ws/private | websocket主域名, 私有频道 |
连接说明:
连接限制: 300次连接请求/IP/5分钟,单个IP最多可以创建100个连接
订阅限制: 240次/小时/连接,单个连接最多可以订阅1000个频道
为了保持连接有效且稳定,建议您进行以下操作:
- 用户设置一个定时器,每30秒发送字符串"ping", 并期待一个字符串"pong"作为回应。如果未收到字符串"pong"响应,请重新连接;
- 如果2分钟内服务端没收到"ping",会自动断开连接;
- Websocket服务器每秒每连接最多接受10个消息。消息包括:
- 字符串"ping";
- JSON格式的消息,比如订阅,断开订阅。
- 如果用户发送的消息超过限制,连接会被断开连接。反复被断开连接的IP有可能被服务器屏蔽;
- 为了保持连接的稳定性,强烈建议单个连接不要订阅超过50个频道。订阅频道数越少的连接,稳定性会更高。
以订阅公共频道的ticker为例,分以下两步:
- 连接地址:
wss://mm-api.coloc-glb.osl.com/v2/ws/public - 发起订阅频道请求:
{"op":"subscribe","args":[{"channel":"ticker","instType":"sp","instId":"btcusdt"}]}