Free Round Bonus API
Overview
The Free Round Bonus (FRB) API enables your game platform to receive and process free spin bonus requests from Groove. When casino operators want to offer free spins to their players on your games, Groove sends requests to your FRB API endpoints.
Through this API, your platform will:
- Receive bonus template creation requests from Groove
- Process player bonus assignments sent by Groove
- Track and validate free round usage during gameplay
- Support multi-currency with automatic conversion from EUR base
Integration Flow
API Endpoints (Your Implementation)
Your platform must implement these endpoints to receive FRB requests from Groove:
1. Create Bonus Template
Method: POST
Endpoint: https://{your_domain}/frb/create (or your specified endpoint)
Purpose: Receive and process bonus template creation requests from Groove
Direction: Groove → Your Platform
2. Assign Bonus to Players
Method: POST
Endpoint: https://{your_domain}/frb/assign (or your specified endpoint)
Purpose: Receive and process bonus assignment requests from Groove
Direction: Groove → Your Platform
3. Get FRB Status
Method: GET
Endpoint: https://{your_domain}/frb/{version}/bonus
Purpose: Provide status information for a specific bonus assignment
Direction: Groove → Your Platform
4. Cancel FRB
Method: DELETE
Endpoint: https://{your_domain}/frb/{version}/bonus
Purpose: Cancel an active bonus assignment for a player
Direction: Groove → Your Platform
Key Features
Bonus Template Assignment and Currency Conversion
When Groove sends you bonus assignments:
- Base Currency: All templates use EUR as the base currency
- Automatic Conversion: Your system should convert EUR amounts to each player’s currency
- Multiple Assignments: The same template can be assigned to multiple players
- Currency Alignment: Each player receives the bonus in their account currency
- Exchange Rates: Use current rates to convert from EUR to player currencies
Request/Response Format
- Content-Type:
application/json; charset=UTF-8 - Method:
POSTfor all FRB endpoints - All dates/times in UTC format
- Currency codes in ISO3 format
- Country codes in ISO3 format
Implementation Requirements for Your Platform
- Idempotency: Handle duplicate requests from Groove properly - return same response
- Template Storage: Store template IDs when Groove creates them
- Currency Conversion: Convert EUR base amounts to player currencies
- Bulk Processing: Handle multiple player assignments in single request
- Error Responses: Return appropriate error codes to Groove
- Session Validation: Validate Groove session IDs in bonus requests
- Audit Trail: Log all bonus operations from Groove
Error Response Format
All error responses follow this structure:
{
"status": "Error Type",
"code": 400,
"templateId": null,
"exceptionResponses": "Error description"
}Common Error Codes
| Code | Status | Description |
|---|---|---|
| 200 | Success | Request processed successfully |
| 400 | General Error | Invalid parameters or request |
| 443 | Wrong Game ID | Game ID is not valid |
| 444 | Wrong Player ID | Player ID is not valid |
| 449 | Invalid Parameters | Parameter validation failed |
| 500 | Internal Error | Server error occurred |
Best Practices for Your Implementation
- Request Validation: Validate all parameters from Groove before processing
- Template Management: Store template details when Groove creates them
- Partial Success: Return detailed status for each player in bulk assignments
- Audit Logging: Log all incoming requests from Groove
- Currency Precision: Maintain proper decimal precision in conversions
- Expiry Handling: Track and enforce bonus expiration dates
- Duplicate Handling: Return original response for duplicate requests from Groove
- Session Security: Always validate Groove session tokens
Integration with Game Transactions
When a player uses free rounds in your game:
- Your game checks if the player has active free rounds
- Your game sends wager request to Groove with:
frbid: The unique assignment ID your platform generated in the assign responsebetamount: Must be0(zero) for free round transactions
- Groove validates the bonus and processes the transaction
- Your game decrements the free round count after successful wager
**Important Transaction Rules for Free Rounds:** - **frbid**: Must be the unique `templateId` that YOUR PLATFORM generates and returns in the assign response - **betamount**: Must always be `0` for free round wagers - **Unique Assignment IDs**: Each assignment must return a new unique templateId, even for the same bonus template - **Multiple Grants**: The same template can be assigned multiple times to the same player - each with its own unique assignment ID
Integration Steps
- Set up FRB endpoints on your servers to receive Groove requests
- Implement template storage to save bonus templates from Groove
- Add assignment logic to process player bonus assignments
- Implement status tracking to provide real-time bonus status
- Add cancellation support to handle bonus cancellations
- Integrate with your games to track free round usage
- Test with Groove using their staging environment
- Monitor and log all FRB operations for reconciliation
API Documentation
- Create Bonus Template - Process template creation requests
- Assign Bonus to Players - Handle bonus assignments
- Get FRB Status - Provide bonus status information
- Cancel FRB - Process bonus cancellations
- FAQ - Common questions and answers