Assinar desafio (API WebSocket)

Última atualização: 31 de mar. de 2025

As solicitações de inscrição e cancelamento de inscrição para feeds privados do WebSocket exigem uma mensagem de desafio
assinada com a api_secret do usuário.

O desafio é obtido conforme mostrado na Seção API Pública do WebSocket (usando a api_key).

As solicitações autenticadas devem incluir tanto a mensagem de desafio original (original_challenge) quanto a assinada (signed_challenge) no formato JSON.

Desafio

O desafio é uma string UUID.

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


As etapas para assinar o desafio são as mesmas das etapas para gerar uma solicitação REST autenticada
exceto pela etapa 1, que agora é apenas a string do desafio:

  1. 1

    Faça o hash do desafio com o algoritmo SHA-256

  2. 2

    Decodifique em Base64 sua api_secret

  3. 3

    Use o resultado da etapa 2 para fazer o hash do resultado da etapa 1 com o algoritmo HMAC-SHA-512

  4. 4

    Codifique em Base64 o resultado da etapa 3

O resultado da etapa 4 é o desafio assinado que será incluído na solicitação de inscrição.

A tabela abaixo mostra a saída esperada a partir de entradas de exemplo:

desafio

c100b894-1729-464d-ace1-52dbce11db42

api_secret

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

saída assinada

4JEpF3ix66GA2B+ooK128Ift4XQVtc137N9yeg4Kqsn9PI0Kpzbysl9M1IeCEdjg0zl00wkVqcsnG4bm
nlMb3A==

Precisa de mais ajuda?