Sección 06
La API de tu plataforma
Los endpoints de wallet que AIC llama en tu plataforma.
La API de tu plataforma#
Estos son los endpoints que AIC llama a tu plataforma para consultar y mover el balance de los jugadores. Tu API debe exponerlos en la URL base que registraste para cada entorno (ver Alta y credenciales).
Reglas comunes#
- Todas las llamadas son
POSTcon cuerpo JSON a{tu URL base}<operación>(en este manual,{{API_URL_CLIENTE}}). - Las respuestas exitosas deben devolver HTTP 200 con este formato. Los dos campos son obligatorios:
{
"data": 2287.3,
"status": {
"code": "0",
"message": "Success",
"datetime": "2026-10-20T21:07:03.930Z"
}
}dataes numérico: el balance del jugador después de la operación.statuses obligatorio, concode: "0". Si falta, AIC rechaza la respuesta aunque el balance sea válido.- Los montos están expresados en la divisa de tu proyecto.
- El manejo de errores se describe en Respuestas y errores.
Resumen de operaciones#
| Operación | Seamless | Transfer | Propósito |
|---|---|---|---|
check-balance | ✓ | ✓ | Consultar el balance del jugador. |
add-bet | ✓ | ✓ | Descontar del balance (apuesta, reversión que le quita saldo al jugador, o transferencia al juego en Transfer). |
add-win | ✓ | ✓ | Acreditar al balance (ganancia, cancelación, o devolución del balance en Transfer). |
update-totals-games | ✓ | Recibir los totales de la sesión al cerrar un juego Transfer (informativo). | |
rollback | ✓ | Revertir una ronda (algunos proveedores). |
Check Balance#
Devuelve el balance del jugador.
{{API_URL_CLIENTE}}check-balanceEjemplo de solicitud
curl -X POST "{{API_URL_CLIENTE}}check-balance" \
-H "Content-Type: application/json" \
-d '{
"playerName": "casinoPlayer123",
"token_room": "playerSessionToken"
}'Respuesta exitosa
{
"data": 2287.3,
"status": {
"code": "0",
"message": "Success",
"datetime": "2026-10-20T21:07:03.930Z"
}
}Parámetros del body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| playerName | string | Sí | Identificador del jugador. |
| token_room | string | Sí | Token de sesión que enviaste en enterGame. |
Add Bet#
Descuenta el monto del balance del jugador. En Seamless corresponde a una apuesta o a una reversión que le quita saldo al jugador; en Transfer, a la transferencia del balance al juego al abrir la sesión.
{{API_URL_CLIENTE}}add-betEjemplo de solicitud
curl -X POST "{{API_URL_CLIENTE}}add-bet" \
-H "Content-Type: application/json" \
-d '{
"playerName": "casinoPlayer123",
"gameId": "clmgj4mer000fawnho0gyt7ma",
"amount": 100,
"idTransaction": "idTransaction",
"token_room": "playerSessionToken",
"movementId": "3f2a9c4e-7b1d-5e8a-9c2f-1a6b4d8e0f73"
}'Respuesta exitosa
{
"data": 2187.3,
"status": {
"code": "0",
"message": "Success",
"datetime": "2026-10-20T21:07:03.930Z"
}
}Parámetros del body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| playerName | string | Sí | Identificador del jugador. |
| gameId | string | Sí | Identificador del juego (el mismo de la lista de juegos). |
| amount | number | Sí | Monto a descontar del balance. |
| idTransaction | string | Sí | Identificador de la transacción. |
| token_room | string | Sí | Token de sesión que enviaste en enterGame. |
| movementId | string | Sí | Identificador único del movimiento, generado por AIC. Solo se repite si AIC reenvía el mismo movimiento. |
Respuesta
data: nuevo balance del jugador tras el descuento. Si el balance no alcanza, responde con el error de saldo insuficiente.
Add Win#
Acredita el monto al balance del jugador. Se usa para ganancias, para cancelaciones o reembolsos de apuestas y, en Transfer, para devolver el balance al cerrar la sesión.
{{API_URL_CLIENTE}}add-winEjemplo de solicitud
curl -X POST "{{API_URL_CLIENTE}}add-win" \
-H "Content-Type: application/json" \
-d '{
"playerName": "casinoPlayer123",
"gameId": "clmgj4mer000fawnho0gyt7ma",
"amount": 150,
"idTransaction": "idTransaction",
"token_room": "playerSessionToken",
"movementId": "3f2a9c4e-7b1d-5e8a-9c2f-1a6b4d8e0f73"
}'Respuesta exitosa
{
"data": 2337.3,
"status": {
"code": "0",
"message": "Success",
"datetime": "2026-10-20T21:07:03.930Z"
}
}Parámetros del body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| playerName | string | Sí | Identificador del jugador. |
| gameId | string | Sí | Identificador del juego. |
| amount | number | Sí | Monto a acreditar al balance. |
| idTransaction | string | Sí | Identificador de la transacción. |
| token_room | string | Sí | Token de sesión que enviaste en enterGame. |
| movementId | string | Sí | Identificador único del movimiento, generado por AIC. Solo se repite si AIC reenvía el mismo movimiento. |
Respuesta
data: nuevo balance del jugador tras el abono.
Update Totals Games#
Al cerrar una sesión Transfer, AIC te informa los totales de la sesión para tus reportes. No mueve balance: el balance ya regresó mediante add-win.
{{API_URL_CLIENTE}}update-totals-gamesEjemplo de solicitud
curl -X POST "{{API_URL_CLIENTE}}update-totals-games" \
-H "Content-Type: application/json" \
-d '{
"gameId": "clmgj4mer000fawnho0gyt7ma",
"totalBet": 500,
"totalWin": 420,
"playerName": "casinoPlayer123",
"averageBet": 10
}'Parámetros del body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| gameId | string | Sí | Identificador del juego. |
| totalBet | number | Sí | Total apostado en la sesión. |
| totalWin | number | Sí | Total ganado en la sesión. |
| playerName | string | Sí | Identificador del jugador. |
| averageBet | number | Sí | Apuesta promedio de la sesión. |
Nota
Responde HTTP 200. El contenido de tu respuesta no afecta el cierre de la sesión.
Rollback#
Algunos proveedores revierten una ronda con esta llamada. Aplica nuevo balance = balance − amountWin + amountBet y responde con el nuevo balance en data.
{{API_URL_CLIENTE}}rollbackEjemplo de solicitud
curl -X POST "{{API_URL_CLIENTE}}rollback" \
-H "Content-Type: application/json" \
-d '{
"playerName": "casinoPlayer123",
"gameId": "clmgj4mer000fawnho0gyt7ma",
"amountBet": 100,
"amountWin": 0,
"movementId": "8c1e5d27-4a9b-5f3c-b6d0-2e7f9a1c4b58"
}'Respuesta exitosa
{
"data": 2287.3,
"status": {
"code": "0",
"message": "Success",
"datetime": "2026-10-20T21:07:03.930Z"
}
}Parámetros del body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| playerName | string | Sí | Identificador del jugador. |
| gameId | string | Sí | Identificador del juego. |
| amountBet | number | Sí | Monto apostado en la ronda a revertir (se devuelve al jugador). |
| amountWin | number | Sí | Monto ganado en la ronda a revertir (se descuenta al jugador). |
| movementId | string | Sí | Identificador único del movimiento, generado por AIC. Solo se repite si AIC reenvía el mismo movimiento. |