WebSocket APIs

Istnieje wiele implementacji opartych na WebSocket: finanse, publikowanie wiadomości, kolejki... sgcWebSockets implementuje najważniejsze API oparte na protokole WebSocket. Aby skorzystać z API, wystarczy dołączyć komponent API do klienta, a wszystkie wiadomości będą obsługiwane przez ten komponent (do klienta można dołączyć tylko jeden komponent API).

 

API klienckie

 

API Opis
Binance jest międzynarodową, wielojęzyczną giełdą kryptowalut.
Binance Futures umożliwia połączenie z strumieniami WebSocket / REST rynku Binance Futures.
Coinbase

Coinbase to giełda kryptowalut z siedzibą w Stanach Zjednoczonych. Umożliwia handel Bitcoin (BTC), Ethereum (ETH) i innymi kryptowalutami za USD, EUR i GBP. Obsługuje WebSocket API i REST API.

SignalR to biblioteka dla deweloperów ASP.NET ułatwiająca tworzenie funkcjonalności sieciowych w czasie rzeczywistym z wykorzystaniem WebSockets jako transportu.
SignalRCore

ASP.NET Core SignalR to biblioteka open-source upraszczająca dodawanie funkcjonalności czasu rzeczywistego do aplikacji internetowych.

SocketIO Jest to biblioteka JavaScript do aplikacji internetowych działających w czasie rzeczywistym. Umożliwia dwukierunkową komunikację w czasie rzeczywistym między klientami internetowymi a serwerami.
Kraken to amerykańska giełda kryptowalut.
Kraken Futures umożliwia połączenie z danymi rynkowymi Kraken Futures WebSocket / REST.
Pusher Pusher to łatwa i niezawodna platforma z elastyczną obsługą komunikatów pub/sub, listami użytkowników na żywo, uwierzytelnianiem...
Bitfinex Bitfinex jest jedną z największych i najbardziej zaawansowanych platform do handlu kryptowalutami na świecie. Użytkownicy mogą wymieniać Bitcoin, Ethereum, Ripple, EOS, Bitcoin Cash, Iota, NEO, Litecoin, Ethereum Classic...
Bitstamp Bitstamp jest jedną z najdłużej działających giełd kryptowalut na świecie, wspierającą ekosystem blockchain od 2011 roku.
Huobi jest międzynarodową, wielojęzyczną giełdą kryptowalut.
Cex jest giełdą kryptowalut i dawnym dostawcą usług cloud miningu Bitcoin.
Cex Plus CEX.IO Exchange Plus to zaawansowana platforma handlu kryptowalutami oferująca głęboką płynność i zaawansowane narzędzia transakcyjne
Bitmex jest giełdą kryptowalut i platformą handlu instrumentami pochodnymi.
3Commas To bot handlowy kryptowalut.
Kucoin jest giełdą kryptowalut umożliwiającą kupowanie, sprzedawanie i przechowywanie kryptowalut, takich jak BTC, ETH, KCS, SHIB, DOGE
Kucoin Futures umożliwia połączenie z serwerami Kucoin Futures (WebSocket i REST)
OKX dawniej znana jako OKEx, jest jedną z największych giełd transakcji spot i instrumentów pochodnych na rynku kryptowalut.
XTB Handel FX i CFD z dostępem do ponad 2000 rynków finansowych.
Discord jest jednym z najpopularniejszych narzędzi komunikacyjnych w grach online i streamingu.
Bybit giełda kryptowalut i platforma handlowa
OpenAI API OpenAI Realtime API umożliwia interakcje niskolatencyjne z obsługą wielu modalności, w tym konwersacje mowy na mowę oraz transkrypcję w czasie rzeczywistym.
MEXC Scentralizowana giełda kryptowalut i platforma handlowa; ten składnik implementuje SPOT API.
MEXC Futures Scentralizowana giełda kryptowalut i platforma transakcyjna; komponent implementuje API Futures.
Bitget Giełda kryptowalut i platforma handlowa obsługująca rynki Spot i Futures.
Gate.io Giełda kryptowalut obsługująca handel spot i kontraktami futures z API WebSocket i REST.
Deribit Giełda instrumentów pochodnych kryptowalut oferująca handel kontraktami futures i opcjami na Bitcoin i Ethereum.
Crypto.com Giełda kryptowalut obsługująca kanały rynkowe i użytkownika za pośrednictwem interfejsów API WebSocket i REST.
HTX Międzynarodowa giełda kryptowalut (dawniej Huobi) z REST API do danych rynkowych i handlu.

 

 

WebSocket API można rejestrować w czasie wykonania; wystarczy wywołać metodę RegisterAPI i przekazać komponent API jako parametr.

 

 

Inne interfejsy API klienta

 

API Opis
Telegram to oparta na chmurze usługa natychmiastowego przesyłania wiadomości i telefonii internetowej. Użytkownicy mogą wysyłać wiadomości oraz wymieniać zdjęcia, filmy, naklejki, pliki audio i pliki dowolnego typu.
Whatsapp Ogólnoświatowa, bezpłatna, wieloplatformowa, scentralizowana usługa komunikacji błyskawicznej i VoIP dostępna w Stanach Zjednoczonych
RCON to protokół komunikacyjny oparty na TCP/IP, który umożliwia wydawanie poleceń konsolowych serwerowi.
CryptoHopper Jest to bot do handlu kryptowalutami i menedżer portfela.
CryptoRobotics To robot do handlu kryptowalutami.

 

 

 

API serwera

API Opis
WebPush Protokół Web Push umożliwia aplikacjom internetowym wysyłanie powiadomień do użytkowników nawet wtedy, gdy aplikacja nie jest otwarta ani aktywna.
WebAuthn Serwer FIDO2/WebAuthn API do uwierzytelniania bezhasłowego z użyciem biometrii, kluczy bezpieczeństwa i kluczy dostępu.

 

 

Błędy w żądaniach HTTP

Komponenty API wysyłają swoje żądania REST przez wspólnego klienta HTTP. Gdy żądanie kończy się statusem błędu HTTP, klient zgłasza EsgcHTTPAPIProtocolException, zadeklarowany w module sgcHTTP_API. Wyjątek ten dziedziczy po wyjątku zgłaszanym we wcześniejszych wersjach, dlatego istniejące procedury obsługi wyjątków działają bez żadnych zmian, a dodatkowo przenosi on nagłówki odpowiedzi nieudanego żądania. Wcześniej obiekt HTTP był niszczony, zanim błąd dotarł do aplikacji, i te nagłówki były tracone, więc nagłówka Retry-After przy HTTP 429 ani liczników limitów żądań zwracanych przez giełdy nie można było w ogóle odczytać.

 

 

Parametr ResponseHeaders przyjmowany przez metody Post i Query jest teraz wypełniany również wtedy, gdy żądanie kończy się niepowodzeniem, a nie tylko wtedy, gdy kończy się powodzeniem.

 

Kompletny przykład opisano w temacie Binance | Get Market Data.

 

 

Throttle

Każdy klient API WebSocket ma właściwość Throttle, która ogranicza wiadomości wysyłane przez klienta do serwera. Giełdy zamykają połączenie przekraczające dozwoloną częstotliwość wiadomości, więc seria ramek subskrypcji może spowodować zerwanie gniazda.

 

 

 

Resubscribe

Klienci API WebSocket, którzy udostępniają opcję Resubscribe, odtwarzają subskrypcje aktywne przed rozłączeniem, gdy tylko WatchDog nawiąże ponowne połączenie. Gdy klient ma ustawione dane uwierzytelniające, giełda uwierzytelnia nową sesję asynchronicznie, dlatego odtwarzanie jest wstrzymywane do momentu potwierdzenia uwierzytelnienia przez giełdę i jest anulowane, gdy to potwierdzenie zgłasza niepowodzenie. Wcześniej kanały prywatne były odtwarzane w sesji, której giełda nie uznawała jeszcze za uwierzytelnioną, i subskrypcje były odrzucane.

 

Klienci, którzy czekają na to potwierdzenie, to Bitfinex, Bitget, Bitmex, Bybit, Cex Plus, Crypto.com, Deribit i Gate.io. Kraken Futures robi to samo za pomocą swojego wyzwania podpisu, kanały prywatne są odtwarzane po nadejściu nowego wyzwania i są nim ponownie podpisywane.

 

Sesja publiczna, w której nie ustawiono ApiKey, nie jest w ogóle uwierzytelniana, dlatego jej odtwarzanie jest wysyłane zaraz po nawiązaniu połączenia, dokładnie tak jak wcześniej.