A Binance é uma exchange de criptomoedas internacional e multilíngue. Ela oferece algumas APIs para acessar dados da Binance. As seguintes APIs são suportadas:
O cliente também suporta Binance.us; as seguintes APIs são suportadas:
A API da Binance tem 2 tipos de métodos: públicos e privados. Os métodos públicos podem ser acessados sem autenticação, por exemplo: obter preços de tickers. Alguns são privados e relacionados a dados do usuário; esses métodos exigem o uso das chaves de API da Binance.
REST API
O endpoint base é wss://stream.binance.com:9443, o cliente pode assinar / cancelar a assinatura de eventos após uma conexão bem-sucedida.
Os seguintes métodos de Assinatura / Cancelamento de assinatura são suportados.
| Method | Parâmetros | Descrição |
| AggregateTrades | Symbol | envia informações de trade agregadas para uma única taker order |
| Trades | Symbol | envia informações brutas de trade; cada trade tem um comprador e um vendedor únicos |
| KLine | Symbol, Interval | envia atualizações dos klines/candlestick atuais a cada segundo, minuto, hora... |
| MiniTicker | Symbol | Estatísticas de mini-ticker de janela deslizante de 24h. Estas NÃO são as estatísticas do dia UTC, mas uma janela deslizante de 24h das últimas 24h. |
| AllMiniTickers | Estatísticas de mini-ticker de janela móvel de 24h para todos os símbolos que mudaram, em um array. Estas NÃO são as estatísticas do dia UTC, mas uma janela móvel de 24h para as 24h anteriores. Observe que apenas os tickers que mudaram estarão presentes no array. | |
| Ticker | Symbol | Estatísticas de ticker de janela deslizante de 24h para um único símbolo. Estas NÃO são as estatísticas do dia UTC, mas uma janela deslizante de 24h para as 24h anteriores. |
| AllMarketTickers | Estatísticas de ticker de janela deslizante de 24h para todos os símbolos que mudaram, em um array. Estas NÃO são as estatísticas do dia UTC, mas uma janela deslizante de 24h para as 24h anteriores. Observe que apenas os tickers que mudaram estarão presentes no array. | |
| BookTicker | Symbol | Envia qualquer atualização do melhor preço ou quantidade de bid ou ask em tempo real para um símbolo especificado. |
| AllBookTickers | Envia qualquer atualização no preço ou na quantidade do melhor bid ou ask em tempo real para todos os símbolos. | |
| PartialBookDepth | Symbol, Depth | Os <levels> bids e asks principais, enviados a cada segundo. Os <levels> válidos são 5, 10 ou 20. |
| DiffDepth | Symbol | Atualizações de preço e profundidade de quantidade do livro de ordens usadas para gerenciar um livro de ordens localmente. |
Após uma assinatura / cancelamento de assinatura bem-sucedido, o cliente recebe uma mensagem sobre isso, onde id é o resultado do método Subscribed / Unsubscribed.
{
"result": null,
"id": 1
}
Requer uma ApiKey válida obtida da sua conta binance, e a ApiKey deve ser definida na propriedade Binance.ApiKey do componente.
Os dados a seguir são enviados ao cliente toda vez que há uma alteração. Não há necessidade de assinar nenhum método; isso é feito automaticamente se você definir uma ApiKey válida.
| Method | Descrição |
| Account Update | O estado da conta é atualizado com o evento outboundAccountInfo. |
| Balance Update |
A atualização de saldo ocorre durante o seguinte:
|
| Order Update | As ordens são atualizadas com o evento executionReport. |
O endpoint base é: https://api.binance.com. Todos os endpoints retornam um objeto ou array JSON. Os dados são retornados em ordem ascendente. Mais antigos primeiro, mais recentes por último.
Acesso às Opções da REST API, utilizando a propriedade REST_API.BinanceOptions.
EndPoints da API Pública
Esses endpoints podem ser acessados sem nenhuma autorização.
General EndPoints
| Method | Parâmetros | Descrição |
| Ping | Testa a conectividade com a Rest API. | |
| GetServerTime | Testar a conectividade com a Rest API e obter a hora atual do servidor. | |
| GetExchangeInformation | Regras de negociação atuais do exchange e informações do símbolo |
Market Data EndPoints
| Method | Parâmetros | Descrição |
| GetOrderBook | Symbol | Obtém o Order Book. |
| GetTrades | Symbol | Obter negociações recentes |
| GetHistoricalTrades | Symbol | Obtém negociações mais antigas. |
| GetAggregateTrades | Symbol | Obtém negociações agregadas e compactadas. Negociações que são executadas ao mesmo tempo, da mesma ordem, com o mesmo preço terão a quantidade agregada. |
| GetKLines | Symbol, Interval | Barras de Kline/candlestick de um símbolo. As Klines são identificadas exclusivamente pelo seu open time. |
| GetAveragePrice | Symbol | Preço médio atual de um símbolo. |
| Get24hrTicker | Symbol | Estatísticas de variação de preço da janela móvel de 24 horas. Tenha cuidado ao acessar isto sem um símbolo. |
| GetPriceTicker | Symbol | Último preço de um símbolo. |
| GetPriceTickers | Symbols | Preço mais recente para um array de símbolos. Exemplo: ["BTCUSDT","BNBUSDT"] |
| GetBookTicker | Symbol | Melhor preço/quantidade no order book para um símbolo ou símbolos. |
| GetUIKLines | Symbol, Interval | Barras Kline/candlestick para um símbolo. A resposta é similar a GetKLines, otimizada para apresentação de gráficos de candlestick. |
| GetRollingWindowTicker | Symbol, Symbols, WindowSize | Estatísticas de variação de preço em janela móvel. Nota: o WindowSize padrão é 1d se não for especificado. |
| GetTradingDayTicker | Symbol, Symbols, Type | Estatísticas de variação de preço de um dia de negociação. |
Private API EndPoints
Requer uma APIKey e uma APISecret para ser autorizado pelo servidor.
Account Data EndPoints
| Method | Parâmetros | Descrição |
| NewOrder | Symbol, Side, Type | Envia uma nova ordem. |
| PlaceMarketOrder | Side, Symbol, Quantity | Coloca uma Nova Market Order |
| PlaceMarketQuoteOrder | Side, Symbol, QuoteOrderQty | Coloca uma Nova Ordem de Cotação de Mercado |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | Coloca uma nova ordem limitada |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Coloca uma Nova Ordem Stop |
| PlaceStopTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Coloca uma Nova Ordem Stop Trailing |
| PlaceTakeProfitOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Coloca uma Nova Take Profit Order |
| PlaceTakeProfitTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Coloca uma Nova Ordem Take ProfitTrailing |
| PlaceLimitMakerOrder | Side, Symbol, Quantity | Coloca uma nova Limit Market Order |
| TestNewOrder | Symbol, Side, Type | Testa a criação de nova ordem e a assinatura/recvWindow long. Cria e valida uma nova ordem, mas não a envia ao matching engine. |
| QueryOrder | Symbol | Verifica o status de uma ordem. |
| CancelOrder | Symbol | Cancela uma ordem ativa. Cancela uma ordem ativa. OrderId ou OrigClientOrderId deve ser enviado. |
| CancelAllOpenOrders | Symbol (opcional) | |
| GetOpenOrders | Obter todas as ordens abertas em um símbolo. Tenha cuidado ao acessar isto sem um símbolo. | |
| GetAllOrders | Symbol | Obtém todas as ordens da conta; ativas, canceladas ou preenchidas. |
| NewOCO | Symbol, Side, Quantity, Price, StopPrice | Envia uma nova OCO |
| CancelOCO | Symbol | Cancela uma Lista de Ordens inteira |
| QueryOCO | Symbol | Recupera um OCO específico com base nos parâmetros opcionais informados |
| GetAllOCO | Recupera todas as OCO com base nos parâmetros opcionais fornecidos | |
| GetOpenOCO | Obtém todas as OCO Abertas. | |
| GetAccountInformation | Obtém as informações da conta atual. | |
| GetAccountTradeList | Symbol | Obtém os trades de uma conta e símbolo específicos. |
| CancelReplaceOrder | Symbol, Side, Type, CancelReplaceMode | Cancela uma ordem existente e coloca uma nova ordem no mesmo símbolo. |
| NewOrderListOCO | Symbol, Side, Quantity, AboveType, BelowType | Coloca uma nova lista de ordens OCO. |
| NewOrderListOTO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingType, PendingSide, PendingQuantity | Registra uma nova lista de ordens OTO (One-Triggers-the-Other). |
| NewOrderListOTOCO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity | Coloca uma nova lista de ordens OTOCO (One-Triggers-a-One-Cancels-the-Other). |
| NewSOROrder | Symbol, Side, Type, Quantity | Coloca uma ordem utilizando Smart Order Routing (SOR). |
| TestSOROrder | Symbol, Side, Type, Quantity | Testar uma nova ordem utilizando Smart Order Routing (SOR). Cria e valida uma nova ordem, mas não a envia ao motor de correspondência. |
| GetOrderRateLimitUsage | Exibe a contagem de ordens atual do usuário para todos os intervalos. | |
| GetPreventedMatches | Symbol | Exibe a lista de ordens que expiraram por causa de STP (Self Trade Prevention). |
| GetAllocations | Symbol | Recupera as alocações resultantes da colocação de ordens SOR. |
| GetAccountCommission | Symbol | Obter as taxas de comissão atuais da conta. |
Convert EndPoints
| Method | Parâmetros | Descrição |
| GetAllConvertPairs | FromAsset, ToAsset | Consulta todos os pares de tokens conversíveis e os respectivos limites superior/inferior dos tokens |
| GetConvertAssetInfo | Consulta as informações de precisão suportadas de um ativo | |
| SendConvertQuoteRequest | FromAsset, ToAsset | Solicita uma cotação para os pares de tokens solicitados |
| AcceptConvertQuote | QuoteId | Aceita a cotação oferecida pelo ID da cotação. |
| GetConvertOrderStatus | OrderId ou QuoteId | Consulta o status da ordem por ID da ordem. |
| PlaceConvertLimitOrder | BaseAsset, QuoteAsset, Side, LimitPrice |
Permite que os usuários coloquem uma limit order. baseAsset ou quoteAsset podem ser determinados através do endpoint exchangeInfo. |
| CancelConvertLimitOrder | OrderId | Permite que os usuários cancelem uma ordem limite |
| GetConvertLimitOpenOrders | Permite que os usuários consultem todas as limit orders existentes | |
| GetConvertTradeHistory | StartTime, EndTime | O intervalo máximo entre startTime e endTime é de 30 dias. |
Wallet EndPoints
(*os endpoints de wallet só funcionam com o servidor de produção, não com o demo)
| Method | Descrição |
| GetWalletSystemStatus | Obtém o status do sistema. |
| GetWalletAllCoinsInformation | Obtém informações de moedas (disponíveis para depósito e saque) para o usuário. |
| GetWalletDailyAccountSnapshot | Type: "SPOT", "MARGIN", "FUTURES"
|
| SetWalletDisableFastWithdrawSwitch | Esta requisição desabilitará o switch fastwithdraw na sua conta. Você precisa habilitar a opção "trade" para a api key que solicita este endpoint. |
| SetWalletEnableFastWithdrawSwitch | Esta requisição habilitará o switch de fastwithdraw na sua conta. Você precisa habilitar a opção "trade" para a chave de api que faz requisições a este endpoint. Quando o Fast Withdraw Switch está ativado, a transferência de fundos para uma conta Binance será feita instantaneamente. Não há transação on-chain, nem ID de transação, nem taxa de saque. |
| WalletWithdraw |
Submeter uma requisição de saque.
|
| GetWalletDepositHistory | Obtém o histórico de depósitos. |
| GetWalletWithdrawHistory | Buscar histórico de saques (Withdraw). |
| GetWalletDepositAddress | Buscar endereço de depósito com rede. |
| GetWalletAccountStatus | Busca o detalhe do status da conta. |
| GetWalletAccountAPITradingStatus | Obtém os detalhes do status de trading da API da conta. |
| GetWalletDustLog | Retorna apenas os últimos 100 registros Retorna apenas os registros após 2020/12/01 |
| GetWalletAssetsConvertedBNB | |
| WalletDustTransfer |
Converte ativos de dust em BNB. Você precisa habilitar a permissão Spot & Margin Trading para a API Key que solicita este endpoint. |
| GetWalletAssetDividendRecord | Consulta o registro de dividendos de ativos. |
| GetWalletAssetDetail | Busca detalhes dos ativos suportados na Binance. |
| GetWalletTradeFee | Obter taxa de trade |
| WalletUserUniversalTransfer |
Você precisa habilitar a opção Permits Universal Transfer para a API Key que requisita este endpoint. MAIN_UMFUTURE Transferência da conta Spot para a conta USDⓈ-M Futures ENUM de Type:
|
| GetWalletQueryUserUniversalTransferHistory |
|
| GetWalletFundingWallet | Atualmente suporta a consulta dos seguintes ativos de negócio:Binance Pay, Binance Card, Binance Gift Card, Stock Token |
| GetWalletUserAsset | Obter ativos do usuário, apenas para dados positivos. |
| GetWalletApiKeyPermission |
As mensagens do Binance são recebidas no componente TsgcWebSocketClient; você pode utilizar os seguintes eventos:
OnConnect
Após uma conexão bem-sucedida ao servidor Binance.
OnDisconnect
Após uma desconexão do servidor Binance
OnMessage
Mensagens enviadas pelo servidor ao cliente são tratadas neste evento.
OnError
Se houver algum erro no protocolo, este evento será chamado.
OnException
Se houver uma exceção não tratada, este evento será chamado.
Além disso, há um evento específico no Componente da API Binance, chamado OnBinanceHTTPException, que é disparado cada vez que há um erro ao chamar uma Requisição HTTP (REST API ou WebSocket User Stream).
(*) Devido a mudanças nos servidores da Binance, versões do Indy anteriores ao Rad Studio 10.1 não conseguirão conectar aos Test Servers. Esse problema não afeta a edição Enterprise nem se a versão do Indy tiver sido atualizada para a mais recente.