用于查询快速买卖的订单状态,orderId 的参数来自于快速买卖的响应结果
| Free | Plus | Pro | Enterprise | 积分消耗 |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | 0 |
URL
wss://api-bot-v1.dbotx.com/trade/ws/
说明
为保证WebSocket连接的可用性和稳定性,需要至少每1分钟(建议每30-55秒)进行一次心跳订阅,否则系统会自动断开超时链接
请求示例
{
"id": 1761291309, // 调用id,响应结果返回相同ID
"method": "getSwapOrder", // 调用查询快速买卖任务方法
"params": {
"orderId": "mh4arjjr00109a" // 快速买卖任务ID
}
}响应数据
{
"method": "rpcResponse", // rpc响应
"id": 1761291309, // 调用id
"result": {
"err": false, // 是否发生错误
"res": {
"id": "mh4arjjr00109a", // 快速买卖任务ID
"chain": "solana", // 链 (solana/ethereum/base/bsc/tron)
"tradeType": "buy", // 交易类型,值为buy和sell
"state": "done", // 订单状态,init:初始化,processing:进行中,done:已完成,fail:已失败,expired:已过期
"txPriceUsd": 0.000020976535179060357, // 买入/卖出价格
"swapHash": "5cL65PoEA5bn1fqkwjGqEPMJsZKcTyze36pUNVU3HvXkMtm1gBzzoW4RQnMMpc9iuAEBohcjNVKufQR2U9nVFDpf", // 交易哈希
"swapLink": "https://solscan.io/tx/5cL65PoEA5bn1fqkwjGqEPMJsZKcTyze36pUNVU3HvXkMtm1gBzzoW4RQnMMpc9iuAEBohcjNVKufQR2U9nVFDpf",
"errorCode": "", // 错误类型
"errorMessage": "", // 错误信息
}
}
}以NodeJS为例
const WebSocket = require('ws')
function main() {
const ws = new WebSocket('wss://api-data-v1.dbotx.com/trade/ws/', {
headers: {
'x-api-key': 'YOUR_API_KEY',
},
})
ws.on('open', () => {
ws.send(
JSON.stringify({
"id": 1761291309,
"method": "getSwapOrder",
"params": {
"orderId": "mh4arjjr00109a"
}
})
)
setInterval(() => {
ws.ping()
}, 30000)
})
ws.on('message', res => {
console.log('res:', res.toString('utf-8'))
})
}
main()以Python为例
import asyncio
import websockets
import json
async def main():
uri = "wss://api-data-v1.dbotx.com/trade/ws/"
headers = {"x-api-key": "YOUR_API_KEY"}
msg = {
"id": 1761291309,
"method": "getSwapOrder",
"params": {
"orderId": "mh4arjjr00109a"
}
}
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(30)
async def listen_for_messages():
async for message in ws:
print(message)
await asyncio.gather(keep_alive(), listen_for_messages())
if __name__ == "__main__":
asyncio.run(main())响应结果可视化参考

