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
tropicardNumberstringSíNúmero de Tropicard de 16 dígitos
pinstringSíCó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"
}
}