API Quickstart
Things to know before using an API
Prerequisite
API KEY and SECRET KEY — After you signup the PLYR[ID]. You can request us to generate API KEY Pair.
Basic to Call our API
We use "Timestamp + Body Payload" and signs with SECRET KEY as a HMAC (SHA256) signature. You need to include custom header apikey, signature, timestamp every time to call our API.
Base Headers
Every API request must include these base headers:
{
apikey: string; // Your API key obtained from the developer portal
signature: string; // HMAC signature of the request
timestamp: string; // Current timestamp in milliseconds (Date.now().toString())
}
Header Requirements
Format Requirements:
- Headers are case-sensitive
- Values must be strings
- Timestamp must be in milliseconds
HMAC Signature Generation
// Example signature generation
const timestamp = Date.now().toString();
const payload = JSON.stringify(requestBody);
const message = timestamp + payload;
const signature = crypto.createHmac('sha256', secretKey).update(message).digest('hex');
Always keep your API key and secret key secure. Never expose them in client-side code or public repositories.
Example 1: GET Method API without Body Payload.
Let see the example of "userInfo" API endpoint.
// Generate HMAC signature from timestamp + body //
const crypto = require('crypto');
const axios = require("axios");
const APIKEY = ''; // your api key
const SECRETKEY = ''; // you api secret key
function generateHmacSignature(timestamp, body, secretkey) {
const bodyString = JSON.stringify(body);
const data = timestamp + bodyString;
return crypto
.createHmac('sha256', secretkey)
.update(data)
.digest('hex');
}
const timestamp = Date.now().toString();
const apiEndpoint = 'https://api-testnet.plyr.network/api';
const searchText = 'cyptofennec'; // PLYR[ID]
let hmac = generateHmacSignature(timestamp, {}, SECRETKEY); // If API required body payload (POST method) just pass the object //
let ret = await axios.get(
apiEndpoint + "/api/user/info/" + searchTxt + '/',
{
headers: {
apikey: APIKEY,
signature: hmac,
timestamp: timestamp,
},
}
);
console.log("ret data",ret.data);
Example 2: POST Method API with Body Payload.
Let see the example of "getAvatars" API endpoint.
// Generate HMAC signature from timestamp + body //
const crypto = require('crypto');
const axios = require("axios");
const APIKEY = ''; // your api key
const SECRETKEY = ''; // you api secret key
function generateHmacSignature(timestamp, body, secretkey) {
const bodyString = JSON.stringify(body);
const data = timestamp + bodyString;
return crypto
.createHmac('sha256', secretkey)
.update(data)
.digest('hex');
}
const timestamp = Date.now().toString();
const apiEndpoint = 'https://api-testnet.plyr.network/api';
let body = {
plyrIds: ['fennec2', 'cyptofennec']
}
let hmac = generateHmacSignature(timestamp, body, SECRETKEY);
let ret = await axios.post(
apiEndpoint + "/api/user/avatars",
body,
{
headers: {
apikey: APIKEY,
signature: hmac,
timestamp: timestamp,
},
}
);
console.log("ret data",ret.data);
Last updated