Saltar al contenido principal

Usuarios

La API de Usuarios te permite gestionar perfiles de usuario, saldos, configuraciones de seguridad y preferencias de autenticación. Esto incluye operaciones como recuperar información del usuario, actualizar perfiles, gestionar la autenticación de dos factores y manejar códigos de seguridad.

El objeto User

{
"id": "443b4dd0-e8b3-11ec-bcf1-49674ab3a8ea",
"name": "John",
"surname": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"state": 1,
"kycLevel": 4,
"balance": 163202,
"pendingIn": 1339174,
"pendingOut": 0,
"twoFaMode": 1,
"logo": "https://umedia.tropipay.com/develop/user-id/logo-257.png",
"createdAt": "2022-06-10T11:48:38.319Z",
"updatedAt": "2025-07-24T05:50:54.066Z"
}

Atributos

AtributoTipoDescripción
idstringIdentificador único del usuario (UUID).
namestringNombre del usuario.
surnamestringApellido del usuario.
emailstringCorreo electrónico del usuario.
phonestringNúmero de teléfono del usuario.
stateintegerCódigo numérico que representa el estado de la cuenta del usuario (por ejemplo, 1 para activa).
kycLevelintegerNivel de verificación Know Your Customer.
balanceintegerSaldo de la cuenta principal del usuario en céntimos.
pendingInintegerMonto total de fondos entrantes pendientes de confirmación, en céntimos.
pendingOutintegerMonto total de fondos salientes pendientes de confirmación, en céntimos.
twoFaModeintegerCódigo numérico del modo de autenticación de dos factores (por ejemplo, 1 para habilitado).
logostringURL del logo/avatar del perfil del usuario.
createdAtstringMarca temporal de creación del usuario.
updatedAtstringMarca temporal de la última actualización del perfil del usuario.

Recuperar perfil de usuario

Recupera los detalles del usuario autenticado.

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

Respuesta

{
"id": "443b4dd0-e8b3-11ec-bcf1-49674ab3a8ea",
"name": "John",
"surname": "Doe",
"email": "john.doe@example.com",
"phone": "+1234567890",
"state": 1,
"kycLevel": 4,
"balance": 163202,
"pendingIn": 1339174,
"pendingOut": 0,
"twoFaMode": 1,
"logo": "https://umedia.tropipay.com/develop/user-id/logo-257.png",
"createdAt": "2022-06-10T11:48:38.319Z",
"updatedAt": "2025-07-24T05:50:54.066Z",
"group": { ... },
"userDetail": { ... },
"options": { ... }
}

Enviar código de seguridad

Este endpoint envía un código de seguridad al teléfono o correo electrónico del usuario. Es un paso crítico durante el proceso de registro para validar y actualizar la información de contacto del usuario, asegurando que la cuenta esté protegida.

POST/users/sendSecurityCode
curl -X POST https://sandbox.tropipay.me/api/v3/users/sendSecurityCode \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"type": "sms",
"callingCode": "+1",
"phone": "234567890"
}'

Parámetros

ParámetroTipoRequeridoDescripción
typestringTipo de verificación (sms, email)
phonestringCondicionalRequerido cuando el tipo es sms
callingCodestringCondicionalRequerido cuando el tipo es sms. Prefijo telefónico del país del usuario.
emailstringCondicionalRequerido cuando el tipo es email

Validar token de seguridad

Valida un código de seguridad que fue enviado previamente al usuario.

POST/users/validateToken
curl -X POST https://sandbox.tropipay.me/api/v3/users/validateToken \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"securityCode": "123456",
"type": "sms"
}'

Parámetros

ParámetroTipoRequeridoDescripción
securityCodestringEl código de seguridad de 6 dígitos
typestringTipo de verificación (sms, email, totp)

Respuesta

Una validación exitosa devuelve un booleano isValid, el objeto de usuario completo y un nuevo JSON Web Token (JWT) de corta duración. Este nuevo token debe usarse para acciones posteriores que requieran una sesión recientemente verificada.

info

Importante: Si el código de seguridad fue enviado a un nuevo número de teléfono no asociado previamente a la cuenta, una validación exitosa actualizará el perfil del usuario con el nuevo número.

{
"isValid": true,
"user": {
"id": "443b4dd0-e8b3-11ec-bcf1-49674ab3a8ea",
"name": "John",
"surname": "Doe",
"email": "john.doe@example.com",
"phone": "+3455555555",
// ... other user fields
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Configurar autenticación de dos factores

Habilita o deshabilita la autenticación de dos factores para la cuenta de usuario.

POST/users/2fa
curl -X POST https://sandbox.tropipay.me/api/v3/users/2fa \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"type": "totp",
"securityCode": "123456"
}'

Parámetros

ParámetroTipoRequeridoDescripción
enabledbooleanSi habilitar o deshabilitar el 2FA
typestringTipo de 2FA (totp, sms)
securityCodestringCódigo de verificación

Obtener secreto 2FA

Genera un nuevo secreto TOTP para configurar la autenticación de dos factores.

POST/users/2fa/secret
curl -X POST https://sandbox.tropipay.me/api/v3/users/2fa/secret \
-H "Authorization: Bearer sk_test_..."

Respuesta

{
"secret": "JBSWY3DPEHPK3PXP",
"qrCodeUrl": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}

Parámetros de la respuesta

ParámetroTipoDescripción
secretstringSecreto TOTP codificado en Base32
qrCodeUrlstringData URL del código QR para una configuración fácil

Cambiar contraseña

Cambia la contraseña de la cuenta de usuario.

POST/users/pass
curl -X POST https://sandbox.tropipay.me/api/v3/users/pass \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"oldPass": "password123",
"newPass": "newpassword456"
}'

Parámetros

ParámetroTipoRequeridoDescripción
oldPassstringContraseña actual
newPassstringNueva contraseña

Deshabilitar cuenta de usuario

Deshabilita la cuenta de usuario, impidiendo el acceso futuro.

POST/users/disable
curl -X POST https://sandbox.tropipay.me/api/v3/users/disable \
-H "Authorization: Bearer sk_test_..."

Respuesta

{
"success": true,
"message": "User account has been disabled"
}

Manejo de errores

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

  • El rango 2xx indica éxito
  • El rango 4xx indica un error producido por la información proporcionada
  • El rango 5xx indica un error en los servidores de TropiPay

Códigos de error comunes

CódigoDescripción
400Bad Request - Parámetros inválidos
401Unauthorized - Autenticación inválida
403Forbidden - Permisos insuficientes
404Not Found - El recurso no existe
429Too Many Requests - Límite de tasa excedido
500Internal Server Error