POST 请求
本页描述如何使用 WebSocket API 发送 post 请求。
请求格式
WebSocket API 支持发送通常通过 HTTP API 发送的 post 请求。这些请求要么是 info 请求,要么是签名操作(signed action)。info 请求负载的示例请参阅 Info 端点部分;签名操作负载的示例请参阅 Exchange 端点部分。
要通过 WebSocket API 发送任一类型的负载,必须按如下方式包装:
{
"method": "post",
"id": <number>,
"request": {
"type": "info" | "action",
"payload": { ... }
}
}
注意:method 和 id 字段为必填。建议你为发送的每条 post 请求使用唯一的 id,以便通过该通道跟踪未完成的请求。
注意:WebSocket 不支持 explorer 请求。
响应格式
服务器会以成功或错误响应 post 请求。对于错误,会返回一个 String,其中镜像了如果该请求通过 HTTP 发送时将返回的 HTTP 状态码和描述。
{
"channel": "post",
"data": {
"id": <number>,
"response": {
"type": "info" | "action" | "error",
"payload": { ... }
}
}
}
示例
以下是用订阅消息订阅不同数据源的几个示例:
发送 L2Book info 请求:
{
"method": "post",
"id": 123,
"request": {
"type": "info",
"payload": {
"type": "l2Book",
"coin": "ETH",
"nSigFigs": 5,
"mantissa": null
}
}
}
示例响应:
{
"channel": "post",
"data": {
"id": <number>,
"response": {
"type": "info",
"payload": {
"type": "l2Book",
"data": {
"coin": "ETH",
"time": <number>,
"levels": [
[{"px":"3007.1","sz":"2.7954","n":1}],
[{"px":"3040.1","sz":"3.9499","n":1}]
]
}
}
}
}
}
发送下单签名操作请求:
{
"method": "post",
"id": 256,
"request": {
"type": "action",
"payload": {
"action": {
"type": "order",
"orders": [{"a": 4, "b": true, "p": "1100", "s": "0.2", "r": false, "t": {"limit": {"tif": "Gtc"}}}],
"grouping": "na"
},
"nonce": 1713825891591,
"signature": {
"r": "...",
"s": "...",
"v": "..."
},
"vaultAddress": "0x12...3"
}
}
}
示例响应:
{
"channel": "post",
"data": {
"id": 256,
"response": {
"type":"action",
"payload": {
"status": "ok",
"response": {
"type": "order",
"data": {
"statuses": [
{
"resting": {
"oid": 88383,
}
}
]
}
}
}
}
}
}