Assinatura
Todas as requisições são autenticadas via **HMAC SHA256**, garantindo segurança, integridade e proteção contra replays.
🔐 Autenticação via HMAC
Cada requisição deve conter os seguintes headers:
x-client-id
string
Identificador exclusivo do parceiro
x-timestamp
string
Timestamp UNIX (em segundos) da requisição
x-signature
string
Assinatura HMAC gerada com o clientSecret
🧾 Como gerar a assinatura
A stringToSign
usada para gerar a assinatura deve seguir a seguinte ordem exata:
METHOD + PATH + TIMESTAMP + CLIENT_ID + BODY
METHOD
: método HTTP da requisição (ex:POST
)PATH
: caminho da URL (ex:/api/partners/get-dolar
)TIMESTAMP
: UNIX timestamp válido em segundos, com até 5 minutos de tolerânciaCLIENT_ID
: mesmo valor enviado no headerx-client-id
BODY
: conteúdo da requisição serializado comJSON.stringify()
(mesmo que vazio{}
)
import CryptoJS from "crypto-js";
const method = "POST";
const path = "/api/partners/get-dolar";
const timestamp = "1746924610";
const clientId = "...";
const body = JSON.stringify({ usdtAmount: 10, quoteType: "DEPOSIT" });
const stringToSign = method + path + timestamp + clientId + body;
const clientSecret = "yourClientSecret";
const signature = CryptoJS.HmacSHA256(stringToSign, clientSecret).toString(CryptoJS.enc.Hex);
Last updated
Was this helpful?