Wallet
Table of Contents
1. Tickets Flowchart
The natural flow of a ticket would be ticket creation, its confirmation for assuring that it has been properly created, ticket resolution once the event has finished, and, in the exceptional case, the cancellation of the ticket.
The different states through which a ticket passes:
2. Possible configurations
Mobadoo’s WALLET allows a set of configurations for easing up the integration and for improving the performance of it, once the integration was done by our customer.
Such possible configurations can be managed from the back office console at https://dashboard.mobadoo.com/wallet/settings. Some of the configurations available are:
- Auto confirm tickets: this configuration provides the option of no deeding to implement the “confirm”, assuming that the ticket will be automatically confirmed.
- Auto resolve tickets: allowing the tickets to be automatically resolved, without needing to integrate the “/resolve”. This option requires a notification URL implemented, for the resolved tickets without the need to generate the calls
- market limit: the activation of the button is required for the tab to be shown, making available to place betting limits to betting markets for each video-game.
- player ban: the activation of the button is required for the tab to be shown, and making it possible to ban players if it is a suspicion of fraudulent activity.
3. Methods
The main methods designed for the complete integration of the wallet, are:
- /wallet/ticket/create (mandatory): use for ticket creation
- /wallet/ticket/confirm (optional): confirmation of the ticket creation on both sides
- /wallet/ticket/cancel (mandatory): tickets cancellation
- /wallet/ticket/resolve (optional): tickets resolution
- /wallet/ticket (optional): tickets consultation
- /wallet/ticket/<transaction_id> (optional): for collecting information of a ticket
4. Integration options
There several options for wallet integration, reducing the integration time, as well as calls’ quantity:
4.1 Option A (recommended)
In this option the autoconfirm and the auto-resolve of the wallet settings are activated, for then integrating the following methods:
- /wallet/ticket/create
- /wallet/ticket/cancel
- notifications’ URL
4.2 Option B
All methods to be implemented, but “confirm”. This option requires the implementation of the “resolve”
- /wallet/ticket/create
- /wallet/ticket/cancel
- /wallet/ticket/resolve
4.3 Option C
The full integration of all wallet’s methods for a higher control, from the gaming operator, of all communications.
- /wallet/ticket/create
- /wallet/ticket/confirm
- /wallet/ticket/cancel
- /wallet/ticket/resolve
5. Tickets information
For speeding up the integration, for consulting the tickets’ information, it is recommended to use the back office console, avoiding the need to implement the related methods,
Take note that for extracting the information, the implementation of the following methods is required:
- /wallet/ticket
- /wallet/ticket/<transaction_id>
6. Tips
This section describes the different tips available for each of Mobadoo’s contents. The data structure is the same, except when specific product selections are different.
6.1 Odds Tips
Regarding Odds, there are two options: simple and combination and need to be both implemented for giving service to all video-game betting.
6.1.1 Simple
Allows us to place single one-game bets, in other words, selecting one market only. Example:
{
"uuid": "YOUR USER ID",
"transaction_id": "YOUR TRANSACTION ID",
"currency": "EUR",
"tips": [
{
"product_type": "PRE",
"type": "SIMPLE",
"videogame": "lol",
"bet_amount": 10,
"selections": [
{
"match_id": 588790,
"match_name": "S04.E vs BTXL",
"odd_id": 1618858600658,
"quota": 2.380952380952381,
"spread": 100
}
]
}
]
}
6.1.2 Combined
Multiple selections of the same video-game
{
"uuid": "YOUR USER ID",
"transaction_id": "YOUR TRANSACTION ID",
"currency": "EUR",
"tips": [
{
"product_type": "PRE",
"type": "COMBINED",
"videogame": "lol",
"bet_amount": 10,
"selections": [
{
"match_id": 588790,
"match_name": "S04.E vs BTXL",
"odd_id": 1618858600658,
"quota": 2.380952380952381,
"spread": 100
},
{
"match_id": 588790,
"match_name": "S04.E vs BTXL",
"odd_id": 1618858600667,
"quota": 1.7241379310344827,
"spread": 100
}
]
}
]
}
6.2 Fantasy content tips
Roster generation by selection players
{
"uuid": "YOUR USER ID",
"transaction_id": "YOUR TRANSACTION ID",
"currency": "EUR",
"tips": [
{
"product_type": "FANTASY",
"type": "SIMPLE",
"videogame": "lol",
"bet_amount": 10,
"selections": [
{
"roster_id": 588790
},
{
"roster_id": 588791
},
{
"roster_id": 588793
},
{
"roster_id": 588794
},
{
"roster_id": 588795
}
],
"journey_id": 311
}
]
}
6.3 Pool content Tips
Picking selected matches for the Quiniela
{
"uuid": "YOUR USER ID",
"transaction_id": "YOUR TRANSACTION ID",
"currency": "EUR",
"tips": [
{
"product_type": "POOL",
"bet_amount": 0,
"pool_id": 937,
"selections": [
{
"market_id": "2",
"selection_id": 2,
"videogame": "dota2",
"match_id": "589497"
},
{
"market_id": "24",
"selection_id": 45,
"videogame": "dota2",
"match_id": "589497"
},
{
"market_id": "2",
"selection_id": 2,
"videogame": "dota2",
"match_id": "589525"
},
...
]
}
]
}
7. Error Codes
7.1 Generals
RS_ERROR_WALLET_NOT_CONFIGURED | ‘Lack of permissions for wallet access. Talk with your provider’, |
RS_ERROR_UNKNOWN | ‘UnknownError’, |
RS_ERROR_INVALID_VIDEOGAME | ‘No permission for accessing the video-game, or the video-game does not exist’, |
RS_ERROR_TRANSACTION_NOT_CONFIRMED | ‘The ticket has not been confirmed by the operator and can not be resolved’, |
RS_ERROR_INVALID_TIP_TYPE | ‘Unknown type of ticket’, |
RS_ERROR_INVALID_TIP_PRODUCT_TYPE | ‘Not valid product (TIP)’, |
RS_ERROR_TIP_MARKET_LIMIT | ‘Maximum allowed bet amount has been reached’, |
RS_ERROR_TIP_COMBINED_LIMIT | ‘Maximum combined bet has been reached’, |
RS_ERROR_MARKET_SELECTION | ‘Selected option does not exist for that match’, |
RS_ERROR_ODD_VALUE | ‘Invalid or outdated odd value’, |
RS_ERROR_ODD_INVALID_TYPE | ‘Invalid odd type’, |
RS_ERROR_INVALID_MATCH | ‘Unknown Match’, |
RS_ERROR_TIP_BET_AMOUNT_INVALID | ‘Invalid or non-received bet amount’, |
RS_ERROR_INVALID_GAME | ‘Unknown Game’, |
RS_ERROR_MARKET_CLOSED | ‘Market closed’, |
RS_ERROR_MISSING_UUID | ‘Wrong or missing UUID’, |
RS_ERROR_WRONG_CURRENCY | ‘Unkown currency’, |
RS_ERROR_USER_BANNED | ‘Banned User’, |
RS_ERROR_DUPLICATE_TRANSACTION | ‘Duplicated transaction’, |
RS_ERROR_MISSING_TRANSACTION | ‘TRANSACTION_ID missing’, |
RS_ERROR_MISSING_SELECTION | ‘Unknown selection’, |
RS_ERROR_ODD_SPREAD | ‘Wrong odd’s spread. Review setting at the back office console’, |
7.2 Transactions
RS_ERROR_TRANSACTION_ALREADY_CONFIRMED | ‘Transaction already confirmed’, |
RS_ERROR_TRANSACTION_ALREADY_CANCELED | ‘Transaction already canceled’, |
RS_ERROR_TRANSACTION_PREVIOUSLY_CANCELED | ‘Transaction previously canceled’, |
RS_ERROR_TRANSACTION_PREVIOUSLY_RESOLVED | ‘Transaction previously resolved’, |
RS_ERROR_TRANSACTION_NOT_RESOLVED | ‘Transaction not yet resolved’, |
RS_ERROR_TRANSACTION_DOES_NOT_EXIST | ‘TRANSACTION_ID does not exist’, |
7.3 Fantasy
RS_ERROR_FANTASY_NOT_CONFIGURED | ‘No Fantasy permission. Talk with the supplier’, |
RS_ERROR_FANTASY_INVALID_ROSTER_LENGTH | ‘Invalid amount of players’, |
RS_ERROR_FANTASY_INVALID_ROSTER_SELECTION | ‘Roster selection invalid’, |
RS_ERROR_FANTASY_INVALID_ROSTER_BUDGET | ‘Wrong roster budget’, |
RS_ERROR_FANTASY_JOURNEY_NOT_AVAILABLE_FOR_BETTING | ‘This journey does not allow betting’, |
7.4 Pool / Quiniela
RS_ERROR_INVALID_CURRENCY_POOL | ‘The betting pool does not allow this currency’, |
RS_ERROR_INVALID_POOL | ‘Betting Pool not valid’ |