Distributes tokens from a game room to one or more players.
Endpoint:/game/earnMethod: POST
{
roomId: string; // The ID of the room to distribute from
plyrIds: string[]; // Array of player IDs to receive tokens
tokens: string[]; // Array of token names/symbols
amounts: number[]; // Array of amounts to distribute (corresponding to tokens array)
sync?: boolean; // When true, returns direct response. When false/undefined, returns a task ID for polling status
}
When sync=false (default):
{
task: {
id: string; // Task ID for checking status
}
}
The arrays `plyrIds`, `tokens`, and `amounts` must have corresponding lengths.
Example Usage
// Sync=true usage
const timestamp = Date.now().toString();
const body = {
roomId: 'room123',
plyrIds: ['player1', 'player2'], // Multiple players can receive tokens
tokens: ['TOKEN1', 'TOKEN2'], // Different tokens can be distributed
amounts: [100, 200], // Corresponding amounts for each token
sync: true // or omit for task-based response
};
const hmac = generateHmacSignature(timestamp, body, secretKey);
const response = await axios.post(apiEndpoint + '/game/earn', body, {
headers: {
apikey: apiKey,
signature: hmac,
timestamp: timestamp
}
});
The arrays `plyrIds`, `tokens`, and `amounts` must have corresponding lengths. For example, if distributing multiple tokens to a single player, repeat the plyrId in the array.