Skip to content

Cambiar Cuenta de Usuario

Endpoint que permite a un usuario cambiar entre diferentes cuentas empresariales a las que tiene acceso. Esta funcionalidad es esencial para usuarios que administran múltiples empresas con diferentes RUCs.

  • Método: PATCH
  • Endpoint: /api/v1/users/change-account
  • Autenticación: Requerida (Bearer Token)
  • Permisos: Usuario autenticado con acceso a la cuenta especificada
  • Tipo de contenido: application/json
Content-Type: application/json
Accept: application/json
Authorization: Bearer {token}
ParámetroTipoRequeridoDescripción
account_idintegerID de la cuenta empresarial a la que se desea cambiar
  • Account ID: Debe ser un ID válido de una cuenta a la que el usuario tiene acceso
  • Permisos: El usuario debe tener permisos para acceder a la cuenta especificada
  • Estado: La cuenta debe estar activa

Cuando un usuario administra múltiples empresas con diferentes RUCs y necesita cambiar el contexto de trabajo.

Para contadores o administradores que manejan la facturación de varias empresas desde una sola cuenta de usuario.

Para cambiar entre diferentes ambientes o configuraciones empresariales.

{
"account_id": 61247344
}
{
"message": "Cuenta cambiada exitosamente",
"status": "OK",
"payload": {
"account_id": 61247344,
"company_name": "Mi Empresa Principal S.A.",
"trade_name": "Empresa Principal",
"ruc": "1234567890001",
"role": "owner",
"permissions": [
"companies.manage",
"documents.create",
"documents.view",
"users.manage",
"reports.view"
],
"status": "active",
"changed_at": "2025-01-17T16:45:00Z"
}
}
{
"message": "El account_id no es válido para la empresa proporcionada.",
"status": "ERROR",
"payload": null,
"error": {
"account_id": [
"El account_id no es válido para la empresa proporcionada."
]
}
}
{
"message": "No tienes permisos para acceder a esta cuenta",
"status": "ERROR",
"payload": null
}
{
"message": "La cuenta especificada está inactiva",
"status": "ERROR",
"payload": null,
"error": {
"account_id": [
"La cuenta especificada está inactiva"
]
}
}
Terminal window
# Cambiar a otra cuenta empresarial
curl -X PATCH "https://dev-facturacion.e-dinky.test/api/v1/users/change-account" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"account_id": 61247344
}'
  • Validación de permisos: El sistema verifica que el usuario tenga acceso a la cuenta solicitada
  • Token válido: Requiere autenticación válida
  • Auditoría: Todos los cambios de cuenta se registran en logs
  • 🔄 Cambio de contexto: Actualiza automáticamente el contexto de la sesión
  • 🏢 Multi-empresa: Permite gestionar múltiples empresas desde una cuenta
  • 📊 Permisos dinámicos: Los permisos se actualizan según la nueva cuenta
  • ⚠️ Cuentas activas: Solo se puede cambiar a cuentas activas
  • ⚠️ Permisos requeridos: El usuario debe tener acceso previo a la cuenta
  • ⚠️ Sesión válida: Requiere token de autenticación válido
  1. Obtener cuentas disponibles usando el endpoint de consulta de cuentas
  2. Validar permisos antes de intentar el cambio
  3. Realizar el cambio usando este endpoint
  4. Actualizar contexto de la aplicación con los nuevos datos
  5. Redirigir o refrescar la interfaz según sea necesario
  • Account ID inválido: Verificar que el ID existe y es correcto
  • Sin permisos: El usuario no tiene acceso a esa cuenta
  • Cuenta inactiva: La cuenta está deshabilitada o suspendida
  • Token expirado: Renovar el token de autenticación

Este endpoint es especialmente útil para:

  • Selectores de empresa en la interfaz
  • Cambio rápido entre contextos empresariales
  • Gestión de múltiples RUCs desde una sola sesión
  • Aplicaciones multi-tenant