Assinar o desafio (WebSocket API)

Última atualização: 7 de outubro de 2026

Os pedidos de subscrição e de anulação de subscrição a feeds privados WebSocket requerem uma mensagem de desafio assinada
com o api_secret do cliente.

O desafio é obtido conforme indicado na secção WebSocket API Public (usando o api_key).

Os pedidos autenticados devem incluir tanto a mensagem de desafio original (original_challenge) como o desafio assinado (signed_challenge) em formato JSON.

Desafio

O desafio é uma string UUID.

Exemplo: c100b894-1729-464d-ace1-52dbce11db42 


Os passos para assinar o desafio são os mesmos que os passos para gerar um pedido REST autenticado
exceto o passo 1, que consiste agora apenas na string do desafio:

  1. 1

    Calcule o hash do desafio com o algoritmo SHA-256

  2. 2

    Descodifique em Base64 o seu api_secret

  3. 3

    Use o resultado do passo 2 para calcular o hash do resultado do passo 1 com o algoritmo HMAC-SHA-512

  4. 4

    Codifique em Base64 o resultado do passo 3

O resultado do passo 4 é o desafio assinado, que será incluído no pedido de subscrição.

A tabela abaixo apresenta o resultado esperado para os dados de entrada de exemplo:

desafio

c100b894-1729-464d-ace1-52dbce11db42

api_secret

 7zxMEF5p/Z8l2p2U7Ghv6x14Af+Fx+92tPgUdVQ748FOIrEoT9bgT+bTRfXc5pz8na+hL/QdrCVG7bh9KpT0eMTm

resultado assinado

4JEpF3ix66GA2B+ooK128Ift4XQVtc137N9yeg4Kqsn9PI0Kpzbysl9M1IeCEdjg0zl00wkVqcsnG4bm
nlMb3A==