Post-Anfragen
Diese Seite beschreibt das Senden von Anfragen über die WebSocket-API.
Anfrageformat
Die WebSocket-API unterstützt das Senden von Anfragen, die Sie üblicherweise über die HTTP-API senden. Diese Anfragen sind entweder Info-Anfragen oder signierte Actions. Beispiele für Payloads von Info-Anfragen finden Sie im Abschnitt zum Info-Endpunkt. Beispiele für Payloads signierter Actions finden Sie im Abschnitt zum Exchange-Endpunkt.
Um einen solchen Payload beider Typen über die WebSocket-API zu senden, müssen Sie ihn folgendermaßen umschließen:
{
"method": "post",
"id": <number>,
"request": {
"type": "info" | "action",
"payload": { ... }
}
}
Hinweis: Die Felder method und id sind obligatorisch. Es wird empfohlen, für jede gesendete Post-Anfrage eine eindeutige id zu verwenden, um offene Anfragen über den Channel nachverfolgen zu können.
Hinweis: explorer-Anfragen werden über WebSocket nicht unterstützt.
Antwortformat
Der Server antwortet auf Post-Anfragen entweder mit einem Erfolg oder einem Fehler. Bei Fehlern wird ein String zurückgegeben, der den HTTP-Statuscode und die Beschreibung widerspiegelt, die bei einer Übermittlung der Anfrage über HTTP zurückgegeben worden wären.
{
"channel": "post",
"data": {
"id": <number>,
"response": {
"type": "info" | "action" | "error",
"payload": { ... }
}
}
}
Beispiele
Im Folgenden finden Sie einige Beispiele für die Subskription verschiedener Feeds mithilfe der Subskriptionsnachrichten:
Senden einer L2Book-Info-Anfrage:
{
"method": "post",
"id": 123,
"request": {
"type": "info",
"payload": {
"type": "l2Book",
"coin": "ETH",
"nSigFigs": 5,
"mantissa": null
}
}
}
Beispielantwort:
{
"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}]
]
}
}
}
}
}
Senden einer Anfrage für eine signierte Order-Action:
{
"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"
}
}
}
Beispielantwort:
{
"channel": "post",
"data": {
"id": 256,
"response": {
"type":"action",
"payload": {
"status": "ok",
"response": {
"type": "order",
"data": {
"statuses": [
{
"resting": {
"oid": 88383,
}
}
]
}
}
}
}
}
}