Post-запросы
Эта страница описывает отправку запросов с помощью WebSocket API.
Формат запроса
WebSocket API поддерживает отправку запросов, которые обычно отправляются через HTTP API. Эти запросы представляют собой либо info-запросы, либо подписанные действия. Примеры полезных нагрузок info-запросов приведены в разделе конечной точки Info. Примеры полезных нагрузок подписанных действий приведены в разделе конечной точки Exchange.
Чтобы отправить такую полезную нагрузку любого из двух типов через WebSocket API, её необходимо обернуть следующим образом:
{
"method": "post",
"id": <number>,
"request": {
"type": "info" | "action",
"payload": { ... }
}
}
Примечание: поля method и id обязательны. Рекомендуется использовать уникальный id для каждого отправляемого post-запроса, чтобы отслеживать незавершённые запросы через канал.
Примечание: запросы explorer через WebSocket не поддерживаются.
Формат ответа
Сервер отвечает на post-запросы либо успехом, либо ошибкой. В случае ошибки возвращается String, отражающий код статуса HTTP и описание, которые были бы возвращены при отправке запроса через HTTP.
{
"channel": "post",
"data": {
"id": <number>,
"response": {
"type": "info" | "action" | "error",
"payload": { ... }
}
}
}
Примеры
Вот несколько примеров подписки на различные каналы с помощью сообщений подписки:
Отправка info-запроса L2Book:
{
"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}]
]
}
}
}
}
}
Отправка запроса подписанного действия order:
{
"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,
}
}
]
}
}
}
}
}
}