WSABMCuentas
Alta, baja y modificación masiva de cuentas/clientes. Procesa una colección de cuentas con validación de productos y coberturas.
Target route
POST /apidev/legacy/WSABMCuentas
Status
New implementation required — La lógica existe repartida en módulos de cuentas y clientes de GeoTareas. Falta el adapter de compatibilidad que soporte el contrato masivo del legado.
Authentication
{
"WSAutorizacion": {
"Guid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"Usuario": "usuario@empresa.com",
"Password": "contraseña"
}
}
Request body
El endpoint recibe una colección de cuentas. Cada cuenta tiene un flag Operacion que indica si es alta, modificación o baja.
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
WSAutorizacion | object | Sí | Credenciales de autenticación legacy |
Cuentas | array | Sí | Lista de cuentas a procesar |
Cuentas[].Operacion | string | Sí | "ALTA", "MODIFICACION" o "BAJA" |
Cuentas[].IdExterno | string | Condicional | ID externo (requerido para MODIFICACION y BAJA) |
Cuentas[].Nombre | string | Condicional | Nombre completo (requerido para ALTA) |
Cuentas[].Apellido | string | No | Apellido |
Cuentas[].Documento | string | No | Número de documento |
Cuentas[].Telefono | string | No | Teléfono de contacto |
Cuentas[].Email | string | No | Email de contacto |
Cuentas[].Direccion | string | No | Dirección |
Cuentas[].Latitud | number | No | Latitud de la dirección |
Cuentas[].Longitud | number | No | Longitud de la dirección |
Cuentas[].Sexo | string | No | "M", "F" o "I" |
Cuentas[].Estado | string | No | Estado de la cuenta |
Cuentas[].Procedencia | string | No | Nombre o ID de procedencia |
Cuentas[].Producto | string | No | Nombre o ID del producto |
Cuentas[].Cobertura | string | No | Nombre o ID de cobertura |
Cuentas[].TipoVehiculo | string | No | Tipo de vehículo |
Cuentas[].Patente | string | No | Patente del vehículo |
Cuentas[].Marca | string | No | Marca del vehículo |
Cuentas[].Modelo | string | No | Modelo del vehículo |
CargarTodosTipoProducto | boolean | No | Si true, resuelve todos los productos disponibles |
{
"WSAutorizacion": { "Guid": "...", "Usuario": "...", "Password": "..." },
"Cuentas": [
{
"Operacion": "ALTA",
"IdExterno": "CLI-001",
"Nombre": "Juan",
"Apellido": "Pérez",
"Documento": "12345678",
"Telefono": "099123456",
"Email": "juan@email.com",
"Procedencia": "Servicios Sura",
"Producto": "Plan Premium",
"Cobertura": "Cobertura Total",
"Patente": "ABC 1234",
"Marca": "Toyota",
"Modelo": "Corolla"
}
]
}
Response body
| Campo | Tipo | Descripción |
|---|---|---|
Resultado | string | "OK" si todos los registros se procesaron |
Mensaje | string | Descripción del resultado global |
Procesados | integer | Cantidad de cuentas procesadas correctamente |
Errores | integer | Cantidad de cuentas con error |
Detalle | array | Detalle por cuenta |
Detalle[].IdExterno | string | ID externo de la cuenta |
Detalle[].Resultado | string | "OK" o "ERROR" |
Detalle[].Mensaje | string | Detalle del error si aplica |
Detalle[].IdInterno | string | ID interno asignado (solo en ALTA exitosa) |
{
"Resultado": "OK",
"Mensaje": "1 cuenta procesada",
"Procesados": 1,
"Errores": 0,
"Detalle": [
{
"IdExterno": "CLI-001",
"Resultado": "OK",
"Mensaje": "",
"IdInterno": "41224"
}
]
}
Backend services reutilizables
| Módulo | Ruta | Uso |
|---|---|---|
cuenta.service.ts | src/modules/geotareas/gestion/cuenta/ | Crear/modificar cuentas |
cliente.service.ts | src/modules/geotareas/gestion/cliente/ | Gestión de clientes |
import_despacho.cuentas.service.ts | src/modules/jobs/import_despacho/ | Lógica de importación masiva reutilizable |
Migration note
Implementar como adapter de compatibilidad, no reimplementar desde cero.
Puntos clave:
- La resolución de entidades por nombre (Procedencia, Producto, Cobertura) debe preservarse
- Las validaciones de combinaciones Procedencia+Producto+Cobertura son críticas
- El procesamiento debe ser transaccional por registro: si falla una cuenta, no debe afectar las demás
CargarTodosTipoProductoactiva una lógica adicional de resolución de productos
Related
- WSAltaServicio — puede crear cuentas como parte del flujo de alta de servicio
- Accounts API — API pública moderna equivalente