Integration Guide
Last updated
import { createHmac } from 'crypto';
const method = 'GET';
const requestPath =
'/api/statistics/dashboard?unit=30d&start=1784772000000';
const timestamp = new Date().toISOString();
const body = '';
const sign = createHmac('sha256', process.env.BS_SECRET_KEY!)
.update(`${timestamp}${method}${requestPath}${body}`)
.digest('base64');
const res = await fetch(`${BASE_URL}${requestPath}`, {
headers: {
'BS-ACCESS-KEY': process.env.BS_ACCESS_KEY!,
'BS-ACCESS-SIGN': sign,
'BS-ACCESS-TIMESTAMP': timestamp,
'BS-ACCESS-PASSPHRASE': process.env.BS_ACCESS_PASSPHRASE!,
},
});
const bodyJson = await res.json();
if (!res.ok || bodyJson.errno !== 0) {
throw new Error(`Request failed (${res.status}) errno=${bodyJson.errno} ${bodyJson.message}`);
}{
"errno": 50103,
"message": "Invalid signature"
}