https://www.anycoin.cash

3 35
Avatar for baby636
4 years ago

Anycoin API: REST & WS

REST-API

Die Beschreibung der REST-API finden Sie hier: Swagger-Definition

Sie können sich mit Ihrem Token authentifizieren


Bearer <Token>

Beispiel:


Bearer eyJhbGciOiJIUzI1NiIsInR5c.....MHrHDcEfxjoYZgeFONFh7HgQ

WebsocketAPI

Es gibt zwei Arten von Kanälen:

  • Öffentlich: für jedermann zugänglich

  • Privat: Nur für ein bestimmtes Mitglied zugänglich

GET-Anforderungsparameter:

FeldBeschreibungMehrfach erlaubtstreamListe der zu abonnierenden StreamsJa

Liste der unterstützten öffentlichen Streams:

  • public.<market>.ob-inc Marktauftragsbuch-Update

  • public.<market>.trades

  • public.<market>.kline-PERIOD (verfügbare Zeiträume sind "1 m", "5 m", "15 m", "30 m", "1 h", "2 h", "4 h", "6 h", "12 h", "1 d", "3d", "1 w" ")

  • public.global.tickers

Liste der unterstützten privaten Streams (erfordert Authentifizierung):

  • private.order

  • private.trade

  • private.balances

Ein Format dieser Ereignisse finden Sie unten im Dokument.

Authentifizierung

Die Authentifizierung erfolgt für eine Websocket-Nachricht mit der folgenden JSON-Struktur.


{
  "jwt": "Bearer <Token>"
}

Wenn die Authentifizierung durchgeführt wurde, antwortet der Server erfolgreich


{
  "success": {
    "message": "Authenticated."
  }
}

Andernfalls gibt der Server einen Fehler zurück


{
  "error": {
    "message": "Authentication failed."
  }
}

Wenn das JWT-Authentifizierungstoken einen ungültigen Typ hat, gibt der Server einen Fehler zurück


{
  "error": {
    "message": "Token type is not provided or invalid."
  }
}

Wenn während der Nachrichtenverarbeitung ein anderer Fehler aufgetreten ist, wird ein Fehler ausgegeben


{
  "error": {
    "message": "Error while handling message."
  }
}

Hinweis: Die Anycoin-Websocket-API unterstützt nur die Authentifizierung des JWT-Token vom Typ Bearer.

Beispiel für eine Authentifizierungsnachricht:


{
  "jwt": "Bearer eyJhbGciOiJIUzI1NiIsInR5c.....MHrHDcEfxjoYZgeFONFh7HgQ"
}

Streams-Abonnement

Parameter verwenden

Sie können Streams angeben, die abonniert werden sollen, indem Sie den streamParameter GET in der Verbindungs-URL übergeben. Der Parameter kann mehrfach angegeben werden, um mehrere Streams zu abonnieren.

Beispiel:

wss://ws.anycoin.cash:8443/private/?stream=private.orderwatch.mistbch&stream=private.balances&stream=private.order&stream=private.trade&stream=public.mistbch.ob-inc&stream=public.mistbch.trades&stream=public.global.tickers

Dadurch abonnieren Sie Ticker und Trades- Events vom Spicebch- Markt, sobald die Verbindung hergestellt ist.

Ereignisse abonnieren und abbestellen

Sie können die Verbindungsabonnements verwalten, indem Sie nach dem Herstellen der Verbindung die folgenden Ereignisse senden:

Mit dem Abonnement-Ereignis abonnieren Sie die Liste der bereitgestellten Streams:

{"event":"subscribe","streams":["public.spicebch.trades","public.spicebch.ob-inc"]}
                                                

Der Server bestätigt das Abonnement mit der folgenden Meldung und stellt die neue Liste Ihrer aktuellen Abonnements bereit:

{"success":{"message":"subscribed","streams":["public.global.tickers","public.spicebch.trades","public.spicebch.ob-inc"]}
                                                

Mit dem Ereignis "Abbestellen" werden Sie von der Liste der bereitgestellten Streams abgemeldet:

{"event":"unsubscribe","streams":["public.spicebch.trades","public.spicebch.ob-inc"]}
                                                

Der Server bestätigt die Abmeldung mit der folgenden Meldung und stellt die neue Liste Ihrer aktuellen Abonnements bereit:

{"success":{"message":"unsubscribed","streams":["public.global.tickers","public.spicebch.kline-15m"]}
                                                

Öffentliche Streams

Auftragsbuch

Dieser Stream sendet zum Abonnementzeitpunkt eine Momentaufnahme des Auftragsbuchs und anschließend Inkremente. Volumeninformationen in Schritten ersetzen die vorherigen Werte. Wenn das Volumen Null ist, sollte der Preispunkt aus dem Auftragsbuch entfernt werden.

Registrieren Sie sich zum Streamen <market>.ob-inc, um Snapshots zu empfangen und Nachrichten zu erhöhen.

Beispiel für einen Auftragsbuch-Schnappschuss:

{
  "spicebch.ob-snap":{
      "asks":[
          ["15.0","21.7068"],
          ["20.0","100.2068"],
          ["20.5","30.2068"],
          ["30.0","21.2068"]
      ],
      "bids":[
          ["10.95","21.7068"],
          ["10.90","65.2068"],
          ["10.85","55.2068"],
          ["10.70","30.2068"]
      ]
  }
}

                                              

Beispiel für eine Auftragsbuch-Inkrementnachricht:


{
  "spicebch.ob-inc":{
      "asks":[
          ["15.0","22.1257"]
      ]
  }
}

                                              

Trades

Hier ist die Struktur des <market>.tradesEreignisses, das als Array mit Trades verfügbar gemacht wird:

FeldBeschreibungtidEinzigartige Handelsbotschaft.taker_typeTaker Art des Handels, entweder buyoder sell.pricePreis für den Handel.amountDie Menge des Handels.created_atHandel schafft Zeit.

Kline Punkt

Kline-Punkt als Zahlenfeld:

  1. Zeitstempel.

  2. Offener Preis.

  3. Maximaler Preis.

  4. Mindestpreis.

  5. Letzter Preis.

  6. Periodenvolumen

Beispiel:

[1537370580, 0.0839, 0.0921, 0.0781, 0.0845, 0.5895]
                                                

Ticker

Hier ist die Struktur der global.tickersEreignisausstellung als Array mit allen Marktpaaren:

FeldBeschreibungatDatum des aktuellen Tickers.nameName des Marktpaars.base_unitHauptwährung.quote_unitWährung zitieren.lowNiedrigster Preis in 24 Stunden.highHöchster Preis in 24 Stunden.lastLetzter Handelspreis.openLetzter Handel vom letzten Zeitstempel.closeLetzter Handelspreis.volumeVolumen in 24 Stunden.sellBester Preis pro Einheit.buyBester Preis pro Einheit.avg_priceDurchschnittspreis für die letzten 24 Stunden.price_change_percentDurchschnittliche Preisänderung in Prozent.

Private Streams

Auftrag

Hier ist die Struktur der OrderVeranstaltung:

FeldBeschreibungidEindeutige Bestellnummer.marketDer Markt, auf dem die Bestellung aufgegeben wird. (In jeder Münze market_id)order_typeAuftragsart, entweder limitoder market.priceBestellpreis.avg_priceDurchschnittspreis bestellen.stateEiner von waitdonerejectoder cancel.origin_volumeDer Betrag, den Benutzer verkaufen / kaufen möchten.remaining_volumeRestbetrag, den Benutzer verkaufen / kaufen möchten.executed_volumeAusgeführter Betrag für aktuelle Bestellung.created_atBestellung erstellen Zeit.updated_atBestellung erstellen Zeit.trades_countTrades mit dieser Order.kindArt der Bestellung, entweder bidoder ask. (Veraltet)atBestellung erstellen Zeit. (Veraltet) (In jeder Münze created_at)

Handel

Hier ist die Struktur der TradeVeranstaltung:

FeldBeschreibungidEindeutige Handelskennung.pricePreis für jede Einheit.amountDie Menge des Handels.totalDie Summe des Handels (Volumen * Preis).marketDer Markt, auf dem der Handel stattfindet. (In anycoin market_id)sideArt der Bestellung im Handel, die sich auf den aktuellen Benutzer bezieht selloder buy.taker_typeBestellseite des Abnehmers für den Handel, entweder buyoder sell.created_atHandel schafft Zeit.order_idBenutzerauftragskennung im Handel.

4
$ 0.00
Avatar for baby636
4 years ago

Comments

bitcoincash:qz9tf06pf526fplxm28kf45gz263ultfdv02zmn777

$ 0.00
4 years ago