4.1. Conexão em Python

4.1. Conexão em Python

Com o token válido, o usuário poderá iniciar uma conexão com o WebBroker:

user = _session_store.get(session['session_id']) if 'api_endpoint' in _config: user.webbroker_connection = None if user.access_token: access_token = user.access_token else: user.webbroker_connection = None print('No access token in session') return #Inicia conexão try: user.webbroker_connection = HubConnectionBuilder()\ .with_automatic_reconnect({\ "type": "raw", "keep_alive_interval": 3600, "reconnect_interval": 2, "max_attempts": 15, "prompt":"login" })\ .with_url(_config['api_endpoint'], options={ "access_token_factory":lambda: access_token,\ "verify_ssl":False\ }).build() user.webbroker_connection.start()

 

4.1. Subscrição de eventos e definição de métodos de escuta

 

  • Subscrição de eventos para todas as estratégias (obrigatório) - SubscribeEventsForAllStrategies:

Para habilitar o recebimento de atualizações em tempo real de todas as estratégias disponíveis, o cliente deve invocar o método SubscribeEventsForAllStrategies. Esta chamada é obrigatória após o estabelecimento da conexão.

Um identificador de requisição (request_Id) deve ser enviado como parâmetro. Ele deve ser uma string única (por exemplo, um UUID), utilizada para rastrear a chamada.

Exemplo em Python:
import uuid request_id = str(uuid.uuid4()) user.webbroker_connection.send('SubscribeEventsForAllStrategies', [request_id])

 

  • Definindo os métodos de escuta (callbacks)

Após a conexão com a API WebBroker ser estabelecida com sucesso, o cliente deve registrar os métodos de escuta (callbacks) responsáveis por tratar os eventos emitidos pela API em tempo real.

Esses métodos permitem que o cliente reaja a notificações de sucesso, erros ou atualizações de estado relacionadas às estratégias ou à conexão.

 

Evento de erro – OnSetStrategyParamsError

Esse callback será acionado sempre que ocorrer um erro durante a criação ou envio de estratégias.

O método recebe um parâmetro error, que é uma string contendo a mensagem de erro reportada pela API WebBroker.

Exemplo em Python:
def OnSetStrategyParamsError(error): print(f"Erro ao definir parâmetros da estratégia: {error}") user.webbroker_connection.on("OnSetStrategyParamsError", OnSetStrategyParamsError)

 

Evento de atualização – OnCurrentUserStrategies

Esse callback é utilizado para receber atualizações em tempo real relacionadas às estratégias do usuário.
Sempre que uma estratégia for criada, alterada ou reportar progresso, a API WebBroker enviará uma notificação através desse evento.

O método recebe um parâmetro strategy, que é um objeto JSON contendo os dados da estratégia atualizada.

Exemplo em Python:
def OnCurrentUserStrategies(strategy): print(f"Estratégia atualizada: {strategy}") user.webbroker_connection.on("OnCurrentUserStrategies", OnCurrentUserStrategies)

 

Plug and Trade Sistemas