Diese Seite ist eine Community-Übersetzung und dient nur zur Orientierung; maßgeblich ist die englische Originalversion.
Englisches Original ↗

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,
                }
              }
            ]
          }
        }
      }
    }
  }
}
Offizielle Quelle: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/post-requests
Quellstand: · Mirror erstellt: · Community-Übersetzung; die englische Fassung ist maßgeblich
Inoffizielle Community-Übersetzung der Hyperliquid-Dokumentation. Inhalte © Hyperliquid; maßgeblich ist die englische Version. Quelle: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/post-requests