Saltar al contenido principal

Cuentas

La API de Cuentas te permite gestionar las cuentas de usuario, incluyendo la recuperación de información de cuentas, consulta de saldos, conversión de monedas y gestión de integraciones con Tropicard.

El objeto Account

{
"id": 21221,
"accountNumber": "TP00-0000-0000-0000-0000",
"userId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"alias": "My Account",
"balance": 418090,
"pendingIn": 1422276,
"pendingOut": 0,
"state": 1,
"paymentEntityId": 34,
"currency": "USDC",
"type": 1,
"createdAt": "2025-07-14T19:10:04.936Z",
"updatedAt": "2025-07-22T13:16:59.737Z",
"isDefault": false,
"groupId": null,
"TropiCards": [],
"services": [
{
"slug": "CRYPTO_TOPUP",
"enabled": true
}
],
"paymentMethods": [
{
"slug": "TPP",
"name": "Tropipay",
"enabled": true
}
]
}

Atributos

AtributoTipoDescripción
idintegerIdentificador único de la cuenta.
accountNumberstringEl número de cuenta único.
userIdstringEl ID del usuario propietario de la cuenta.
aliasstringUn nombre definido por el usuario para la cuenta.
balanceintegerEl saldo actual de la cuenta en céntimos.
pendingInintegerEl monto de fondos entrantes pendientes de confirmación, en céntimos.
pendingOutintegerEl monto de fondos salientes pendientes de confirmación, en céntimos.
stateintegerEl estado de la cuenta (por ejemplo, 1 para activa).
currencystringEl código de moneda de la cuenta (por ejemplo, USDC, EUR).
typeintegerEl tipo de cuenta (por ejemplo, 1 para una cuenta estándar).
createdAtstringLa fecha y hora de creación de la cuenta, en formato ISO 8601.
updatedAtstringLa fecha y hora de la última actualización de la cuenta, en formato ISO 8601.
isDefaultbooleanIndica si esta es la cuenta predeterminada del usuario.
servicesarrayUna lista de servicios financieros habilitados para esta cuenta.
paymentMethodsarrayUna lista de métodos de pago disponibles para esta cuenta.

Listar todas las cuentas

Devuelve una lista de todas las cuentas asociadas al usuario autenticado.

GET/accounts/
curl -X GET https://sandbox.tropipay.me/api/v3/accounts/ \
-H "Authorization: Bearer sk_test_..."

Parámetros

ParámetroTipoRequeridoDescripción
typestringNoFiltrar por tipo de cuenta

Respuesta

[
{
"id": 21221,
"accountNumber": "TP00-0000-0000-0000-0000",
"userId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"alias": "My Account",
"balance": 418090,
"pendingIn": 1422276,
"pendingOut": 0,
"state": 1,
"paymentEntityId": 34,
"currency": "USDC",
"type": 1,
"createdAt": "2025-07-14T19:10:04.936Z",
"updatedAt": "2025-07-22T13:16:59.737Z",
"isDefault": false,
"groupId": null,
"TropiCards": [],
"services": [
{
"slug": "CRYPTO_TOPUP",
"enabled": true
}
],
"paymentMethods": [
{
"slug": "TPP",
"name": "Tropipay",
"enabled": true
}
]
}
]

Recuperar el saldo de una cuenta

Recupera el saldo de una cuenta específica.

GET/accounts/balance/{accountNumber}
curl -X GET https://sandbox.tropipay.me/api/v3/accounts/balance/TP1234567890123456789012 \
-H "Authorization: Bearer sk_test_..."

Respuesta

{
"accountNumber": "TP00-0000-0000-0000-0000",
"balance": 418090,
"pendingIn": 1422276,
"pendingOut": 0,
"currency": "USDC"
}

Parámetros de la respuesta

ParámetroTipoDescripción
accountNumberstringEl número de cuenta único.
balanceintegerEl saldo actual de la cuenta en céntimos.
pendingInintegerEl monto de fondos entrantes pendientes de confirmación, en céntimos.
pendingOutintegerEl monto de fondos salientes pendientes de confirmación, en céntimos.
currencystringEl código de moneda de la cuenta (por ejemplo, USDC).

Recuperar todos los saldos de cuentas

Recupera la información de saldo de todas las cuentas del usuario.

GET/accounts/allBalance
curl -X GET https://sandbox.tropipay.me/api/v3/accounts/allBalance \
-H "Authorization: Bearer sk_test_..."

Respuesta

[
{
"balance": 418090,
"currency": "USDC"
},
{
"balance": 163202,
"currency": "EUR"
}
]

Parámetros de la respuesta

La respuesta es un array de objetos de cuenta, cada uno con los siguientes atributos:

ParámetroTipoDescripción
balanceintegerEl saldo total de la cuenta en céntimos.
currencystringEl código de moneda de la cuenta (por ejemplo, USDC, EUR).

Agregar cuenta Tropicard

Vincula una Tropicard a la cuenta del usuario.

POST/accounts/
curl -X POST https://sandbox.tropipay.me/api/v3/accounts/ \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"tropicardNumber": "1234567890123456",
"pin": "1234"
}'

Parámetros

ParámetroTipoRequeridoDescripción
tropicardNumberstringNúmero de Tropicard de 16 dígitos
pinstringCódigo PIN de 4 dígitos

Obtener dirección crypto para auto-recarga

Recupera una dirección de criptomoneda para depositar fondos en una cuenta.

GET/accounts/{accountId}/selfcharge/crypto
curl -X GET https://sandbox.tropipay.me/api/v3/accounts/21221/selfcharge/crypto \
-H "Authorization: Bearer sk_test_..."

Respuesta

{
"feePercent": 300,
"feeFixed": 0,
"accounts": [
{
"address": "Bvmv25du1Um2gvMFAd3EQjUCano9a7tPXDp9KnxWRqjc",
"network": "SOLANA",
"currency": "USDC"
}
]
}

Parámetros de la respuesta

ParámetroTipoDescripción
feePercentintegerLa comisión de depósito como porcentaje (por ejemplo, 300 para 3.00%).
feeFixedintegerUna comisión fija de depósito en céntimos.
accountsarrayUn array de direcciones de depósito disponibles.

Objeto Account dentro del array accounts

ParámetroTipoDescripción
addressstringLa dirección de la billetera de criptomoneda para el depósito.
networkstringLa red blockchain (por ejemplo, SOLANA).
currencystringEl código de criptomoneda (por ejemplo, USDC).

Manejo de errores

La API de Cuentas utiliza códigos de respuesta HTTP convencionales para indicar el éxito o fracaso de una solicitud a la API.

Códigos de error comunes

CódigoDescripción
400Bad Request - Parámetros inválidos
401Unauthorized - Autenticación inválida
403Forbidden - Permisos insuficientes
404Not Found - La cuenta no existe
409Conflict - La cuenta ya existe o tiene un estado inválido
422Unprocessable Entity - Datos de cuenta inválidos
429Too Many Requests - Límite de tasa excedido
500Internal Server Error

Ejemplo de respuesta de error

{
"error": {
"type": "invalid_request_error",
"code": "account_not_found",
"message": "No such account: acc_invalid",
"param": "accountId"
}
}