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-idBODY: 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);<?php
$method = "POST";
$path = "/api/partners/get-dolar";
$timestamp = "1746924610";
$clientId = "58BAAA...";
$body = '{"usdtAmount":10, "quoteType:"DEPOSIT"}';
$clientSecret = "suaChaveSecretaAqui";
$stringToSign = $method . $path . $timestamp . $clientId . $body;
$signature = hash_hmac('sha256', $stringToSign, $clientSecret);
echo "Signature: " . $signature;
?>Last updated
Was this helpful?