订阅交易结果 (WS)
Last updated
Last updated
用于订阅全部或指定部分类型 (例如快速买卖 / 限价单等) 的交易结果(Plus / Pro / Enterprise可用)
wss://api-bot-v1.dbotx.com/trade/ws/
(请不要向任何人透露APIKey,如有遗失风险,请刷新)
X-API-KEY可以在您的"控制台"中获取, 前往查看:
为保证WebSocket连接的可用性和稳定性,需要至少每1分钟(建议每30-55秒)进行一次心跳订阅,否则系统会自动断开超时链接
以NodeJS为例:
const WebSocket = require("ws")
function main() {
const ws = new WebSocket("wss://api-bot-v1.dbotx.com/trade/ws/", {
headers: {
"x-api-key": "YOUR_API_KEY",
},
})
ws.on("open", () => {
ws.send(
JSON.stringify({
method: 'subscribeTradeResults',
tradeTypeFilter: [
'swap_buy_success',
'swap_buy_fail',
'swap_sell_success',
'swap_sell_fail',
],
})
)
setInterval(() => {
ws.ping()
}, 50000)
})
ws.on('message', res =>{
console.log('res:', res)
})
}
main()
以Python为例:
import asyncio
import websockets
import json
async def main():
uri = "wss://api-bot-v1.dbotx.com/trade/ws/"
headers = {"x-api-key": "YOUR_API_KEY"}
msg = {
"method": "subscribeTradeResults",
"tradeTypeFilter": ["swap_buy_success", "swap_buy_fail", "swap_sell_success", "swap_sell_fail"]
}
async with websockets.connect(uri, additional_headers=headers) as ws:
await ws.send(json.dumps(msg))
async def keep_alive():
while True:
await ws.ping()
await asyncio.sleep(50)
async def listen():
async for message in ws:
print(">>", message)
await asyncio.gather(keep_alive(), listen())
if name == "main":
asyncio.run(main())
{
"method": "subscribeTradeResults",
"tradeTypeFilter": [
"swap_buy_success",
"swap_buy_fail",
"swap_sell_success",
"swap_sell_fail"
]
}
{
"method": "subscribeResponse",
"result": {
"message": "Connected and subscribed"
}
}
method:当前固定为“subscribeTradeResults”
tradeTypeFilter:需要订阅的交易类型,空数组[]表示订阅所有交易类型,包括所有后续新增的, "swap_buy_success"代表快速买入成功,"swap_buy_fail"代表快速买入失败,"swap_sell_success"代表快速卖出成功,"swap_sell_fail"代表快速卖出失败